From 7281708df6e31276bd4643b8a2c7f81aaf5c3e59 Mon Sep 17 00:00:00 2001 From: LexManos Date: Tue, 27 Jun 2017 16:28:08 -0700 Subject: [PATCH] Repopulate client SearchTreeManager when registries are refreshed. Closes #4094 --- .../java/net/minecraftforge/common/ForgeModContainer.java | 1 + .../net/minecraftforge/fml/client/FMLClientHandler.java | 6 ++++++ .../net/minecraftforge/fml/common/FMLCommonHandler.java | 4 ++++ .../net/minecraftforge/fml/common/IFMLSidedHandler.java | 2 ++ src/main/resources/forge_at.cfg | 3 +++ 5 files changed, 16 insertions(+) diff --git a/src/main/java/net/minecraftforge/common/ForgeModContainer.java b/src/main/java/net/minecraftforge/common/ForgeModContainer.java index ae2721ee9a..fbd5ab0de7 100644 --- a/src/main/java/net/minecraftforge/common/ForgeModContainer.java +++ b/src/main/java/net/minecraftforge/common/ForgeModContainer.java @@ -520,6 +520,7 @@ public class ForgeModContainer extends DummyModContainer implements WorldAccessC OreDictionary.rebakeMap(); StatList.reinit(); Ingredient.invalidateAll(); + FMLCommonHandler.instance().reloadSearchTrees(); } diff --git a/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java b/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java index fb9d9c0d4a..a49075024f 100644 --- a/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java +++ b/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java @@ -1108,4 +1108,10 @@ public class FMLClientHandler implements IFMLSidedHandler { RecipeBookClient.rebuildTable(); } + + @Override + public void reloadSearchTrees() + { + this.client.populateSearchTreeManager(); + } } diff --git a/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java b/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java index a331901ff5..8d1d83938d 100644 --- a/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java +++ b/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java @@ -774,4 +774,8 @@ public class FMLCommonHandler public void resetClientRecipeBook() { this.sidedDelegate.resetClientRecipeBook(); } + + public void reloadSearchTrees() { + this.sidedDelegate.reloadSearchTrees(); + } } diff --git a/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java b/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java index fa31c65fb9..7487226f4b 100644 --- a/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java +++ b/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java @@ -86,4 +86,6 @@ public interface IFMLSidedHandler boolean isDisplayVSyncForced(); default void resetClientRecipeBook(){} + + default void reloadSearchTrees(){} } diff --git a/src/main/resources/forge_at.cfg b/src/main/resources/forge_at.cfg index 86b5a4ccf0..163586351f 100644 --- a/src/main/resources/forge_at.cfg +++ b/src/main/resources/forge_at.cfg @@ -320,5 +320,8 @@ public net.minecraft.util.ResourceLocation func_177516_a(Ljava/lang/String;)[Lja # Ingredient protected net.minecraft.item.crafting.Ingredient ([Lnet/minecraft/item/ItemStack;)V # Ingredient +# Crafting +public net.minecraft.client.Minecraft func_193986_ar()V # populateSearchTreeManager + # Advancements public net.minecraft.advancements.AdvancementManager field_192783_b # GSON \ No newline at end of file