diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index c6cb9f4d..63acd0e1 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -353,6 +353,16 @@ public class CarpetSettings ) public static int fillLimit = 32768; + + @Rule( + desc = "Customizable forceload chunk limit", + options = {"256"}, + category = CREATIVE, + strict = false, + validate = FillLimitLimits.class + ) + public static int forceloadLimit = 256; + @Rule( desc = "Customizable maximal entity collision limits, 0 for no limits", options = {"0", "1", "20"}, diff --git a/src/main/java/carpet/mixins/ForceLoadCommand_forceLoadLimitMixin.java b/src/main/java/carpet/mixins/ForceLoadCommand_forceLoadLimitMixin.java new file mode 100644 index 00000000..57e2afdc --- /dev/null +++ b/src/main/java/carpet/mixins/ForceLoadCommand_forceLoadLimitMixin.java @@ -0,0 +1,23 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import net.minecraft.server.command.ForceLoadCommand; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(ForceLoadCommand.class) +public class ForceLoadCommand_forceLoadLimitMixin +{ + @ModifyConstant(method = "executeChange", constant = @Constant(longValue = 256L)) + private static long forceloadLimit(long original) + { + return CarpetSettings.forceloadLimit; + } + + @ModifyConstant(method = "executeChange", constant = @Constant(intValue = 256)) + private static int forceloadLimitError(int original) + { + return CarpetSettings.forceloadLimit; + } +} diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 53dbbe21..cad267bf 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -9,6 +9,7 @@ "FillCommandMixin", "CloneCommandMixin", "SetBlockCommandMixin", + "ForceLoadCommand_forceLoadLimitMixin", "World_fillUpdatesMixin", "WorldChunk_fillUpdatesMixin", "StructureBlockBlockEntity_fillUpdatesMixin",