ColdeZhang / Dominion

Dominion is a completely open-source, free, future-proof, territory anti-grief plugin developed specifically for high-versions minecraft server.
https://dominion.lunadeer.cn/
MIT License
12 stars 4 forks source link

新增对单独世界单独配置的功能 #10

Closed KaridaLee closed 1 month ago

KaridaLee commented 1 month ago

新功能是否和BUG有关?

新功能表述

希望增加一个对单独世界单独配置的功能 因为服务器限制了主世界大小,导致相对应对机器有效的地狱范围也缩小了很多,所以不希望玩家在地狱圈地圈到基岩上层以下,这样会导致玩家不能正常探索地狱和获取矿物

新功能实现方案

像group文件夹那样新开一个world文件夹,在其中可以像配置group一样配置世界

补充信息

ColdeZhang commented 1 month ago

具体而言需要配置什么?麻烦列出world中要配置的内容以及对应描述。

365KW commented 1 month ago

或许是分文件配置吧 分开几个config分别是几个世界的 例如limits栏和自动建造领地范围和tp文件 分开读取 主要就是多世界配置 比较复杂吧

KaridaLee commented 1 month ago

MinY: # 最小Y坐标 MaxY: # 最大Y坐标 SizeX: # X方向最大长度 SizeY: # Y方向最大长度 SizeZ: # Z方向最大长度 Vert: # 是否自动延伸到 MaxY 和 MinY 主要是以上关于区域大小限制的配置,但是这样做单独配置的话会不会和group组冲突或者group组需要重做?

具体而言需要配置什么?麻烦列出world中要配置的内容以及对应描述。

ColdeZhang commented 1 month ago

MinY: # 最小Y坐标 MaxY: # 最大Y坐标 SizeX: # X方向最大长度 SizeY: # Y方向最大长度 SizeZ: # Z方向最大长度 Vert: # 是否自动延伸到 MaxY 和 MinY 主要是以上关于区域大小限制的配置,但是这样做单独配置的话会不会和group组冲突或者group组需要重做?

具体而言需要配置什么?麻烦列出world中要配置的内容以及对应描述。

这个优先级肯定要比group的设置高吧? 相当于是级别最高的限制。

KaridaLee commented 1 month ago

MinY: # 最小Y坐标 MaxY: # 最大Y坐标 SizeX: # X方向最大长度 SizeY: # Y方向最大长度 SizeZ: # Z方向最大长度 Vert: # 是否自动延伸到 MaxY 和 MinY 主要是以上关于区域大小限制的配置,但是这样做单独配置的话会不会和group组冲突或者group组需要重做?

具体而言需要配置什么?麻烦列出world中要配置的内容以及对应描述。

这个优先级肯定要比group的设置高吧? 相当于是级别最高的限制。

应该是group的优先级更高一点吧,不然给了权限的玩家还要接受默认世界配置

ColdeZhang commented 1 month ago

感觉不管哪个优先级高都存在一定歧义,要不直接在现有的配置文件扩充:

在 config 和 groups 里的配置都增加这个字段:

WorldLimit:
  some_world_name:
    MinY: -64
    MaxY: 320
    SizeX: 128
    SizeY: 64
    SizeZ: 128
    Depth: 3
    Vert: false
    Allow: false

如果不配置则按照现有的 Limit 来(没特权的玩家就是 config 的 Limit,有特权的就按照对应 groups下的配置),配置了某个世界就按这部分来。

同时移除了原来的 Limit.WorldBlacklist,移动到 WorldLimit.对应世界名字.Allow 来控制禁止创建的世界。

365KW commented 1 month ago

感觉不管哪个优先级高都存在一定歧义,要不直接在现有的配置文件扩充:

在 config 和 groups 里的配置都增加这个字段:

WorldLimit:
  some_world_name:
    MinY: -64
    MaxY: 320
    SizeX: 128
    SizeY: 64
    SizeZ: 128
    Depth: 3
    Vert: false
    Allow: false

如果不配置则按照现有的 Limit 来(没特权的玩家就是 config 的 Limit,有特权的就按照对应 groups下的配置),配置了某个世界就按这部分来。

同时移除了原来的 ,移动到 来控制禁止创建的世界。Limit.WorldBlacklist``WorldLimit.对应世界名字.Allow

可以加个判断启用吗 这里的配置有点麻烦 并不是每个服务器都需要

KaridaLee commented 1 month ago

感觉不管哪个优先级高都存在一定歧义,要不直接在现有的配置文件扩充:

在 config 和 groups 里的配置都增加这个字段:

WorldLimit:
  some_world_name:
    MinY: -64
    MaxY: 320
    SizeX: 128
    SizeY: 64
    SizeZ: 128
    Depth: 3
    Vert: false
    Allow: false

如果不配置则按照现有的 Limit 来(没特权的玩家就是 config 的 Limit,有特权的就按照对应 groups下的配置),配置了某个世界就按这部分来。

同时移除了原来的 Limit.WorldBlacklist,移动到 WorldLimit.对应世界名字.Allow 来控制禁止创建的世界。

这样做是可以满足这条issue的需求,但就像楼上说的,没有这方面需求的玩家就要配置三个世界,可以把worldLimit配置加个开关,关闭的话就默认按旧版本的Limit,开启的话worldLimit配置就覆盖掉原先的Limit

ColdeZhang commented 1 month ago

这个默认会提供一个some_world_name世界配置作为模板,也就是你不手动配置的话这个功能相当于没有。

ColdeZhang commented 1 month ago

不手动配置的话就是直接使用Limit的配置 和之前一样

KaridaLee commented 1 month ago

感觉不管哪个优先级高都存在一定歧义,要不直接在现有的配置文件扩充:

在 config 和 groups 里的配置都增加这个字段:

WorldLimit:

some_world_name:

MinY: -64
MaxY: 320
SizeX: 128
SizeY: 64
SizeZ: 128
Depth: 3
Vert: false
Allow: false

如果不配置则按照现有的 Limit 来(没特权的玩家就是 config 的 Limit,有特权的就按照对应 groups下的配置),配置了某个世界就按这部分来。

同时移除了原来的 ,移动到 来控制禁止创建的世界。Limit.WorldBlacklistWorldLimit.对应世界名字.Allow ``

可以加个判断启用吗 这里的配置有点麻烦 并不是每个服务器都需要

这个默认会提供一个some_world_name世界配置作为模板,也就是你不手动配置的话这个功能相当于没有。

可能是我误会了之前的意思,如果是这样需要配置什么世界就配置什么世界的话就更好了,自定义性更强也更简单

ColdeZhang commented 1 month ago

对 这个相当于是“单独对某个世界作出额外配置”

ColdeZhang commented 1 month ago

理论已在 40d4ede3fce13202ae9a5621a07270e70d8a05e5 实现此功能,待进一步测试 以及文档完善