OrbisGuard | 区域管理

OrbisGuard | 区域管理

Hytale服务器区域保护插件。定义区域,设置标志(方块破坏、方块放置、使用),并控制谁可以在何处建造。基于Minecraft的WorldGuard。

实用

OrbisGuard

Discord Documentation

Hytale 的区域保护插件。 定义区域,设置规则,控制谁能做什么。

可以将其视为 Hytale 版本的 WorldGuard


特性

  • 方块保护 - 防止破坏、放置和锤子切换
  • 容器锁定 - 保护箱子、桶和存储容器
  • PvP 区域 - 按区域启用或禁用玩家战斗
  • 进入控制 - 限制谁能进入或离开区域
  • 自定义消息 - 欢迎标题和告别消息
  • 小地图集成 - 区域在世界地图上渲染并带有标签
  • 多边形区域 - 创建非矩形区域
  • LuckPerms 用户组 - 添加整个权限组作为成员 (g:vip)
  • 公共 API - 其他插件可以查询和修改区域

快速开始

/rg wand                     - 启用选择模式
左键: 设置 pos1              - 破坏方块来标记角落1
右键: 设置 pos2              - 放置方块来标记角落2
/rg define myregion          - 创建区域
/rg flag myregion build deny - 阻止建造
/rg addmember myregion Steve - 添加可以建造的成员

扩展保护 (Hyinit)

Hytale 的某些机制未通过插件 API 暴露。如果没有 Hyinit 和 OrbisGuard-Mixins,玩家可以使用以下方式绕过保护:

漏洞利用 会发生什么
自动拾取 物品自动飞入背包
F键收割 按 F 键收割作物/矿石
锤子切换 使用锤子更改方块变种
流体放置 使用桶放置水/熔岩
爆炸 TNT/炸弹破坏受保护的方块
命令绕过 使用 /home 逃脱区域

OrbisGuard 是唯一能阻止所有这些漏洞的保护插件。

搭配 Hyinit 进行设置:

Hytale/
├── earlyplugins/
│   └── OrbisGuard-Mixins-0.3.0.jar <- 扩展保护
└── mods/
    └── OrbisGuard-0.3.0.jar        <- 主插件

HytaleServer.jar 旁边放置 Hyinit-X.X.X.jar 来启动服务器;将 OrbisGuard-Mixins 保留在 earlyplugins/ 目录中。


所有命令

命令 描述
/rg wand 切换选择魔杖模式
/rg selmode cuboid|poly 在长方体和多边形选择之间切换
/rg define <名称> 从选择创建区域
/rg definepoly <名称> 创建多边形区域
/rg remove <名称> 删除一个区域
/rg flag <区域> <标志> <值> 设置一个标志
/rg addmember <区域> <玩家> 添加成员
/rg addowner <区域> <玩家> 添加所有者
/rg info [区域] 显示区域详情
/rg list 列出所有区域
/rg bypass 切换管理员绕过

在完整文档中查看全部 20+ 条命令 →


标志

保护

标志 默认值 描述
build deny 所有方块更改的总开关
block-break deny 破坏方块
block-place deny 放置方块
hammer deny 锤子切换 (需要 Hyinit)
explosions deny TNT/炸弹伤害 (需要 Hyinit)
chest-access deny 打开容器

战斗与移动

标志 默认值 描述
pvp allow 玩家对战
damage allow 所有伤害 (总开关)
fall-damage allow 仅跌落伤害
entry allow 进入区域
exit allow 离开区域

物品与交互

标志 默认值 描述
use allow 工作台、铁砧、工作桌、通用后备交互
door-access allow 门、栅栏门、活板门
light-access allow 营火、火把、灯笼、灯的开/关
seat allow 坐在长凳和椅子上
item-pickup allow F键拾取物品
item-pickup-auto allow 自动拾取 (需要 Hyinit)
item-drop allow 丢弃物品
crafting allow 使用合成站

消息与小地图

标志 描述
greet-title 进入时显示的标题
farewell-title 离开时显示标题
deny-message 动作被阻止时的自定义消息
blocked-cmds 要阻止的命令 (需要 Hyinit)
allowed-cmds 仅这些命令有效 (需要 Hyinit)
minimap-color 区域在世界地图上的颜色 (十六进制)
minimap-label 小地图上的文字标签

插件集成

  • LuckPerms - 添加权限组作为成员:/rg addmember spawn g:vip
  • SimpleClaims - 队伍领地与区域一起在世界地图上渲染
  • EasyClaims - 玩家领地与世界地图一起渲染

经过修补的 SimpleClaims 和 EasyClaims 版本可在我们的 Discord 上获取。这些版本可防止玩家声称与受保护区域重叠的区块。


面向开发者

OrbisGuard 有一个用于查询和修改区域的公共 API:

OrbisGuardAPI api = OrbisGuardAPI.getInstance();
IRegionManager manager = api.getRegionContainer().getRegionManager("world");

// 查询某位置上的区域
Set<IRegion> regions = manager.getRegionsAt(100, 64, 200);

// 创建一个区域
manager.createRegion("shop", BlockVector3.at(0, 0, 0), BlockVector3.at(100, 256, 100));

// 监听事件
api.getEventBus().register(RegionCreatedEvent.class, event -> {
    System.out.println("区域已创建: " + event.getRegion().getId());
});

完整的 API 文档 →


支持

有问题或遇到问题?加入 Discord 服务器 或联系 w1fl0w