From 2c01a982162b72661beeaf9261f3dff9eadd0b9d Mon Sep 17 00:00:00 2001 From: altrisi Date: Sun, 22 Oct 2023 15:12:28 +0200 Subject: [PATCH] Remove `fillLimit` rule and its migration code It has been replaced by the `commandModificationBlockLimit` gamerule --- src/main/java/carpet/CarpetServer.java | 12 ------ src/main/java/carpet/CarpetSettings.java | 37 ------------------- .../java/carpet/script/external/Vanilla.java | 2 +- 3 files changed, 1 insertion(+), 50 deletions(-) diff --git a/src/main/java/carpet/CarpetServer.java b/src/main/java/carpet/CarpetServer.java index 98638989..f63a6cfe 100644 --- a/src/main/java/carpet/CarpetServer.java +++ b/src/main/java/carpet/CarpetServer.java @@ -25,8 +25,6 @@ import carpet.network.ServerNetworkHandler; import carpet.helpers.HopperCounter; import carpet.logging.LoggerRegistry; import carpet.script.CarpetScriptServer; -import carpet.api.settings.CarpetRule; -import carpet.api.settings.InvalidRuleValueException; import carpet.api.settings.SettingsManager; import carpet.logging.HUDController; import carpet.script.external.Carpet; @@ -104,16 +102,6 @@ public class CarpetServer // static for now - easier to handle all around the co extensions.forEach(e -> e.onServerLoadedWorlds(minecraftServer)); // initialize scarpet rules after all extensions are loaded forEachManager(SettingsManager::initializeScarpetRules); - // run fillLimit rule migration now that gamerules are available - @SuppressWarnings("unchecked") - CarpetRule fillLimit = (CarpetRule) settingsManager.getCarpetRule("fillLimit"); - try - { - fillLimit.set(minecraftServer.createCommandSourceStack(), fillLimit.value()); - } catch (InvalidRuleValueException e) - { - throw new AssertionError(); - } scriptServer.initializeForWorld(); } diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index 758e40ee..8ade1858 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -625,43 +625,6 @@ public class CarpetSettings ) public static int railPowerLimit = 9; - private static class FillLimitMigrator extends Validator - { - @Override - public Integer validate(CommandSourceStack source, CarpetRule changingRule, Integer newValue, String userInput) - { - if (source != null && source.getServer().overworld() != null) - { - GameRules.IntegerValue gamerule = source.getServer().getGameRules().getRule(GameRules.RULE_COMMAND_MODIFICATION_BLOCK_LIMIT); - if (gamerule.get() != newValue) - { - if (newValue == 32768 && changingRule.value() == newValue) // migration call, gamerule is different, update rule - { - Messenger.m(source, "g Syncing fillLimit rule with gamerule"); - newValue = gamerule.get(); - } else if (newValue != 32768 && gamerule.get() == 32768) - { - Messenger.m(source, "g Migrated value of fillLimit carpet rule to commandModificationBlockLimit gamerule"); - gamerule.set(newValue, source.getServer()); - } - } - } - return newValue; - } - @Override - public String description() { return "The value of this rule will be migrated to the gamerule";} - } - - @Rule( - desc = "[Deprecated] Customizable fill/fillbiome/clone volume limit", - extra = "Use vanilla gamerule instead. This setting will be removed in 1.20.0", - options = {"32768", "250000", "1000000"}, - category = CREATIVE, - strict = false, - validate = FillLimitMigrator.class - ) - public static int fillLimit = 32768; - private static class ForceloadLimitValidator extends Validator { @Override diff --git a/src/main/java/carpet/script/external/Vanilla.java b/src/main/java/carpet/script/external/Vanilla.java index c055a2e8..4bdc32d7 100644 --- a/src/main/java/carpet/script/external/Vanilla.java +++ b/src/main/java/carpet/script/external/Vanilla.java @@ -346,7 +346,7 @@ public class Vanilla public static int MinecraftServer_getFillLimit(MinecraftServer server) { - return Math.max(server.getGameRules().getInt(GameRules.RULE_COMMAND_MODIFICATION_BLOCK_LIMIT), CarpetSettings.fillLimit); + return server.getGameRules().getInt(GameRules.RULE_COMMAND_MODIFICATION_BLOCK_LIMIT); } public static int PoiRecord_getFreeTickets(PoiRecord record)