diff --git a/core/src/main/java/cn/lunadeer/dominion/managers/ConfigManager.java b/core/src/main/java/cn/lunadeer/dominion/managers/ConfigManager.java index 2f967023..2fdff7a8 100644 --- a/core/src/main/java/cn/lunadeer/dominion/managers/ConfigManager.java +++ b/core/src/main/java/cn/lunadeer/dominion/managers/ConfigManager.java @@ -133,6 +133,7 @@ public void saveAll() { _file.set("Limit.OpByPass", _limit_op_bypass); _file.setInlineComments("Limit.OpByPass", List.of(Translation.Config_Comment_OpBypass.trans())); _file.set("Limit.WorldSettings", groupLimits.get("default").getWorldSettings()); + _file.setInlineComments("Limit.WorldSettings", List.of(Translation.Config_Comment_WorldSettings.trans())); _file.set("Teleport.Enable", _tp_enable); _file.set("Teleport.Delay", _tp_delay); diff --git a/core/src/main/java/cn/lunadeer/dominion/managers/GroupLimit.java b/core/src/main/java/cn/lunadeer/dominion/managers/GroupLimit.java index 6b9199af..9049450e 100644 --- a/core/src/main/java/cn/lunadeer/dominion/managers/GroupLimit.java +++ b/core/src/main/java/cn/lunadeer/dominion/managers/GroupLimit.java @@ -270,6 +270,7 @@ private void saveAll() { this.config.setInlineComments("Refund", List.of(Translation.Config_Comment_Refund.trans())); this.config.set("WorldSettings", getWorldSettings()); + this.config.setInlineComments("WorldSettings", List.of(Translation.Config_Comment_WorldSettings.trans())); try { this.config.save(this.file_path); diff --git a/core/src/main/java/cn/lunadeer/dominion/managers/Translation.java b/core/src/main/java/cn/lunadeer/dominion/managers/Translation.java index b5464ae3..7812a8b8 100644 --- a/core/src/main/java/cn/lunadeer/dominion/managers/Translation.java +++ b/core/src/main/java/cn/lunadeer/dominion/managers/Translation.java @@ -833,39 +833,21 @@ public class Translation extends Localization { public static i18n Config_Check_AutoCleanAfterDaysError; @i18nField(defaultValue = "工具名称设置错误,已重置为 ARROW") public static i18n Config_Check_ToolNameError; - @i18nField(defaultValue = "Limit.SizeX 尺寸不能小于 4,已重置为 128") - public static i18n Config_Check_LimitSizeXError; - @i18nField(defaultValue = "Limit.SizeY 尺寸不能小于 4,已重置为 64") - public static i18n Config_Check_LimitSizeYError; - @i18nField(defaultValue = "Limit.SizeZ 尺寸不能小于 4,已重置为 128") - public static i18n Config_Check_LimitSizeZError; - @i18nField(defaultValue = "Limit.MinY 不能大于或等于 Limit.MaxY,已重置为 -64 320") - public static i18n Config_Check_LimitMinYError; - @i18nField(defaultValue = "Economy.Refund 设置不合法,已重置为 0.85") - public static i18n Config_Check_RefundError; - @i18nField(defaultValue = "Economy.Price 设置不合法,已重置为 10.0") - public static i18n Config_Check_PriceError; - @i18nField(defaultValue = "启用 Limit.Vert 时 Limit.SizeY 不能小于 Limit.MaxY - Limit.MinY,已自动调整为 %d") - public static i18n Config_Check_LimitSizeYAutoAdjust; - @i18nField(defaultValue = "Limit.Amount 设置不合法,已重置为 10") - public static i18n Config_Check_AmountError; - @i18nField(defaultValue = "Limit.Depth 设置不合法,已重置为 3") - public static i18n Config_Check_DepthError; - @i18nField(defaultValue = "权限组 %s 的 MinY 不能大于等于 MaxY,已重置为 -64 和 320") + @i18nField(defaultValue = "%s 的 MinY 不能大于等于 MaxY,已重置为 -64 和 320") public static i18n Config_Check_GroupMinYError; - @i18nField(defaultValue = "权限组 %s 的 SizeX 设置过小,已重置为 128") + @i18nField(defaultValue = "%s 的 SizeX 设置过小,已重置为 128") public static i18n Config_Check_GroupSizeXError; - @i18nField(defaultValue = "权限组 %s 的 SizeY 设置过小,已重置为 64") + @i18nField(defaultValue = "%s 的 SizeY 设置过小,已重置为 64") public static i18n Config_Check_GroupSizeYError; - @i18nField(defaultValue = "权限组 %s 的 SizeZ 设置过小,已重置为 128") + @i18nField(defaultValue = "%s 的 SizeZ 设置过小,已重置为 128") public static i18n Config_Check_GroupSizeZError; - @i18nField(defaultValue = "权限组 %s 的 Amount 设置不合法,已重置为 10") + @i18nField(defaultValue = "%s 的 Amount 设置不合法,已重置为 10") public static i18n Config_Check_GroupAmountError; - @i18nField(defaultValue = "权限组 %s 的 Depth 设置不合法,已重置为 3") + @i18nField(defaultValue = "%s 的 Depth 设置不合法,已重置为 3") public static i18n Config_Check_GroupDepthError; - @i18nField(defaultValue = "权限组 %s 的 Price 设置不合法,已重置为 10.0") + @i18nField(defaultValue = "%s 的 Price 设置不合法,已重置为 10.0") public static i18n Config_Check_GroupPriceError; - @i18nField(defaultValue = "权限组 %s 的 Refund 设置不合法,已重置为 0.85") + @i18nField(defaultValue = "%s 的 Refund 设置不合法,已重置为 0.85") public static i18n Config_Check_GroupRefundError; @i18nField(defaultValue = "读取权限配置失败:%s") public static i18n Config_Check_LoadFlagError; @@ -906,6 +888,8 @@ public class Translation extends Localization { public static i18n Config_Comment_Vert; @i18nField(defaultValue = "是否允许OP无视领地限制") public static i18n Config_Comment_OpBypass; + @i18nField(defaultValue = "单独设置某个世界的圈地规则(如不设置则使用以上规则)") + public static i18n Config_Comment_WorldSettings; @i18nField(defaultValue = "传送延迟 秒") public static i18n Config_Comment_TpDelay; @i18nField(defaultValue = "传送冷却 秒") diff --git a/docs/zh-cn/operator/config.md b/docs/zh-cn/operator/config.md index 244ecae0..7a35d528 100644 --- a/docs/zh-cn/operator/config.md +++ b/docs/zh-cn/operator/config.md @@ -27,9 +27,18 @@ Limit: Amount: 10 # 最大领地数量-1表示不限制 Depth: 3 # 子领地深度0表示不开启-1表示不限制 Vert: false # 是否自动延伸到 MaxY 和 MinY - WorldBlackList: # 不允许圈地的世界列表 - - some_world OpByPass: true # 是否允许OP无视领地限制 + WorldSettings: + some_world_name: + MinY: -64 + MaxY: 320 + SizeX: 128 + SizeY: 64 + SizeZ: 128 + Amount: 10 + Depth: 3 + Vert: false + Allow: false Teleport: Enable: true @@ -102,13 +111,16 @@ Timer: false # 性能测试计时器 - SpawnProtection:出生点半径保护,此半径范围内普通玩家无法创建领地 - MinY:领地的最小Y坐标 - MaxY:领地的最大Y坐标 -- SizeX:X方向最大长度 -- SizeY:Y方向最大长度 -- SizeZ:Z方向最大长度 -- Amount:每个玩家拥有的最大领地数量 +- SizeX:X方向最大长度 1表示不限制 +- SizeY:Y方向最大长度 1表示不限制 +- SizeZ:Z方向最大长度 1表示不限制 +- Amount:每个玩家拥有的最大领地数量 1表示不限制 - Depth:子领地深度、0表示不允许子领地、 -1表示不限制 -- WorldBlackList:不允许创建领地的世界 - Vert:当设置为 `true` 时,玩家选择区域创建或者自动创建领地,会自动将Y向下向上延伸到MinY和MaxY。**同时也会根据 MinY 和 MaxY 的设置自动调整 SizeY 的配置保证数值逻辑一致。** +- WorldSettings:单独设置某个世界的圈地规则(如不设置则使用上述默认规则) + - Allow:是否允许在此世界圈地 + +> 您服务器世界的名称应该避免使用 `default` 这样的特殊单词,否则会导致不可预料的意外错误。 ### Teleport diff --git a/docs/zh-cn/operator/privilege.md b/docs/zh-cn/operator/privilege.md index 3f8567de..41de3e1d 100644 --- a/docs/zh-cn/operator/privilege.md +++ b/docs/zh-cn/operator/privilege.md @@ -11,7 +11,8 @@ 假设你现在想为赞助玩家提供优惠,打开 `plugins/Dominion/groups/sponsor.yml` 文件。修改里面的设置为你期望的数值,保存文件。 -假如你想再为 VIP 玩家提供更丰厚的优惠,你可以复制一份 `sponsor.yml` 重命名为 `vip.yml` ,然后编辑里面的数值。(这个文件的名称你可以自定义,但是请不要使用中文、特殊字符、空格等) +假如你想再为 VIP 玩家提供更丰厚的优惠,你可以复制一份 `sponsor.yml` 重命名为 `vip.yml` +,然后编辑里面的数值。(这个文件的名称你可以自定义,但是请不要使用中文、特殊字符、空格等) ## 加载配置 @@ -27,3 +28,9 @@ 最后保存 LuckPerms 配置,即可生效。 +## 注意事项 + +`groups` 中的 `WorldSettings` 与 `config.yml` 中的是独立的。 +例如:你不希望任何玩家在下届顶层圈地(包括 `sponsor`),你已经在 `config.yml` 中设置了下届的 `MinY` 和 `MaxY`。 +如果你不在 `sponsor.yml` 中进行同样的设置的话,那么 `sponsor` 玩家就不会收到这个限制。 +