KyuubiSoft 成就(称号、奖励)

KyuubiSoft 成就(称号、奖励)

Hytale成就系统,包含称号与奖励,完全可自定义。与MMO插件等更多内容集成!

杂项

KyuubiSoft 成就系统

kyuubisoft

一个专为 Hytale 服务器设计的综合成就与称号系统 —— 200 多个成就,横跨 6 个类别,80 多个可解锁称号,成就链分组展示,HUD 追踪器,成就点数作为商店货币,完整游戏内管理面板,以及完全本地化支持。


特性

200+ 成就

成就涵盖 6 个类别 —— 每个类别都有分层级递进的成就链和独特奖励:

  • 战斗 —— 怪物狩猎链、Boss 击杀、PvP 里程碑、特定生物猎杀
  • 发展 —— 采矿、制造、建筑成就链,带有层级奖励
  • 探索 —— 区域发现、旅行距离、世界探索
  • 社交 —— 聊天里程碑、游戏时长成就、社区参与
  • 畜牧 —— 动物驯服、钓鱼、农耕发展
  • 秘密 —— 充满趣味梗的隐藏成就

80+ 可解锁称号

  • 完成成就解锁称号
  • 称号可显示在名字上方或作为聊天前缀
  • 通过称号选择界面选择你当前使用的称号
  • 称号拥有多种稀有度,并带有独特的颜色
  • 随时可以清除你的称号

成就链

像“矿工 I -> II -> III -> IV”这样的成就链会显示为一条记录:

  • 进度指示器让你一目了然地了解完成情况
  • 显示解锁下一级别所需的条件
  • 在保持信息完整的同时,减少界面杂乱
  • 追踪按钮会自动跟随成就链 —— 总是追踪下一个未完成的级别

成就点数

每解锁一个成就都能获得点数:

难度 点数
普通 10
困难 25
史诗 50
  • 商店货币 —— 在核心商店系统中消耗成就点数
  • 跨模组 —— 其他模组可以通过 API 查询和修改点数
  • 持久化 —— 点数会按玩家分别保存

成就图鉴

使用 /ksachievements 打开 —— 在一个漂亮的图鉴界面中浏览所有成就。

  • 分类标签 显示各分类的成就数量
  • 成就链分组 —— 成就链显示为可展开的单一记录
  • 难度徽章 带有颜色编码(普通、困难、史诗)
  • 解锁日期 —— 已完成的成就显示其解锁日期
  • 奖励预览 —— 解锁前即可看到奖励
  • 追踪/取消追踪 —— 将成就固定在 HUD 上
  • 快捷按钮 —— 快速跳转到称号、奖励或设置
  • 自定义图标 —— 所有按钮和导航均使用像素风格图标
  • 分页 带有基于图标的上一页/下一页按钮

HUD 追踪器

在屏幕上实时显示成就进度。

  • 同时追踪最多 3 个成就
  • 显示成就名称、进度计数和百分比(例如:“15/50 —— 30%”)
  • 难度颜色指示器 —— 普通(棕色)、困难(金色)、史诗(紫色)
  • 自动取消追踪 —— 成就解锁后会自动从追踪器中移除
  • 成就链支持 —— 追踪会自动跟随到下一个级别
  • 6 个预设位置 + 自定义 X/Y 坐标
  • 每位玩家的独立设置 —— 每个玩家保存自己的 HUD 偏好
  • 兼容 MHUD(与任务追踪器使用不同的标识符)

成就设置

  • 开关 HUD
  • 选择位置预设或设置自定义坐标
  • 开关进度显示
  • 调整时实时预览
  • 应用/重置按钮

奖励系统

  • 物品奖励 —— 获得工具、武器、护甲、材料
  • 称号奖励 —— 解锁专属称号
  • 战利品袋奖励 —— 通过核心战利品袋系统获得随机战利品
  • 指令奖励 —— 解锁时执行指令
  • 待领取奖励 —— 未领取的奖励会被保存,可稍后领取
  • "全部领取"按钮 —— 一次性领取所有待领取奖励(包括战利品袋)

成就书物品

  • 右键点击即可打开成就图鉴的游戏内实体物品
  • 可配置:启用/禁用、自定义物品 ID、快捷栏位置、首次/每次加入服务器时给予
  • 重复检查 —— 仅当玩家还没有该物品时才会给予

NPC 集成

  • NPC 互动追踪 —— 与特定 NPC 对话以推进成就进度
  • 对话完成追踪 —— 完成对话以获得成就
  • 对话条件 —— 根据成就状态(achievement_unlockedachievement_count)显示/隐藏对话选项

触发类型

触发条件 描述 示例目标
kills 击杀怪物/生物 Goblin_*Fen_Stalkerany_mob
player_kills PvP 击杀 player
blocks_mined 挖掘方块 Ore_*Rock_Stoneany
blocks_placed 放置方块 Bench_Furnaceany
blocks_harvested 使用 F 键收获 Plant_Crop_*any
items_crafted 制造物品 Weapon_Sword_*Potion_*
items_collected 收集物品(背包) Ore_*@consumable
damage_dealt 造成伤害 anyany_mob、特定怪物
damage_taken 承受伤害 any、伤害类型
zones_discovered 发现区域 Forgotten_Templeany
distance_walked 移动距离 any
playtime_minutes 游戏时长 any
flowers_picked 采摘花朵 Plant_Flower_*any
npc_interact 与 NPC 对话 NPC 市民 ID
dialog_complete 完成对话 对话 ID
full_armor_set 穿戴完整套装 护甲套装 ID
manual 管理员指令/脚本 ——
auto_on_prerequisites 满足前置条件时自动解锁 ——

反作弊: PlacedBlockTracker 会阻止挖掘自己放置的方块(30分钟过期)。


管理面板

通过 /ksachievementadmin panel 或核心管理后台访问 —— 完全在游戏内配置。

7 个标签页

标签页 描述
通用 语言、显示设置、权限、通用选项
显示 聊天格式、名称标签格式、广播设置
通知 弹窗、聊天、声音和广播设置
追踪 反作弊设置、追踪间隔
管理 导出数据、管理玩家数据
前缀 进行组前缀的增删改查,可从 LuckPerms 导入
成就 浏览、创建、编辑、复制、删除成就

成就编辑器

  • 对自定义成就进行完全的增删改查操作
  • 用于图标和奖励物品的可视化物品选择器
  • 多语言编辑(英文、德文、法文),支持成就名称、描述和称号
  • 每个成就最多 10 个奖励,支持动态栏位管理
  • 用于成就链的前置成就编辑器
  • 标准成就为只读 —— 可克隆为自定义成就后进行修改

工作副本系统

  • 所有更改在点击“保存”之前暂存于内存中
  • 星号指示器显示未保存的更改
  • “取消”将放弃所有待处理更改
  • “从磁盘重载”可在不重启服务器的情况下重新加载文件

指令

玩家指令

指令 别名 描述
/ksachievements —— 打开成就图鉴
/kstitles /title 打开称号选择界面
/kstitles clear —— 移除你当前使用的称号
/ksrewards /reward/rw 打开待领取奖励
/kslootbags /lb/lootbag 打开战利品袋背包

管理员指令

指令 描述
/ksachievementadmin panel 打开管理面板
/ksachievementadmin grant <玩家> <成就> 授予成就
/ksachievementadmin revoke <玩家> <成就> 撤销成就
/ksachievementadmin list <玩家> 查看玩家成就
/ksachievementadmin simulate <触发条件> 测试触发条件
/ksachievementadmin reload 重新加载配置

权限节点:achievements.admin


配置

KyuubiSoft-Achievements/
├── config.json                    # 主要设置(显示、通知、追踪)
├── configs/
│   └── achievements.json          # 标准成就定义(200+)
├── custom/
│   ├── custom_achievements.json   # 你的自定义成就
│   └── custom_lootbags.json       # 你的自定义战利品袋
├── data/
│   └── <uuid>.json                # 每位玩家的数据(自动管理)
└── localization/
    ├── en-US.json                 # 英文翻译
    ├── de-DE.json                 # 德文翻译
    └── fr-FR.json                 # 法文翻译

成就定义示例

{
  "id": "dragon_slayer_fire",
  "category": "combat",
  "iconItem": "Weapon_Sword_Adamantite",
  "difficulty": "epic",
  "title": { "id": "dragonslayer", "color": "#FF0000" },
  "trigger": { "type": "kills", "target": "Dragon_Fire", "count": 1 },
  "rewards": [
    { "type": "item", "itemId": "Ore_Adamantite", "amount": 10 },
    { "type": "lootbag", "lootbagId": "dragon_hoard" }
  ]
}

面向模组开发者

通过公开的 AchievementAPI 访问成就系统:

AchievementAPI api = AchievementAPI.getInstance();

// 事件监听器 api.onAchievementUnlocked((player, achievementId) -> { ... });

// 查询 boolean unlocked = api.isUnlocked(player, "dragon_slayer"); int points = api.getAchievementPoints(player);

// 点数管理 api.addAchievementPoints(player, 50); api.spendAchievementPoints(player, 25);

// 称号管理 api.setActiveTitle(player, "dragonslayer"); String titleName = api.getTitleDisplayName("dragonslayer");


本地化

  • 自动发现 —— 本地化文件夹中的所有 .json 文件都会自动加载
  • 随附语言:英文德文法文
  • 所有界面文本、提示信息、管理面板标签和指令消息均已完全翻译
  • 基于 JSON 的翻译文件 —— 易于添加新语言

兼容性

  • 集成:任务系统、LuckPerms、MHUD
  • 服务器:Hytale 专用服务器
  • Java:21+

支持

KyuubiSoft 用心制作