diff --git a/gradle.properties b/gradle.properties index 398380b..75b4592 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,6 +6,6 @@ minecraft_version=1.18 yarn_mappings=1.18+build.1 loader_version=0.14.8 # Mod Properties -mod_version=0.3-1.18 +mod_version=0.4-1.18 maven_group=me.melontini archives_base_name=recipe-book-is-pain diff --git a/src/main/java/me/melontini/recipebookispain/client/RecipeBookIsPainClient.java b/src/main/java/me/melontini/recipebookispain/client/RecipeBookIsPainClient.java index d897916..1a2f453 100644 --- a/src/main/java/me/melontini/recipebookispain/client/RecipeBookIsPainClient.java +++ b/src/main/java/me/melontini/recipebookispain/client/RecipeBookIsPainClient.java @@ -4,6 +4,7 @@ import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.recipebook.RecipeBookGroup; +import net.minecraft.item.ItemGroup; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -16,6 +17,11 @@ public class RecipeBookIsPainClient implements ClientModInitializer { public static final Logger LOGGER = LogManager.getLogger("RBIP"); public static Map ADDED_GROUPS = new HashMap<>(); + public static Map AAAAAAAA = new HashMap<>(); + + static { + RecipeBookGroup.values(); + } @Override public void onInitializeClient() { } diff --git a/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookGroupMixin.java b/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookGroupMixin.java index 80659fd..ed7600a 100644 --- a/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookGroupMixin.java +++ b/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookGroupMixin.java @@ -50,6 +50,7 @@ public class RecipeBookGroupMixin { if (group != ItemGroup.HOTBAR && group != ItemGroup.INVENTORY && group != ItemGroup.SEARCH) { var group1 = Accessor.newGroup("P_CRAFTING_" + group.getName().toUpperCase().replace(".", "_"), last.ordinal() + 1, new ItemStack(group.getIcon().getItem())); RecipeBookIsPainClient.ADDED_GROUPS.put("P_CRAFTING_" + group.getName().toUpperCase().replace(".", "_"), group1); + RecipeBookIsPainClient.AAAAAAAA.put("P_CRAFTING_" + group.getName().toUpperCase().replace(".", "_"), group); groups.add(group1); } } diff --git a/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookWidgetMixin.java b/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookWidgetMixin.java index 8e07f20..5a109a9 100644 --- a/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookWidgetMixin.java +++ b/src/main/java/me/melontini/recipebookispain/mixin/RecipeBookWidgetMixin.java @@ -1,5 +1,6 @@ package me.melontini.recipebookispain.mixin; +import me.melontini.recipebookispain.client.RecipeBookIsPainClient; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget; import net.minecraft.client.gui.screen.recipebook.RecipeGroupButtonWidget; @@ -7,6 +8,8 @@ import net.minecraft.client.gui.widget.ToggleButtonWidget; import net.minecraft.client.recipebook.ClientRecipeBook; import net.minecraft.client.recipebook.RecipeBookGroup; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.item.ItemGroup; +import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Pair; import org.apache.commons.compress.utils.Lists; @@ -70,7 +73,7 @@ public abstract class RecipeBookWidgetMixin { renderPageText(matrices); this.prevPageButton.render(matrices, mouseX, mouseY, delta); this.nextPageButton.render(matrices, mouseX, mouseY, delta); - updatePages(); + updatePages(mouseX, mouseY, matrices); } @Unique @@ -86,16 +89,21 @@ public abstract class RecipeBookWidgetMixin { } } - @Unique - private void updatePages() { + @Unique //mmm spaghettio + private void updatePages(int mouseX, int mouseY, MatrixStack stack) { for (Pair pair : groupTab) { RecipeGroupButtonWidget widget = pair.getRight(); if (pair.getLeft() == page) { RecipeBookGroup recipeBookGroup = widget.getCategory(); - if (recipeBookGroup == RecipeBookGroup.CRAFTING_SEARCH || recipeBookGroup == RecipeBookGroup.FURNACE_SEARCH) { + if (recipeBookGroup.toString().contains("SEARCH")) { widget.visible = true; + if (widget.isHovered()) client.currentScreen.renderTooltip(stack, ItemGroup.SEARCH.getDisplayName(), mouseX, mouseY); } else if (widget.hasKnownRecipes(recipeBook)) { widget.checkForNewRecipes(this.client); + if (RecipeBookIsPainClient.AAAAAAAA.get(recipeBookGroup.toString()) != null) { + Text text = RecipeBookIsPainClient.AAAAAAAA.get(recipeBookGroup.toString()).getDisplayName(); + if (text != null) if (widget.isHovered()) client.currentScreen.renderTooltip(stack, text, mouseX, mouseY); + } } } else { widget.visible = false;