ClaimMod

ClaimMod

这是一个受《防毁党》启发的领地认领Mod,使用认领工具来认领区域!

游戏机制

ClaimMod — 高级领地声明与防破坏管理

ClaimMod 是一款服务端 Fabric 模组,旨在为玩家和服务端管理员提供对领地保护和防破坏的完全控制。它完全运行在服务端,对纯原版客户端无缝兼容,同时提供一个轻量级的配套数据包 API,为运行兼容客户端配置的玩家解锁高级、自动的客户端边界渲染功能。

该模组采用模块化、高性能的空间索引引擎,具有精确到刻的累积计算、独立的信任矩阵以及广泛的逐世界权限覆盖,专为处理高负载服务端环境而设计,无需重启即可进行零配置更改。

📧 联系方式与支持

💬 主要支持渠道(推荐)

所有常规问题、功能请求和非紧急的 Bug 报告,请发布在我们的 Discord 服务器的相应频道中。 我们会积极监控并及时回复,以便整个社区受益。

🆘 紧急私信政策

在特定的紧急情况下,你才能直接私信我:

  • 允许的原因: 你的服务器因该模组正在崩溃或遇到关键性、破坏游戏的错误。
  • 要求: 你必须是服务器所有者。
  • 时区: (CET/CEST) — 布鲁塞尔时间
  • 私信时间: 仅限布鲁塞尔时间 上午 10:00 – 晚上 10:00

不保证立即回复。私信是一种专业礼仪,并非权利。感谢你的理解!


🛠️ 性能架构

与那些遍历大型数组或遭受 tick 漂移问题的旧式保护模组不同,ClaimMod 从头开始为现代服务器性能而构建:

  • O(1) 空间索引:领地使用区块哈希空间网格(worldKey → chunkKey → Set<Claim>)进行清晰索引。无论你的世界中有多少个领地,边界检查和交互查询都能瞬间完成。
  • 实时累积处理:领地积分的生成检查使用真实的墙钟毫秒时间(System.currentTimeMillis()),而非标准的服务器 tick 计数。即使在服务器因实体负载过高而丢 TPS 时,玩家也能以完全稳定的速率获得积分。

🔑 独立信任等级

ClaimMod 摒弃了标准的累积信任层级。授予一个等级并不自动授予其下任何等级的权限,从而允许进行精细的玩家授权:

等级 角色能力
所有者 (OWNER) 完全的建筑/破坏权限、容器权限、标志管理、领地的删除及所有权转让。
共同所有者 (CO_OWNER) 除不能强制删除领地或转移主要所有权外,与所有者权限相同。
信任 (TRUSTED) 完全的建筑和方块破坏权限,以及所有标准的方块/容器交互权限。
标志 (FLAGS) 仅允许查看和切换领地标志;不能建造、破坏或查看容器内部。
容器 (CONTAINER) 严格限制为仅能使用容器(箱子、熔炉等)。
访客 (TRAVELER) 严格限制为仅能使用机械通道(标准门、活板门和栅栏门)。

🏳️ 广泛的标志控制

使用我们专用的标志注册系统,可以全局、按世界或在单个玩家/管理区域内动态自定义规则:

标志名称 默认值 管理内容
block_break false 允许非信任玩家在领地边界内挖掘方块。
block_place false 允许非信任玩家在领地边界内放置方块。
block_interact false 允许非信任玩家与门、按钮、拉杆和方块交互。
container_access false 允许非信任玩家打开箱子、熔炉和标准容器。
pvp false 决定边界内完全非信任参与者之间的战斗结果。
friendly_fire true 决定已被明确信任的玩家是否能在区域内互相攻击。
animal_killing false 控制非信任实体能否屠杀被动家畜动物。
mob_killing true 允许玩家清理不需要的敌对或中立怪物。
protect_nametagged true 覆盖通用的屠杀权限,以保护带有自定义命名牌标签的实体。
tnt_explosion false 保护地形方块不被激活的 TNT 爆炸破坏。
creeper_explosion true 切换苦力怕爆炸对环境的破坏。
other_explosion true 限制来自其他爆炸源(如床或重生锚)对方块的影响。
explosion_player_damage true 控制爆炸冲击波是否对玩家造成生命值伤害。
fire_spread true 允许自然火焰蔓延并寻找新的可燃表面。
fire_damage true 决定燃烧的方块是否会被完全烧毁并消失。
mob_spawning true 决定结构性怪物的生成模式,包括幻翼。
animal_spawning true 管理跨区块的自然被动动物生成序列。
item_pickup true 阻止或允许非信任玩家拾取地面物品。
vehicle_use false 切换可交互的载具(如船、矿车和马)。
vehicle_destroy false 禁止非信任玩家破坏载具(如船或矿车)。
portal_use false 限制在领地内使用传送门(下界/末地)切换维度。
piston_protection false 阻止外部活塞机械将方块结构推过边界。
fluid_protection false 阻止来自外部(如熔岩和水源)的液体越境流动。
command_use true 当设为 false 时,强制执行配置中定义的限制性命令黑名单。
allow_flight false 进入时立即授予飞行能力,离开时撤销。
passthrough true 禁止空中侵入者在飞行时绕过物理边界。
protect_crops true 抑制将耕地变回普通泥土的作用力。
sethome false 阻止非信任访问者在你的领地内绑定传送点。

👁️ 边界可视化矩阵

原版客户端?配套客户端?没问题。ClaimMod 为所有人安全地处理可视化向量:

  • 假方块数据包(原版友好):右键点击物品时,通过 ClientboundBlockUpdatePacket 数组,区域边界网格会平滑地显示出来。表面会自动本地映射,而不会修改实际的游戏文件。
  • 自适应动态调色板:边缘颜色配置会根据玩家的空间上下文清晰变化:
    • 所有者 / 共同所有者:鲜艳的金块,配以海晶灯角标。
    • 信任 / 标志访问:深色青金石块,由海晶灯照亮。
    • 陌生人 / 访客:实心铁块,配以蘑菇灯指示。
  • 配套模组自动同步:装备选择工具会立即触发我们的网络桥接,在玩家越过领地边界之前,平滑更新客户端的渲染器。

🛑 强化利用防护

  • 活塞红石防护:当启用 piston_protection 时,任何试图将材料移入你领地区域的外部飞行器、横扫方块或故障机制都将被完全阻挡在边界处。
  • 流体位移遏制:防止破坏者在你的领地外倾倒大量熔岩瀑布或水渠来淹没你的建筑。
  • 反传送踢出利用:当管理员或领地所有者使用 /claim kick 将侵入者踢出领地时,该玩家的最后位置会被安全记录。这可以防止他们立即使用 /back 或 /dback 等命令路径返回目标地点。

⚙️ 配置文件中心

所有参数都整齐地放置在 config/claimmod/ 目录下。运行 /claim reload 可立即将格式更改推送至活动内存中:

目标路径 功能内容
config.yml 设置默认标志、最小/最大布局尺寸限制、物品工具注册节点和结构设置。
message_formatting.yml 本地化布局,包含所有系统字符串,完全支持 & 传统颜色转换参数。
worlds/ 存放精细粒度的逐世界配置锁和命令执行黑名单的目标目录。

命令

命令 操作定义 基础权限节点
/claim 显示主菜单界面。 所有人可用
/claim list [player] 列出拥有的领地。管理员可以查看其他玩家的资料。 claimmod.claim.list
/claim info 评估结构属性、边界尺寸和当前信任状态。 claimmod.claim.info
/claim nearby 在追踪范围内高亮显示周围的边界。 claimmod.claim.nearby
/claim rename <name> 更新该领地的显示名称。 claimmod.claim.rename
/claim trust <player> [tier] 将目标玩家参数映射到指定的信任矩阵等级。 claimmod.trust.full
/claim untrust <player> 完全从该领地的所有信任列表中移除目标。 claimmod.trust.untrust
/claim trustlist 遍历追踪节点以显示当前的领地访问规则。 claimmod.trust.list
/claim flag [flag] [val] 直接在领地内切换标志状态。 claimmod.flag.<flag>
/claim flaginfo [dim] 调出全局世界标志指标或本地领地标志详情。 claimmod.flag.view
/claim owner <player> 开始两步的所有权转移流程。 claimmod.claim.owner
/claim abandon [id/name] 将领地归还给大自然。 claimmod.claim.abandon
/claim abandonall 触发双重确认逻辑以删除所有个人领地。 claimmod.claim.abandon
/claim balance [player] 检查活跃的领地积分经济指标。 claimmod.claim.balance
/claim kick <player> 将不受欢迎的实体安全地驱逐出你的领地边界。 claimmod.claim.kick
/claim bypass 切换管理员绕过覆盖配置。 claimmod.admin.bypass
/claim priority <n> 修改重叠管理区域的覆盖优先级。 claimmod.admin.setpriority
/claim force <p> [r] 强制在玩家坐标周围构建一个保护区域。 claimmod.admin.forceclaim
/claim tp <target> 立即连接并将管理员传送到指定的领地。 claimmod.admin.teleport
/claim blocks give/take 以管理身份从玩家余额池中授予或扣除经济积分。 claimmod.admin.blocks.give / take
/claim blocks reset 将追踪记录重置回配置文件的初始基线。 claimmod.admin.blocks.reset
/claim reload 从磁盘拉取结构数据更新并直接加载到内存。 claimmod.admin.reload

权限

点击展开所有权限节点

👤 领地修改器

节点 功能权限
claimmod.claim.create 允许使用标准工具分配创建领地。
claimmod.claim.resize 授予调整领地边界的调整权限。
claimmod.claim.info 授予查询空间领地属性的权限。
claimmod.claim.list 授予查看拥有的活跃领地的权限。
claimmod.claim.nearby 允许检查周围领地的可视化信息。
claimmod.claim.rename 授予修改领地名称的权限。
claimmod.claim.abandon 允许放弃领地和区域。
claimmod.claim.owner 授予转移领地所有权的权限。
claimmod.claim.balance 允许检查自己的领地积分余额。
claimmod.claim.kick 允许对侵入者使用 /claim kick。

🤝 信任管理

节点 功能权限
claimmod.trust.coowner 允许将玩家提升至共同所有者信任等级。
claimmod.trust.full 授予信任玩家拥有标准建造等级权限的权限。
claimmod.trust.flags 授予分配标志操作员信任等级的权限。
claimmod.trust.containers 允许信任玩家拥有容器访问权限。
claimmod.trust.traveler 允许授予访客门路导航权限。
claimmod.trust.untrust 允许从你的领地中取消信任玩家。
claimmod.trust.list 允许查看领地的访问列表。

🛠️ 管理操作

节点 功能权限
claimmod.admin 主管理权限;授予所有子节点。
claimmod.admin.bypass 立即绕过结构性的领地限制。
claimmod.admin.delete 允许管理员根据 UUID 删除任何领地。
claimmod.admin.inspect 允许跨世界检查任何地方的领地。
claimmod.admin.flag 允许修改其他玩家拥有的领地。
claimmod.admin.teleport 允许管理员使用传送追踪键。
claimmod.admin.reload 允许从终端命令重新加载系统配置。
claimmod.admin.blocks.give 以管理身份增加目标的领地积分总量。
claimmod.admin.blocks.take 以管理身份减少目标的领地积分总量。
claimmod.admin.blocks.reset 重置服务器环境中所有玩家的余额池。
claimmod.admin.balance 允许查看其他玩家余额的权限节点。
claimmod.admin.list 授予列出其他玩家领地的权限。
claimmod.admin.worldflags 允许编辑默认的全局世界覆盖配置。
claimmod.admin.setpriority 更新管理领地上的覆盖排序权重变量。
claimmod.admin.forceclaim 授予使用管理强制声领系统的权限。
claimmod.admin.adminclaim 授予创建服务器管理区域 (Server Admin zones) 的权限。

模组包政策

  • ✅ 你可以在任何模组包中包含 ClaimMod。
  • ❌ 该模组包不得用于出售。