From a7e32ad9437b7198e70010d6e8449a56317bd410 Mon Sep 17 00:00:00 2001 From: DerCommander323 Date: Thu, 26 Jun 2025 22:16:58 +0200 Subject: [PATCH] Port changes to 1.21.5 (Still need to rewrite all Ingredient Mixins) --- .../modernfix/command/ModernFixCommands.java | 44 +--------------- .../ServerFunctionManagerMixin.java | 2 + .../SearchRegistryMixin.java | 2 + .../DynamicModelProvider.java | 4 +- .../resources/PackResourcesCacheEngine.java | 2 +- .../modernfix/searchtree/LazySearchTree.java | 2 + .../main/resources/modernfix.accesswidener | 51 ++++++++++++++----- .../AddReloadListenerEventWrapperMixin.java | 4 +- .../faster_ingredients/IngredientMixin.java | 12 +++-- .../IngredientItemValueMixin.java | 4 +- .../IngredientMixin.java | 2 + .../IngredientMixin.java | 2 + .../recipe/IngredientValueDeduplicator.java | 4 +- 13 files changed, 67 insertions(+), 68 deletions(-) diff --git a/common/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java b/common/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java index 1e6630c7..80afcbfb 100644 --- a/common/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java +++ b/common/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java @@ -3,58 +3,16 @@ package org.embeddedt.modernfix.command; import com.mojang.brigadier.CommandDispatcher; import net.minecraft.commands.CommandSourceStack; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.packs.resources.Resource; -import net.minecraft.server.packs.resources.ResourceManager; -import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.duck.IProfilingServerFunctionManager; -import org.embeddedt.modernfix.structure.CachingStructureManager; -import java.io.InputStream; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; + import static net.minecraft.commands.Commands.literal; public class ModernFixCommands { public static void register(CommandDispatcher dispatcher) { dispatcher.register(literal("modernfix") - .then(literal("upgradeStructures") - .requires(source -> source.hasPermission(3)) - .executes(context -> { - ServerLevel level = context.getSource().getLevel(); - if(level == null) { - context.getSource().sendFailure(Component.literal("Couldn't find server level")); - return 0; - } - - ResourceManager manager = level.getServer().resources.resourceManager(); - Map structures = manager.listResources("structures", p -> p.getPath().endsWith(".nbt")); - int upgradedNum = 0; - Pattern pathPattern = Pattern.compile("^structures/(.*)\\.nbt$"); - for(Map.Entry entry : structures.entrySet()) { - upgradedNum++; - ResourceLocation found = entry.getKey(); - Matcher matcher = pathPattern.matcher(found.getPath()); - if(!matcher.matches()) - continue; - ResourceLocation structureLocation = new ResourceLocation(found.getNamespace(), matcher.group(1)); - try(InputStream resource = entry.getValue().open()) { - CachingStructureManager.readStructureTag(structureLocation, level.getServer().getFixerUpper(), resource); - Component msg = Component.literal("checked " + structureLocation + " (" + upgradedNum + "/" + structures.size() + ")"); - context.getSource().sendSuccess(() -> msg, false); - } catch(Throwable e) { - ModernFix.LOGGER.error("Couldn't upgrade structure " + found, e); - context.getSource().sendFailure(Component.literal("error reading " + structureLocation + " (" + upgradedNum + "/" + structures.size() + ")")); - } - } - - context.getSource().sendSuccess(() -> Component.literal("All structures upgraded"), false); - - return 1; - })) .then(literal("mcfunctions").requires(source -> source.hasPermission(3)) .executes(context -> { ServerLevel level = context.getSource().getLevel(); diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java index 7173ad2e..c4e2231a 100644 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java +++ b/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.common.mixin.feature.mcfunction_profiling; +/* TODO: Remove or reimplement import com.google.common.base.Stopwatch; import com.llamalad7.mixinextras.sugar.Local; import com.llamalad7.mixinextras.sugar.Share; @@ -70,3 +71,4 @@ public class ServerFunctionManagerMixin implements IProfilingServerFunctionManag return sb.toString(); } } +*/ \ No newline at end of file diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java index b9ab980f..52b761b1 100644 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java +++ b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.common.mixin.perf.lazy_search_tree_registry; +/* TODO: Remove or reimplement import net.minecraft.client.searchtree.SearchRegistry; import org.embeddedt.modernfix.annotation.ClientOnlyMixin; import org.embeddedt.modernfix.searchtree.LazySearchTree; @@ -15,3 +16,4 @@ public class SearchRegistryMixin { return LazySearchTree.decorate(supplier); } } +*/ \ No newline at end of file diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java index 6f04cce7..5032e627 100644 --- a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java +++ b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java @@ -81,7 +81,7 @@ public class DynamicModelProvider { this.makeLoadingCache(this::loadClientItemProperties); private final LoadingCache> loadedItemModels = - this.makeLoadingCache(this::loadItemModel); + this.makeLoadingCache(this::loadItemModel); /* private final LoadingCache> loadedStandaloneModels = @@ -605,4 +605,4 @@ public class DynamicModelProvider { BlockStateModel.UnbakedRoot modifyBlockModelBeforeBake(BlockStateModel.UnbakedRoot model, BlockState state, ModelBaker baker); BlockStateModel modifyBlockModelAfterBake(BlockStateModel bakedModel, BlockStateModel.UnbakedRoot unbaked, BlockState state, ModelBaker baker); } -} +} \ No newline at end of file diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java b/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java index 5919c0bf..64319278 100644 --- a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java +++ b/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java @@ -75,7 +75,7 @@ public class PackResourcesCacheEngine { void outputResources(String namespace, Path baseNioPath, String path, PackResources.ResourceOutput output) { if (children.isEmpty()) { // This is a terminal node. - ResourceLocation location = new ResourceLocation(namespace, path); + ResourceLocation location = ResourceLocation.fromNamespaceAndPath(namespace, path); output.accept(location, () -> Files.newInputStream(baseNioPath.resolve(path))); } else { for (var entry : children.entrySet()) { diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java b/common/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java index af54daa8..ae6d7228 100644 --- a/common/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java +++ b/common/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.searchtree; +/* TODO: Remove or reimplement import com.google.common.base.Stopwatch; import net.minecraft.client.searchtree.RefreshableSearchTree; import net.minecraft.client.searchtree.SearchRegistry; @@ -58,3 +59,4 @@ public class LazySearchTree implements RefreshableSearchTree { return list -> new LazySearchTree<>(list, originalSupplier); } } +*/ diff --git a/common/src/main/resources/modernfix.accesswidener b/common/src/main/resources/modernfix.accesswidener index 6ec128cf..591de7d2 100644 --- a/common/src/main/resources/modernfix.accesswidener +++ b/common/src/main/resources/modernfix.accesswidener @@ -32,32 +32,57 @@ accessible field net/minecraft/client/renderer/texture/Stitcher$Holder width I accessible field net/minecraft/client/renderer/texture/Stitcher$Holder height I accessible field net/minecraft/network/syncher/EntityDataAccessor id I mutable field net/minecraft/network/syncher/EntityDataAccessor id I -accessible method net/minecraft/Util makeExecutor (Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; accessible field net/minecraft/server/level/ChunkMap updatingChunkMap Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap; accessible field net/minecraft/server/level/ChunkMap visibleChunkMap Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap; accessible field net/minecraft/server/level/ChunkMap pendingUnloads Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap; accessible method net/minecraft/resources/ResourceKey (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;)V accessible field net/minecraft/client/renderer/block/model/BlockModel GSON Lcom/google/gson/Gson; accessible class net/minecraft/server/level/ChunkMap$DistanceManager -accessible class net/minecraft/client/resources/model/ModelBakery$BakedCacheKey -accessible method net/minecraft/client/resources/model/ModelBakery$BakedCacheKey (Lnet/minecraft/resources/ResourceLocation;Lcom/mojang/math/Transformation;Z)V accessible class net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl -accessible method net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl (Lnet/minecraft/client/resources/model/ModelBakery;Lnet/minecraft/client/resources/model/ModelBakery$TextureGetter;Lnet/minecraft/client/resources/model/ModelResourceLocation;)V -accessible method net/minecraft/client/resources/model/ModelBakery getModel (Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/client/resources/model/UnbakedModel; +accessible class net/minecraft/client/resources/model/ModelManager$ReloadState +accessible method net/minecraft/client/resources/model/BlockStateModelLoader loadBlockStateDefinitionStack (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/world/level/block/state/StateDefinition;Ljava/util/List;)Lnet/minecraft/client/resources/model/BlockStateModelLoader$LoadedModels; +accessible class net/minecraft/client/resources/model/BlockStateModelLoader$LoadedBlockModelDefinition +accessible method net/minecraft/client/resources/model/BlockStateModelLoader$LoadedBlockModelDefinition (Ljava/lang/String;Lnet/minecraft/client/renderer/block/model/BlockModelDefinition;)V accessible class net/minecraft/world/level/chunk/PalettedContainer$Data accessible field net/minecraft/server/MinecraftServer resources Lnet/minecraft/server/MinecraftServer$ReloadableResources; accessible class net/minecraft/server/MinecraftServer$ReloadableResources accessible method net/minecraft/client/gui/screens/Screen addRenderableWidget (Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; accessible field net/minecraft/client/KeyMapping ALL Ljava/util/Map; -accessible field net/minecraft/client/renderer/block/model/multipart/MultiPart definition Lnet/minecraft/world/level/block/state/StateDefinition; -accessible field net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride model Lnet/minecraft/client/resources/model/BakedModel; -mutable field net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride model Lnet/minecraft/client/resources/model/BakedModel; -accessible field net/minecraft/client/renderer/entity/EnderDragonRenderer$DragonModel entity Lnet/minecraft/world/entity/boss/enderdragon/EnderDragon; accessible method net/minecraft/world/level/block/state/StateDefinition appendPropertyCodec (Lcom/mojang/serialization/MapCodec;Ljava/util/function/Supplier;Ljava/lang/String;Lnet/minecraft/world/level/block/state/properties/Property;)Lcom/mojang/serialization/MapCodec; accessible class net/minecraft/client/multiplayer/SessionSearchTrees$Key -accessible field net/minecraft/server/packs/resources/ProfiledReloadInstance$State preparationNanos Ljava/util/concurrent/atomic/AtomicLong; -accessible field net/minecraft/server/packs/resources/ProfiledReloadInstance$State reloadNanos Ljava/util/concurrent/atomic/AtomicLong; +accessible class net/minecraft/client/resources/model/ModelDiscovery$ModelWrapper +accessible method net/minecraft/client/resources/model/ModelDiscovery$ModelWrapper (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/client/resources/model/UnbakedModel;Z)V +accessible field net/minecraft/client/resources/model/ModelDiscovery$ModelWrapper parent Lnet/minecraft/client/resources/model/ModelDiscovery$ModelWrapper; +accessible method net/minecraft/client/resources/model/BlockStateDefinitions definitionLocationToBlockStateMapper ()Ljava/util/function/Function; -accessible class net/minecraft/world/item/crafting/Ingredient$Value -accessible class net/minecraft/world/item/crafting/Ingredient$ItemValue +accessible class net/minecraft/client/multiplayer/ClientChunkCache$Storage + +accessible class net/minecraft/client/renderer/RenderType$CompositeRenderType + +accessible class net/minecraft/world/level/levelgen/SurfaceRules$SequenceRule +accessible class net/minecraft/world/level/levelgen/SurfaceRules$SurfaceRule +accessible class net/minecraft/world/level/levelgen/DensityFunctions$Marker +accessible class net/minecraft/world/level/levelgen/DensityFunctions$Marker$Type +accessible class net/minecraft/world/level/levelgen/DensityFunctions$Mapped +accessible class net/minecraft/world/level/levelgen/DensityFunctions$Mapped$Type +accessible class net/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd +accessible class net/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd$Type + +accessible class net/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase$Cache +accessible class net/minecraft/server/level/ServerChunkCache$MainThreadExecutor +accessible class net/minecraft/client/renderer/block/model/BlockElementFace$Deserializer +accessible class net/minecraft/client/renderer/texture/Stitcher$Holder + +accessible class net/minecraft/server/level/ChunkMap$DistanceManager +accessible class net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl +accessible class net/minecraft/client/resources/model/ModelManager$ReloadState +accessible class net/minecraft/client/resources/model/BlockStateModelLoader$LoadedBlockModelDefinition +accessible class net/minecraft/world/level/chunk/PalettedContainer$Data +accessible class net/minecraft/server/MinecraftServer$ReloadableResources +accessible class net/minecraft/client/multiplayer/SessionSearchTrees$Key + +accessible class net/minecraft/client/resources/model/ModelDiscovery$ModelWrapper + +accessible field net/minecraft/server/packs/resources/ProfiledReloadInstance$State preparationNanos Ljava/util/concurrent/atomic/AtomicLong; +accessible field net/minecraft/server/packs/resources/ProfiledReloadInstance$State reloadNanos Ljava/util/concurrent/atomic/AtomicLong; \ No newline at end of file diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java index 79351f01..b49ac712 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java @@ -1,11 +1,11 @@ -package org.embeddedt.modernfix.forge.mixin.feature.measure_time; +package org.embeddedt.modernfix.neoforge.mixin.feature.measure_time; import net.minecraft.server.packs.resources.PreparableReloadListener; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(targets = "net/minecraftforge/event/AddReloadListenerEvent$WrappedStateAwareListener") +@Mixin(targets = "net/neoforged/bus/AddReloadListenerEvent$WrappedStateAwareListener") public abstract class AddReloadListenerEventWrapperMixin implements PreparableReloadListener { @Shadow @Final private PreparableReloadListener wrapped; diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/faster_ingredients/IngredientMixin.java b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/faster_ingredients/IngredientMixin.java index aa27c417..0408ab4c 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/faster_ingredients/IngredientMixin.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/faster_ingredients/IngredientMixin.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.neoforge.mixin.perf.faster_ingredients; +/* FIXME: Ingredient rework import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntComparators; import it.unimi.dsi.fastutil.ints.IntList; @@ -58,7 +59,7 @@ public abstract class IngredientMixin implements ExtendedIngredient { * registry would normally contain, rather than a modified version. *

* Note: this is a separate problem from the issue where clients may receive recipes before tags in 1.21. - */ + * private boolean mfix$areTagsAvailable() { return !MinecraftServerReloadTracker.isReloadActive(); } @@ -66,7 +67,7 @@ public abstract class IngredientMixin implements ExtendedIngredient { /** * @author embeddedt * @reason tag ingredients can be tested without iterating over all items - */ + * @Inject(method = "test(Lnet/minecraft/world/item/ItemStack;)Z", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/crafting/Ingredient;getItems()[Lnet/minecraft/world/item/ItemStack;"), cancellable = true) private void modernfix$fasterTagIngredientTest(ItemStack stack, CallbackInfoReturnable cir) { if (this.isVanilla() && this.values.length == 1 && this.values[0] instanceof Ingredient.TagValue tagValue && mfix$areTagsAvailable()) { @@ -77,7 +78,7 @@ public abstract class IngredientMixin implements ExtendedIngredient { /** * @author embeddedt * @reason exploding the stack list is unnecessary - */ + * @Inject(method = "hasNoItems", at = @At("HEAD"), cancellable = true, remap = false) public void hasNoItems(CallbackInfoReturnable cir) { if (this.isVanilla()) { @@ -116,7 +117,7 @@ public abstract class IngredientMixin implements ExtendedIngredient { * @author embeddedt * @reason tag ingredients can be converted to stacking IDs without expanding into stacks, since stacking only * goes by item ID - */ + * @Inject(method = "getStackingIds", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/crafting/Ingredient;getItems()[Lnet/minecraft/world/item/ItemStack;"), cancellable = true) private void modernfix$fasterTagIngredientStacking(CallbackInfoReturnable cir) { if (this.isVanilla() && this.values.length == 1 && this.values[0] instanceof Ingredient.TagValue tagValue && mfix$areTagsAvailable()) { @@ -135,7 +136,7 @@ public abstract class IngredientMixin implements ExtendedIngredient { * @author embeddedt * @reason Change caching of item stacks to use a soft reference, which allows the GC to evict the array under * memory pressure/when it hasn't been used. - */ + * @Overwrite public ItemStack[] getItems() { // For compatibility if mods explicitly force a set of item stacks to be used @@ -192,3 +193,4 @@ public abstract class IngredientMixin implements ExtendedIngredient { this.mfix$cachedItemStacks = null; } } +*/ \ No newline at end of file diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java index 34b6debf..18e71b5d 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.neoforge.mixin.perf.ingredient_item_deduplication; +/* FIXME: Ingredient rework import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -12,9 +13,10 @@ public class IngredientItemValueMixin { * @author embeddedt * @reason Defensively copy the item so that the deduplication is not visible to most mods (unless they introspect * the item held within this object directly). This is necessary since some mods edit the returned stack. - */ + / @ModifyExpressionValue(method = "getItems", at = @At(value = "FIELD", target = "Lnet/minecraft/world/item/crafting/Ingredient$ItemValue;item:Lnet/minecraft/world/item/ItemStack;")) private ItemStack mfix$defensiveCopy(ItemStack original) { return original.copy(); } } +*/ diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java index 3d8129bb..82ffd056 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.neoforge.mixin.perf.ingredient_item_deduplication; +/* FIXME: Ingredient rework import net.minecraft.world.item.crafting.Ingredient; import org.embeddedt.modernfix.neoforge.recipe.IngredientValueDeduplicator; import org.spongepowered.asm.mixin.Mixin; @@ -15,3 +16,4 @@ public class IngredientMixin { return stream.map(IngredientValueDeduplicator::deduplicate); } } +*/ \ No newline at end of file diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/smart_ingredient_sync/IngredientMixin.java b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/smart_ingredient_sync/IngredientMixin.java index 4952e075..2b7483fa 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/smart_ingredient_sync/IngredientMixin.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/mixin/perf/smart_ingredient_sync/IngredientMixin.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.neoforge.mixin.perf.smart_ingredient_sync; +/* FIXME: Ingredient rework import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.network.RegistryFriendlyByteBuf; @@ -52,3 +53,4 @@ public abstract class IngredientMixin { } } } +*/ diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/recipe/IngredientValueDeduplicator.java b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/recipe/IngredientValueDeduplicator.java index f5ac0a9b..29dcf381 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/recipe/IngredientValueDeduplicator.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/neoforge/recipe/IngredientValueDeduplicator.java @@ -1,5 +1,6 @@ package org.embeddedt.modernfix.neoforge.recipe; +/* FIXME: Ingredient rework import it.unimi.dsi.fastutil.Hash; import it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet; import net.minecraft.world.item.ItemStackLinkedSet; @@ -7,7 +8,7 @@ import net.minecraft.world.item.crafting.Ingredient; /** * @author embeddedt (original inspiration from Uncandango's AllTheLeaks mod) - */ + * public class IngredientValueDeduplicator { private static final ObjectOpenCustomHashSet VALUES = new ObjectOpenCustomHashSet<>(new Hash.Strategy<>() { @Override @@ -31,3 +32,4 @@ public class IngredientValueDeduplicator { } } } +*/ \ No newline at end of file