diff --git a/fabric/src/main/java/com/copycatsplus/copycats/fabric/mixin/compat/moreculling/MoreCullingConfigMixin.java b/fabric/src/main/java/com/copycatsplus/copycats/fabric/mixin/compat/moreculling/MoreCullingConfigMixin.java new file mode 100644 index 000000000..36dc6d40e --- /dev/null +++ b/fabric/src/main/java/com/copycatsplus/copycats/fabric/mixin/compat/moreculling/MoreCullingConfigMixin.java @@ -0,0 +1,30 @@ +package com.copycatsplus.copycats.fabric.mixin.compat.moreculling; + +import com.copycatsplus.copycats.Copycats; +import it.unimi.dsi.fastutil.objects.Object2BooleanOpenHashMap; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Pseudo; +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; + +/** + * Disable MoreCulling for copycat blocks to avoid overzealous culling. + */ +@Mixin(targets = {"ca.fxco.moreculling.config.MoreCullingConfig"}) +@Pseudo +public class MoreCullingConfigMixin { + + @Shadow + public Object2BooleanOpenHashMap modCompatibility; + + @Inject( + method = "", + at = @At("RETURN"), + require = 0 + ) + private void onInit(CallbackInfo ci) { + modCompatibility.put(Copycats.MODID, false); + } +} diff --git a/fabric/src/main/resources/copycats-fabric.mixins.json b/fabric/src/main/resources/copycats-fabric.mixins.json index ee9021871..ba691fabc 100644 --- a/fabric/src/main/resources/copycats-fabric.mixins.json +++ b/fabric/src/main/resources/copycats-fabric.mixins.json @@ -7,6 +7,7 @@ "mixins": [ "HolderReferenceMixin", "compat.indium.GeometryHelperMixin", + "compat.moreculling.MoreCullingConfigMixin", "compat.registrate.CreateRegistrateMixin", "foundation.copycat.CopycatBlockEntityMixin$BlockEntityWithoutAttachmentData", "foundation.copycat.CopycatBlockEntityMixin$FluidPipeData",