
区域管理器
用于管理和创建Hytale区域的系统
区域管理器插件
概述
Hytale 区域管理器是一款面向 Hytale 服务器的专业区域保护系统,具备统一的命令结构和高级权限系统。
主要特性
- 基于标志的权限系统:每个标志现在拥有专用的修改和绕过权限
- 精细的访问控制:为所有者、成员和管理员设置差异化权限
- 每个世界的全局区域:为每个世界提供全局保护配置
- 区域创建:统一的区域选择与创建系统
- 完整的保护体系:建造、破坏、交互、PvP、PvE
- 多世界支持:覆盖服务器所有世界
- 优先级系统:智能处理重叠区域
- 自动持久化:自动保存并附带 JSON 备份
- 线程安全操作:专为多玩家服务器设计
- 基于区块的索引:针对最优性能进行优化
- 增强的权限系统:基于角色的访问控制
命令
统一区域命令
/region pos1- 设置第一个选择点/region pos2- 设置第二个选择点/region deselect- 清除当前选择/region create <名称>- 从选择区域创建区域/region delete <名称>- 删除区域/region flag <区域> <标志> <值>- 设置区域标志/region info [名称]- 显示区域信息/region here- 显示当前位置的区域/region list- 列出当前世界中的所有区域/region priority <区域> <优先级>- 设置区域优先级/region memberflag <区域> <标志> <值>- 设置成员专属标志/region member <区域> <玩家> <操作> <角色>- 管理区域的所有者和成员(操作:add/remove/list | 角色:owner/member)/region membermode <区域> <模式>- 切换全局标志与成员专属标志(true = 全局,false = 专属)
区域标志
玩家标志
player.entry- 允许玩家进入区域(默认:true)player.pvp- 允许玩家对战(默认:true)player.pve- 允许玩家与实体对战(默认:true)player.chat- 允许玩家发送聊天消息(默认:true)player.craft- 允许在工作台制作(默认:true)
动作标志
action.build- 允许放置方块(默认:true)action.break- 允许破坏方块(默认:true)
交互标志
interact- 允许与方块进行一般交互(默认:true)interact.container- 允许访问容器(默认:true)interact.chest- 允许访问箱子(默认:true)interact.bench- 允许访问工作台和家具(默认:true)interact.door- 允许访问门(默认:true)interact.chair- 允许访问椅子和凳子(默认:true)interact.portal- 允许访问传送门和传送器(默认:true)
物品标志
item.drop- 允许丢弃物品(默认:true)item.pickup- 允许拾取物品(默认:true)
生物标志
mob.spawning- 允许自然生物生成(默认:true)mob.damage- 允许生物对玩家造成伤害(默认:true)
消息标志
message.greet.title- 进入区域时显示的主标题message.greet.subtitle- 进入时显示的副标题message.greet.actionbar- 进入时显示的动作条消息message.greet.chat- 进入时显示的聊天消息message.greet.notification- 进入时显示的通知message.farewell.title- 离开区域时显示的主标题message.farewell.subtitle- 离开时显示的副标题message.farewell.actionbar- 离开时显示的动作条消息message.farewell.chat- 离开时显示的聊天消息message.farewell.notification- 离开时显示的通知message.notification.icon- 通知图标(默认:"Weapon_Sword_Mithril")message.notification.duration- 通知持续时间,单位秒(默认:3)
管理标志
owners- 所有者 UUID 的逗号分隔列表members- 成员 UUID 的逗号分隔列表members-use-global-flags- 若为 true,成员使用全局标志;若为 false,成员拥有专属值(默认:true)owners-modify-flags- 允许所有者修改区域标志(默认:true)members-can-invite- 允许成员邀请其他玩家(默认:false)permission-group- 访问所需的权限组
区域管理器混入标志
要使这些标志正常工作,需要 区域管理器混入 和 Hyxin,因为基础游戏目前缺少必要的方法和事件。
player.keepInventory- 允许玩家死亡后保留物品栏player.command- 允许禁止在区域内执行命令player.command.allow- 允许的命令列表,用逗号分隔player.command.deny- 禁止的命令列表,用逗号分隔action.build.fluids- 允许阻止放置流体action.build.fluids.{流体ID}- 允许阻止放置指定流体
权限系统
标志专属权限
每个标志现在拥有两个专属权限:
修改权限:
razorplay.regionmanager.flags.modify.{键}- 示例:
razorplay.regionmanager.flags.modify.player.entry - 允许修改特定标志的值
- 示例:
绕过权限:
razorplay.regionmanager.flags.bypass.{键}- 示例:
razorplay.regionmanager.flags.bypass.player.entry - 允许忽略标志限制
- 示例:
访问角色
- 管理员:拥有
region.admin权限的玩家拥有完全控制权 - 所有者:可以管理自己的区域(取决于
owners-modify-flags设置) - 成员:基于区域配置的有限权限
命令权限
/region create- 需要先设置选择点/region delete- 需要管理员权限或区域所有权/region flag- 权限取决于标志类型和用户角色/region priority- 需要管理员权限或区域所有权/region member- 需要管理员、所有者或拥有邀请权限的成员身份/region memberflag- 需要管理员权限或拥有修改权限的所有者身份
事件保护系统
该插件包含以下保护系统:
- 方块:方块的破坏和放置
- 交互:访问箱子、门、家具等
- 战斗:PvP 和 PvE
- 物品:物品的丢弃和拾取
- 聊天:聊天消息
- 制作:工作台
- 过渡:进入和离开区域
安装
- 将插件 JAR 文件放入 Hytale 服务器的
mods文件夹 - 重启服务器
- 使用命令创建和管理区域
技术细节
- 针对 Hytale 的 ECS 架构构建
- 使用基于区块的空间索引
- 线程安全的单例模式
- 基于 GSON 的持久化
- 使用 AbstractPlayerCommand 统一命令结构
- 增强的权限验证系统
许可证
MIT 许可证
支持
如有问题或疑问,请联系开发者。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。