diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/parallel_potentially_unsafe/parallel_deferred_suppliers/DispenserBlockMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/parallel_potentially_unsafe/parallel_deferred_suppliers/DispenserBlockMixin.java new file mode 100644 index 00000000..459ad539 --- /dev/null +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/parallel_potentially_unsafe/parallel_deferred_suppliers/DispenserBlockMixin.java @@ -0,0 +1,24 @@ +package org.embeddedt.modernfix.mixin.perf.parallel_potentially_unsafe.parallel_deferred_suppliers; + +import net.minecraft.block.DispenserBlock; +import net.minecraft.dispenser.IDispenseItemBehavior; +import net.minecraft.item.Item; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@Mixin(DispenserBlock.class) +public class DispenserBlockMixin { + @Shadow private static Map DISPENSER_REGISTRY; + + @Inject(method = "", at = @At("TAIL")) + private static void makeMapConcurrent(CallbackInfo ci) { + DISPENSER_REGISTRY = new ConcurrentHashMap<>(); + } +} diff --git a/src/main/resources/modernfix.mixins.json b/src/main/resources/modernfix.mixins.json index 6a882462..d63cdc06 100644 --- a/src/main/resources/modernfix.mixins.json +++ b/src/main/resources/modernfix.mixins.json @@ -23,7 +23,8 @@ "perf.parallel_potentially_unsafe.parallel_deferred_suppliers.EventDispatcherMixin", "perf.parallel_potentially_unsafe.parallel_blockstate_cache_rebuild.BlocksMixin", "perf.parallel_potentially_unsafe.parallel_blockstate_cache_rebuild.BlockCallbacksMixin", - "perf.parallel_potentially_unsafe.parallel_blockstate_cache_rebuild.ShapeCacheMixin" + "perf.parallel_potentially_unsafe.parallel_blockstate_cache_rebuild.ShapeCacheMixin", + "perf.parallel_potentially_unsafe.parallel_deferred_suppliers.DispenserBlockMixin" ], "client": [ "perf.skip_first_datapack_reload.MinecraftMixin",