From 72e3a115d660c82f58a4e3d37b180c2fd25f5ca2 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Thu, 3 Aug 2023 13:07:34 -0400 Subject: [PATCH] Move item filling quirk to correct vanilla location on 1.19+ --- .../perf/blast_search_trees/MinecraftMixin.java | 16 ---------------- .../modernfix/searchtree/DummySearchTree.java | 12 +++++++++++- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java index 252754f2..02443ba0 100644 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java +++ b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java @@ -3,11 +3,6 @@ package org.embeddedt.modernfix.common.mixin.perf.blast_search_trees; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; import net.minecraft.client.searchtree.SearchRegistry; -import net.minecraft.core.NonNullList; -import net.minecraft.core.Registry; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.annotation.ClientOnlyMixin; import org.embeddedt.modernfix.searchtree.DummySearchTree; @@ -32,7 +27,6 @@ public class MinecraftMixin { if(provider == null) return; ModernFix.LOGGER.info("Replacing search trees with '{}' provider", provider.getName()); - mfix$runItemFillingQuirk(); this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, list -> provider.getSearchTree(false)); this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, list -> provider.getSearchTree(true)); this.searchRegistry.register(SearchRegistry.RECIPE_COLLECTIONS, list -> new DummySearchTree<>()); @@ -46,14 +40,4 @@ public class MinecraftMixin { GLFW.glfwSetErrorCallback(oldCb); ci.cancel(); } - - private void mfix$runItemFillingQuirk() { - // quirk: call fillItemCategory on all items in the registry in case they do classloading inside it - // see https://github.com/Shadows-of-Fire/GatewaysToEternity/issues/29 for an example of this - NonNullList stacks = NonNullList.create(); - for(Item item : Registry.ITEM) { - stacks.clear(); - item.fillItemCategory(CreativeModeTab.TAB_SEARCH, stacks); - } - } } diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java b/common/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java index a430faaf..0dd6bf3a 100644 --- a/common/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java +++ b/common/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java @@ -1,6 +1,10 @@ package org.embeddedt.modernfix.searchtree; import net.minecraft.client.searchtree.RefreshableSearchTree; +import net.minecraft.core.NonNullList; +import net.minecraft.core.Registry; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import java.util.Collections; @@ -16,7 +20,13 @@ public class DummySearchTree implements RefreshableSearchTree { @Override public void refresh() { - + // quirk: call fillItemCategory on all items in the registry in case they do classloading inside it + // see https://github.com/Shadows-of-Fire/GatewaysToEternity/issues/29 for an example of this + NonNullList stacks = NonNullList.create(); + for(Item item : Registry.ITEM) { + stacks.clear(); + item.fillItemCategory(CreativeModeTab.TAB_SEARCH, stacks); + } } @Override