
区域
现代区域管理插件/模组
Zones
该插件允许服务器管理员和玩家在其 Minecraft 世界中创建和管理受保护区域。它提供了一套灵活的系统,用于定义区域、设置权限以及控制这些区域内的交互。
特性
- 区域创建: 使用游戏内选择或手动坐标创建区域。
- 子区域: 在现有区域中创建子区域以实现更细粒度的控制。
- 权限管理: 为区域内的玩家设置详细权限,控制破坏、放置、交互等操作。
- 成员管理: 以特定权限向区域添加或移除成员。
- 区域重叠控制: 配置区域是否可以重叠。
- 绕过权限: 允许特定玩家绕过区域限制。
- 配置: 通过配置文件自定义消息和区域设置。
- 信标可视化: 使用临时信标可视化选定的区域。
命令
该插件提供以下命令:
/zone create:使用当前选定的位置创建一个新区域。- 用法:
/zone create - 需要使用左键和右键选择两个位置,如果尚未选择则开始选择。
- 如果新区域会与现有区域重叠,则阻止创建,除非设置了
zones.create.overlap权限。
- 用法:
/zone subcreate:使用当前选定的位置在现有区域中创建一个新的子区域。- 用法:
/zone subcreate [regionKey] regionKey是可选的,如果未提供,则使用玩家所在位置的区域。- 需要使用左键和右键选择两个位置,如果尚未选择则开始选择。
- 玩家需要被视为该区域的管理员,或拥有
zones.subcreate.other权限
- 用法:
/zone delete:删除现有区域。- 用法:
/zone delete <regionKey> - 需要要删除区域的
regionKey。 - 玩家需要是该区域的所有者,或拥有
zones.delete.other权限
- 用法:
/zone expand:将现有区域扩展指定量。- 用法:
/zone expand <regionKey> <amount> [overlap] - 玩家需要是该区域的管理员,或拥有
zones.expand.other权限 - 如果
overlap设置为true且玩家拥有zones.expand.overlap权限, - 即使该区域与其他区域重叠,也会扩展该区域。
- 用法:
/zone info:显示区域的信息。- 用法:
/zone info [regionKey] - 如果未提供
regionKey,则使用玩家所在位置的区域。 - 要显示区域成员,玩家需要是该区域的管理员,或拥有
zones.info.other权限
- 用法:
/zone list:列出玩家作为成员加入的所有区域。- 用法:
/zone list - 仅显示玩家作为成员加入的区域,除非玩家拥有
zones.list.other权限
- 用法:
/zone cancel:取消当前区域选择。- 用法:
/zone cancel
- 用法:
/zone set:为区域成员设置权限。- 用法:
/zone set <regionKey> <who> <permission> <value> <regionKey>是区域的键。<who>要为谁设置权限。- 例如,
Player1- 要创建或修改组,请使用+group-GROUPNAME,其中 GROUPNAME 可以是任意名称。
- 例如,
<permission>是要设置的权限(例如role、break、place、interact)。<value>是要为权限设置的值(- 例如,
owner、true、false、*、!*、GRASS_BLOCK、!GRASS_BLOCK)。
- 例如,
- 用法:
/zone rename:重命名区域。- 用法:
/zone rename <regionKey> <newName> <regionKey>是区域的键,<newName>是区域的新名称。- 玩家需要是该区域的管理员,或拥有
zones.rename.other权限
- 用法:
/zone select:选择一个区域。- 用法:
/zone select [regionKey] - 如果未提供
regionKey,则使用玩家所在位置的区域。 - 使用粒子在世界中视觉高亮该区域。
- 玩家需要是该区域的成员,或拥有
zones.select.other权限
- 用法:
/zone mode:更改选择模式。- 用法:
/zone mode <mode> <mode>是要为玩家设置的新模式。- 例如,
3d表示 3D 选择模式,2d表示 2D 选择模式。
- 例如,
- 用法:
/zone save:手动将所有区域保存到文件。- 用法:
/zone save - 仅限管理员,需要
zones.save权限(默认不授予)
- 用法:
/zone load:手动从文件加载所有区域。- 用法:
/zone load - 仅限管理员,需要
zones.load权限(默认不授予)
- 用法:
/zone import:从另一个插件导入区域。- 用法:
/zone import <pluginName> - 目前仅支持 WorldGuard。
- 仅限管理员,需要
zones.import权限(默认不授予)
- 用法:
用法
创建区域
- 使用
/zone create命令开始创建流程。 - 左键点击一个方块以设置区域的第一个角。会出现一个绿色信标。
- 右键点击一个方块以设置区域的第二个角。会出现一个红色信标。
- 使用
/zone create命令创建区域。
创建子区域
- 使用
/zone subcreate命令开始创建流程。 - 按上述方法选择子区域的两个角。
- 使用
/zone subcreate命令在你所在的区域内创建子区域,或 使用/zone subcreate <regionKey>在指定区域内创建子区域。
设置权限
- 使用
/zone set <regionKey> <player> <permission> <value>命令为区域成员设置权限。
- 示例:
/zone set <key> Player1 break true允许 "Player1" 在指定区域内破坏方块。 - 示例:
/zone set <key> Player2 break GRASS_BLOCK允许 "Player2" 在指定区域内仅破坏GRASS_BLOCK方块。 - 示例:
/zone set <key> Player3 interact !OAK_DOOR拒绝 "Player3" 在指定区域内与OAK_DOOR交互。 - 示例:
/zone set <key> Player4 place *允许 "Player4" 在指定区域内放置所有方块。 - 示例:
/zone set <key> Player5 break !*拒绝 "Player5" 在指定区域内破坏所有方块。 - 组:
- 要分配组,请将权限
group的值设置为组名。 - 例如:创建组并分配权限:
/zone set <regionKey> +group-some-group-name break true - 例如
/zone set <regionKey> ExamplePlayer group some-group-name - ExamplePlayer 现在从组
some-group-name继承权限break
- 要分配组,请将权限
查看区域信息
- 使用
/zone info命令查看你所在区域的信息。 - 使用
/zone info <regionKey>命令查看特定区域的信息。
集成
WorldGuard
Zones 支持通过 /zone import WorldGuard 命令导入 WorldGuard 区域。要使用此功能,
你必须安装并启用 WorldGuard。Zones 将自动导入所有 Cuboid 区域,包括其成员。
WorldEdit
只有在执行玩家被允许手动修改区域时,才能使用 WorldEdit 修改区域中的方块。
PlaceholderAPI
Zones 提供多个占位符以配合 PlaceholderAPI 插件使用,显示玩家所在区域的信息。它目前支持以下占位符:
%zones_get_name%%zones_get_key%%zones_get_members%%zones_get_owner%%zones_get_min%%zones_get_min_x%%zones_get_min_y%%zones_get_min_z%%zones_get_max%%zones_get_max_x%%zones_get_max_y%%zones_get_max_z%%zones_is_member%%zones_can_place_hand%%zones_can_break_target%%zones_can_<action>_<type>%
设计选择
- YAML 配置: 该插件使用 YAML 文件进行配置和存储,使其易于阅读和修改。 未来版本计划提供额外的存储选项。
- 权限系统: 权限系统设计灵活且细致,允许对玩家交互进行细粒度控制。
- 事件驱动: 该插件使用 Bukkit 的事件系统来处理玩家交互,使其高效且响应迅速。
- 缓存: 该插件使用缓存系统来提高检查权限时的性能。
贡献
欢迎为该插件做贡献!如果你对新功能、bug 修复或改进有任何想法,请随时提交拉取请求或打开 issue。
许可证
该插件在 MIT 许可证下分发。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。