From 27fc0b8b98e1c3959529eb1a81c6b87027353af5 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Tue, 31 Dec 2024 20:41:29 +0100 Subject: [PATCH] Revert "Merge branch 'master' into extend_subset_widget" This reverts commit cf83b39b8432cdf7424ba4a5d99ae29eb66e4362, reversing changes made to 946f1b3e53d2f52285bd0f66ec0eafe2dfc94009. --- .../java/codechicken/nei/NEIClientConfig.java | 20 ++++++----- .../codechicken/nei/recipe/StackInfo.java | 20 +++++------ .../codechicken/nei/util/ItemStackKey.java | 33 ------------------- 3 files changed, 19 insertions(+), 54 deletions(-) delete mode 100644 src/main/java/codechicken/nei/util/ItemStackKey.java diff --git a/src/main/java/codechicken/nei/NEIClientConfig.java b/src/main/java/codechicken/nei/NEIClientConfig.java index 40bc82325..65a0d05f4 100644 --- a/src/main/java/codechicken/nei/NEIClientConfig.java +++ b/src/main/java/codechicken/nei/NEIClientConfig.java @@ -709,21 +709,22 @@ public static OptionList getOptionList() { public static void loadWorld(String worldPath) { unloadWorld(); - setInternalEnabled(true); + NEIClientConfig.worldPath = worldPath; - if (!worldPath.equals(NEIClientConfig.worldPath)) { - NEIClientConfig.worldPath = worldPath; + setInternalEnabled(true); + logger.debug("Loading " + (Minecraft.getMinecraft().isSingleplayer() ? "Local" : "Remote") + " World"); - logger.debug("Loading " + (Minecraft.getMinecraft().isSingleplayer() ? "Local" : "Remote") + " World"); + final File specificDir = new File(CommonUtils.getMinecraftDir(), "saves/NEI/" + worldPath); + final boolean newWorld = !specificDir.exists(); - final File specificDir = new File(CommonUtils.getMinecraftDir(), "saves/NEI/" + worldPath); - final boolean newWorld = !specificDir.exists(); + if (newWorld) { + specificDir.mkdirs(); + } world = new ConfigSet(new File(specificDir, "NEI.dat"), new ConfigFile(new File(specificDir, "NEI.cfg"))); bootNEI(ClientUtils.getWorld()); onWorldLoad(newWorld); - ItemPanels.bookmarkPanel.load(); - } + } public static String getWorldPath() { return NEIClientConfig.worldPath; @@ -823,8 +824,9 @@ public void run() { }); RecipeCatalysts.loadCatalystInfo(); - CollapsibleItems.load(); + ItemPanels.bookmarkPanel.load(); SubsetWidget.loadHidden(); + CollapsibleItems.load(); ItemSorter.loadConfig(); // Set pluginNEIConfigLoaded here before posting the NEIConfigsLoadedEvent. This used to be the diff --git a/src/main/java/codechicken/nei/recipe/StackInfo.java b/src/main/java/codechicken/nei/recipe/StackInfo.java index 612be8ec5..26587ab8a 100644 --- a/src/main/java/codechicken/nei/recipe/StackInfo.java +++ b/src/main/java/codechicken/nei/recipe/StackInfo.java @@ -10,7 +10,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidContainerItem; @@ -19,21 +18,19 @@ import codechicken.nei.api.IStackStringifyHandler; import codechicken.nei.recipe.stackinfo.DefaultStackStringifyHandler; import codechicken.nei.recipe.stackinfo.GTFluidStackStringifyHandler; -import codechicken.nei.util.ItemStackKey; public class StackInfo { - private static final FluidStack NULL_FLUID = new FluidStack(FluidRegistry.WATER, 0); public static final ArrayList stackStringifyHandlers = new ArrayList<>(); private static final HashMap> guidfilters = new HashMap<>(); private static final ItemStackMap guidcache = new ItemStackMap<>(); - private static final LinkedHashMap fluidcache = new LinkedHashMap<>() { + private static final LinkedHashMap fluidcache = new LinkedHashMap<>() { private static final long serialVersionUID = 1042213947848622164L; @Override - protected boolean removeEldestEntry(Map.Entry eldest) { - return size() > 200; + protected boolean removeEldestEntry(Map.Entry eldest) { + return size() > 20; } }; @@ -95,20 +92,19 @@ public static boolean equalItemAndNBT(ItemStack stackA, ItemStack stackB, boolea return true; } - public static synchronized FluidStack getFluid(ItemStack stack) { - ItemStackKey key = new ItemStackKey(stack); - FluidStack fluid = fluidcache.get(key); + public static FluidStack getFluid(ItemStack stack) { + FluidStack fluid = fluidcache.get(stack); - if (fluid == null) { + if (fluid == null && !fluidcache.containsKey(stack)) { for (int i = stackStringifyHandlers.size() - 1; i >= 0 && fluid == null; i--) { fluid = stackStringifyHandlers.get(i).getFluid(stack); } - fluidcache.put(key, fluid == null ? NULL_FLUID : fluid); + fluidcache.put(stack, fluid); } - return fluid == NULL_FLUID ? null : fluid; + return fluid; } public static boolean isFluidContainer(ItemStack stack) { diff --git a/src/main/java/codechicken/nei/util/ItemStackKey.java b/src/main/java/codechicken/nei/util/ItemStackKey.java deleted file mode 100644 index e695aefd4..000000000 --- a/src/main/java/codechicken/nei/util/ItemStackKey.java +++ /dev/null @@ -1,33 +0,0 @@ -package codechicken.nei.util; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class ItemStackKey { - - public final ItemStack stack; - private int hashCode = 1; - - public ItemStackKey(ItemStack stack) { - this.stack = stack; - - if (this.stack != null) { - this.hashCode = 31 * this.hashCode + stack.stackSize; - this.hashCode = 31 * this.hashCode + Item.getIdFromItem(stack.getItem()); - this.hashCode = 31 * this.hashCode + stack.getItemDamage(); - this.hashCode = 31 * this.hashCode + (!stack.hasTagCompound() ? 0 : stack.getTagCompound().hashCode()); - } - } - - @Override - public int hashCode() { - return this.hashCode; - } - - @Override - public boolean equals(Object o) { - if (o == this) return true; - if (!(o instanceof ItemStackKey)) return false; - return ItemStack.areItemStacksEqual(this.stack, ((ItemStackKey) o).stack); - } -}