
Kyv Claims
一款适用于Hytale服务器的完整领地保护插件。玩家可使用坐标声明并保护区域,具备图形用户界面、每区域权限设置、附带5格缓冲区的防破坏保护、多语言支持(英文/葡萄牙文),以及用于插件集成的公共API。

KyvClaims - 领地保护系统
一个用于 Hytale 服务器的完整领地保护插件,允许玩家通过图形界面和每个区域的精细权限来声明(Claim)并保护自己的领地。每个领地独立控制建造、方块移除和桶的使用权限。
功能特性
核心保护
- 声明系统:使用坐标(GUI 或命令)定义矩形区域
- 双界面:使用图形界面或传统命令
- 信任玩家:添加朋友在你的领地内共同建造
- 缓冲区:领地周围自动保护,防止恶意破坏
- 三重桶保护:防止水/岩浆破坏的高级系统
权限与控制
- 精细权限:14 个独立权限,支持通配符
- 领地级控制:每个区域有独立的访问设置
- 管理员工具:对所有领地的完全管理控制
视觉反馈
- 客户端可视化:仅对客户端显示边界
- 黄色:新声明的有效区域
- 蓝色:查看已有的已声明区域
- 粉色:与已有声明区域冲突

额外功能
- 全域制作:工作台可访问领地内的所有箱子(需要权限)
- 多语言:支持英语和葡萄牙语(巴西)
- 持久存储:领地自动以 JSON 格式保存
- 公开 API:与商店、VIP 系统和经济插件集成
工作原理

两种使用方法
1. 图形界面
- 使用
/claim命令打开 - 点击 POS1 和 POS2 按钮选择区域角落
- 彩色边界的视觉反馈显示选择状态
- 再次使用
/claim打开确认界面 - 点击 创建领地 完成
2. 传统命令
- 使用
/claim pos1和/claim pos2选择区域 - 执行
/claim create声明领地 - 使用
/claim trust、/claim list等命令管理
视觉反馈系统
插件显示彩色边界,帮助你了解领地状态:

- 黄色边界:有效区域 - 你可以声明这片空间

- 蓝色边界:已有领地 - 查看你已声明的区域

- 粉色边界:冲突 - 区域与其他领地重叠
保护流程
- 选择区域:使用 GUI 按钮或命令(
/claim pos1、/claim pos2) - 视觉反馈:查看表示状态的彩色边界
- 创建领地:在 GUI 中确认或使用
/claim create - 管理:添加信任玩家、重命名或删除领地
- 保护生效:只有所有者和信任玩家可以建造/破坏/使用桶

缓冲区
每个领地周围有 5 格缓冲区,防止建造过于靠近他人领地。只有领地所有者和信任玩家可以在自己的缓冲区内建造。
全域制作
启用后,拥有权限的玩家可以使用工作台,从领地内所有箱子中提取材料,而不仅仅是附近的箱子。非常适合有组织储物系统的大型基地。需要 kyvclaims.use.claimwidecrafting 权限。
命令
用户命令
/claim- 打开领地界面/claim pos1- 定义第一个角落位置/claim pos2- 定义第二个角落位置/claim create- 用选定区域创建领地/claim cancel- 取消当前选择/claim list- 列出你的领地/claim info- 查看当前位置的领地信息/claim trust <玩家>- 添加信任玩家到当前领地/claim untrust <玩家>- 从当前领地移除信任玩家/claim abandon <名称>- 按名称删除领地
管理员命令
/claim admin list- 列出服务器所有领地/claim admin remove <名称>- 移除任意领地/claim admin remove <玩家> <名称>- 移除特定玩家的领地/claim admin setlimit <玩家> <方块数>- 设置玩家的方块限制/claim admin addblocks <玩家> <方块数>- 增加玩家的方块限制/claim admin info <玩家>- 查看玩家的领地信息/claim admin reload- 重新加载插件配置/claim admin bypass- 切换绕过模式(忽略所有保护)
配置
插件在 mods/kyvclaims/ 目录下创建两个文件:
config.json
配置默认设置:
- defaultBlockLimit:每个玩家默认可声明的方块数量
- claimBufferDistance:领地之间的最小距离(以方块为单位)
- enableClaimWideCrafting:启用全域制作功能
- language:界面语言 - en_US(英语)或 pt_BR(葡萄牙语)
配置示例:
{
"defaultBlockLimit": 10000,
"claimBufferDistance": 5,
"enableClaimWideCrafting": true,
"language": "en_US"
}
缓冲区距离说明:
缓冲区距离防止领地创建得过于靠近。例如,设置 claimBufferDistance: 5,玩家不能在已有领地 5 格内创建新领地(除非他们拥有该领地)。这有助于防止恶意破坏并保持玩家领地之间的间距。
claims.json
所有领地自动以 JSON 格式保存在此处。此文件由插件管理,不应手动编辑。
权限
管理权限
你可以通过两种方式管理权限:
- 使用权限插件(推荐用于复杂设置)
- 直接在服务器的 permissions.json 中(简单设置)
将权限添加到服务器根目录下的 permissions.json 文件中的组。
示例 permissions.json:
{
"users": {
"player-uuid-here": {
"groups": ["Default"]
}
},
"groups": {
"Default": [
"kyvclaims.use.create",
"kyvclaims.use.remove",
"kyvclaims.use.trust",
"kyvclaims.use.untrust",
"kyvclaims.use.info",
"kyvclaims.use.list",
"kyvclaims.use.rename",
"kyvclaims.use.claimwidecrafting"
],
"OP": ["*"]
}
}
通配符
kyvclaims.*- 所有权限kyvclaims.use.*- 所有用户权限kyvclaims.admin.*- 所有管理员权限
用户权限
kyvclaims.use.create- 创建领地kyvclaims.use.remove- 移除自己的领地kyvclaims.use.trust- 添加信任玩家kyvclaims.use.untrust- 移除信任玩家kyvclaims.use.info- 查看领地信息kyvclaims.use.list- 列出自己的领地kyvclaims.use.rename- 重命名领地kyvclaims.use.claimwidecrafting- 使用全域制作(默认:拒绝)
管理员权限
kyvclaims.admin- 无限领地方块kyvclaims.admin.create- 为他人创建领地kyvclaims.admin.remove- 移除任意领地kyvclaims.admin.bypass- 忽略所有保护kyvclaims.admin.setlimit- 设置玩家方块限制kyvclaims.admin.reload- 重新加载配置
注意:拥有 OP 权限或 kyvclaims.admin 权限的玩家自动拥有无限领地方块和完全访问权限。
安装
- 下载最新版本
- 将 kyv-claims-x.x.x.jar 放入服务器的 mods 文件夹
- 重启服务器
- 在服务器的 permissions.json 中配置权限
- 如果需要,编辑 mods/kyvclaims/config.json
多语言支持
插件根据你的配置自动加载消息:
- 英语:在 config.json 中设置
"language": "en_US" - 葡萄牙语:在 config.json 中设置
"language": "pt_BR"
所有 UI 元素、命令和消息均已完全翻译。
开发者 API
KyvClaims 提供公开 API,用于与商店、VIP 系统和经济插件集成。详情请参阅下方 API 部分。
支持
如有问题、建议或贡献:
- 在问题追踪器上报告错误
- 加入我们的 Discord 社区
由 ItaloSixx 开发 — KYV Verdant Realm |
API 文档
KyvClaims 提供公开 API,用于与商店、VIP 系统和经济插件集成。
设置
在 manifest.json 中将 "kyvclaims" 添加到插件的依赖项中,然后在代码中导入 com.claims.ClaimAPI。
主要方法
方块管理:
addClaimBlocks(UUID, int)- 增加玩家限制的方块数removeClaimBlocks(UUID, int)- 减少玩家限制的方块数setClaimBlocks(UUID, int)- 设置总方块限制resetToDefault(UUID)- 重置为默认限制
查询方法:
getAvailableBlocks(UUID)- 获取可用方块数(总数 - 已使用)getUsedBlocks(UUID)- 获取领地已使用的方块数getTotalBlocks(UUID)- 获取总方块限制canClaim(UUID, int)- 检查玩家是否能声明区域
领地信息:
getPlayerClaims(UUID)- 获取玩家的领地列表canBuild(UUID, Location)- 检查玩家是否能在指定位置建造
常见用例
- 商店插件:使用 addClaimBlocks() 出售领地方块
- VIP 系统:使用 setClaimBlocks() 授予额外方块
- 经济集成:在购买前检查可用方块
- 等级系统:每个等级有不同的方块限制
- 活动奖励:将领地方块作为奖励发放
注意:拥有 OP 权限或 kyvclaims.admin 权限的玩家自动拥有无限方块。
查询方法
getAvailableBlocks(UUID playerUUID)
返回玩家还能使用的方块数量。
- 返回:
int- 可用方块数(总数 - 已使用)
getUsedBlocks(UUID playerUUID)
返回玩家在领地中已使用的方块数量。
- 返回:
int- 已使用方块数
getTotalBlocks(UUID playerUUID)
返回玩家的总方块限制。
- 返回:
int- 总限制
canClaim(UUID playerUUID, int blockCount)
检查玩家是否有足够的方块声明一片区域。
- 返回:
boolean- 如果可以声明则为true
领地信息
getPlayerClaims(UUID playerUUID)
返回玩家拥有的所有领地列表。
- 返回:
List<Claim>- 玩家的领地
canBuild(UUID playerUUID, Location location)
检查玩家是否能在特定位置建造。
- 返回:
boolean- 如果允许则为true,如果受保护则为false
使用示例
商店插件 - 出售领地方块:
- 调用:
ClaimAPI.addClaimBlocks(playerUUID, 1000) - 返回:成功则为
true
VIP 系统 - 设置自定义限制:
- 调用:
ClaimAPI.setClaimBlocks(playerUUID, 50000)
显示玩家信息:
- 调用:
ClaimAPI.getAvailableBlocks(playerUUID) - 返回:玩家还能使用的方块数
声明前检查:
- 调用:
ClaimAPI.canClaim(playerUUID, blockCount) - 返回:如果玩家有足够方块则为
true
重要说明
- OP/管理员:拥有 OP 权限或
kyvclaims.admin权限的玩家自动拥有无限方块 - 持久性:所有限制自动保存在
mods/kyvclaims/claims.json中 - 线程安全:所有 API 方法均为线程安全
- 默认限制:在
config.json中通过defaultBlockLimit配置
常见用例
- 商店插件:使用
addClaimBlocks()出售领地方块 - VIP 系统:使用
setClaimBlocks()授予额外方块 - 经济集成:在购买前检查可用方块
- 等级系统:每个等级有不同的方块限制
- 活动奖励:将领地方块作为奖励发放
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。