ArcadiaGuard

ArcadiaGuard

独立的区域保护模组,包含游戏内GUI、魔棒工具、60多个可配置标志、3D区域渲染以及第三方模组集成。

ArcadiaGuard

NeoForge 1.21.1 独立区域保护模组 — 通过游戏内 GUI、木棒选择工具、60 多个可配置标志和 3D 区域边界渲染,定义受保护区域。


特性

完整的游戏内 GUI

所有操作均通过 GUI 管理,日常使用无需命令:

  • 区域列表 — 包含维度筛选、搜索、分页和实时预览的表格视图
  • 区域详情 — 配置标志、管理成员、编辑坐标、查看审计日志
  • 标志选择器 — 添加/移除标志,支持搜索、切换布尔值、编辑整数/列表值
  • 维度编辑器 — 为每个维度设置默认标志
  • 区域创建 — 包含实时统计(表面积、体积、区块数)的表单

木棒选择工具

  • 编辑模式:左键 = 角 A,右键 = 角 B
  • 查看模式:被动显示区域边界的 3D 线框渲染
  • 在经验条上方 HUD 显示已选位置

60 多个保护标志

精细控制:

  • 方块交互(破坏、放置、交互、容器)
  • PvP、实体伤害、生物生成
  • 法术和魔法能力(按模组区分)
  • 物品使用(栓绳、刷怪蛋、书、动态阻止)
  • 流体/火焰/爆炸传播
  • 还有更多 — 可通过公共 API 扩展

子区域与继承

  • 在父区域内创建子区域
  • 标志自动从父区域继承到子区域
  • 维度级默认标志
  • 冲突解决:优先级 > 体积 > 名称

模组兼容性

每个集成均独立且可切换:

模组 被阻止的内容
Iron's Spells 'n Spellbooks 施法
Ars Nouveau 法术、传送卷轴传送、传送门
Simply Swords 特殊武器能力
Occultism 仪式和魔法
Supplementaries 投掷物品
Apotheosis 隧道挖掘、启明附魔
Better Archeology 隧道挖掘附魔

所有模组均为可选— 无论安装哪些模组,ArcadiaGuard 均可正常工作。

动态物品阻止

通过命令在受保护区域内实时阻止任何物品,无需重启:

/arcadiaguard item block <item>
/arcadiaguard item unblock <item>

审计日志

每次被阻止的操作都会记录玩家名称、操作类型、区域和位置。每日日志轮换,可配置保留时长。

LuckPerms 集成

区域角色(MEMBER、MODERATOR、OWNER)可通过 LuckPerms 权限节点分配 — 无需游戏内白名单管理。

公共 API

第三方模组可以注册自定义标志并查询区域权限:

ArcadiaGuardAPI.get().registerFlag(
    new BooleanFlag("mymod:teleport", true, "允许传送"));

ZoneCheckResult result = ArcadiaGuardAPI.get()
    .checkFlag(player, pos, MY_FLAG);

完整 API 指南:docs/api-guide.md

数据包扩展性

物品列表由可覆盖的标签驱动,无需重新编译:

  • arcadiaguard:banned_leads
  • arcadiaguard:banned_spawn_eggs
  • arcadiaguard:spawn_banned_books

安装

  1. 从文件选项卡下载 .jar 文件
  2. 放入 mods/ 文件夹(服务端和客户端都需要)
  3. 启动服务端以生成配置
  4. 给自己木棒:/give @s arcadiaguard:zone_editor
  5. 选择两个角点,打开 GUI 创建你的第一个区域

要求: NeoForge 1.21.1(任意 21.1.x 版本)— Java 21


命令

大部分操作可直接通过 GUI 完成。命令仍可用于自动化和控制台使用。

/arcadiaguard gui
/arcadiaguard zone add <name> <x1> <y1> <z1> <x2> <y2> <z2>
/arcadiaguard zone remove <name>
/arcadiaguard flag set <zone> <flag> <value>
/arcadiaguard flag list
/arcadiaguard item block <item>
/arcadiaguard reload
/arcadiaguard debug

链接