diff --git a/bclib.gradle b/bclib.gradle index 042875ca6..9b4ff9c8f 100644 --- a/bclib.gradle +++ b/bclib.gradle @@ -37,6 +37,9 @@ dependencies { modCompileOnly "dev.emi:emi:${emi_version}" //modImplementation "dev.emi:emi:${emi_version}" + + modImplementation "net.darkhax.tips:Tips-Fabric-${project.tips_version}" + modRuntimeOnly "net.darkhax.bookshelf:Bookshelf-Fabric-${project.bookshelf_version}" } processResources { diff --git a/gradle.properties b/gradle.properties index ab6b1ebac..fb28cf39a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,4 +13,6 @@ maven_group=org.betterx.bclib archives_base_name=bclib # Dependencies modmenu_version=4.0.5 -emi_version=0.3.0+1.19 \ No newline at end of file +emi_version=0.3.0+1.19 +tips_version=1.19.2:8.0.15 +bookshelf_version=1.19.2:16.1.5 \ No newline at end of file diff --git a/src/main/java/org/betterx/bclib/client/BCLibClient.java b/src/main/java/org/betterx/bclib/client/BCLibClient.java index 26f4bae0f..07cca1fe6 100644 --- a/src/main/java/org/betterx/bclib/client/BCLibClient.java +++ b/src/main/java/org/betterx/bclib/client/BCLibClient.java @@ -3,8 +3,11 @@ import org.betterx.bclib.api.v2.ModIntegrationAPI; import org.betterx.bclib.api.v2.PostInitAPI; import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI; +import org.betterx.bclib.client.gui.screens.ProgressScreen; import org.betterx.bclib.client.models.CustomModelBakery; import org.betterx.bclib.config.Configs; +import org.betterx.bclib.integration.tips.Tips; +import org.betterx.bclib.integration.tips.TipsIntegration; import org.betterx.bclib.registry.BaseBlockEntityRenders; import org.betterx.bclib.registry.PresetsRegistryClient; import org.betterx.worlds.together.WorldsTogether; @@ -24,6 +27,9 @@ public class BCLibClient implements ClientModInitializer, ModelResourceProvider, @Override public void onInitializeClient() { + Tips.addTipsScreen(ProgressScreen.class); + ModIntegrationAPI.register(new TipsIntegration()); + WorldsTogetherClient.onInitializeClient(); ModIntegrationAPI.registerAll(); BaseBlockEntityRenders.register(); diff --git a/src/main/java/org/betterx/bclib/integration/tips/Tips.java b/src/main/java/org/betterx/bclib/integration/tips/Tips.java new file mode 100644 index 000000000..393012908 --- /dev/null +++ b/src/main/java/org/betterx/bclib/integration/tips/Tips.java @@ -0,0 +1,24 @@ +package org.betterx.bclib.integration.tips; + +import net.minecraft.client.gui.screens.Screen; + +import java.util.HashSet; +import java.util.Set; + +/** + * Integration, to provide a custom Screen class for Tips. + *
+ * This integration allows you to use Tips without adding a dependency to your project. If the + * Mod is installed on the Client. + *
+ * You can add a custom screen from your mod by calling {@link #addTipsScreen(Class)}. + *
+ * Your custom screen should be a loading-like screen with space in the bottom left for tips.
+ */
+public class Tips {
+ static final Set