
图标
为NPC实体添加了动态图标。
图标
在 NPC 上方显示浮动物品图标,支持任务状态。
图标是一个 Hytale 服务器插件,可在世界中任何 NPC 上方浮动物品实体图标。设置方式为魔杖式——运行一条命令,点击 NPC。无需手动编辑 YAML,无需查找 UUID。
|
|
|
| |
|
|
| |
|
|
|
功能
- 在你的内容包中任选物品,显示在任何 NPC 上方
- 每个 NPC 可单独设置图标、垂直偏移、缩放和旋转
- 九种动画类型,可在同一图标上同时叠加:
- 上下浮动 (bob) —— 上下浮动
- 旋转 (rotate) —— 沿 Y 轴旋转
- 脉冲 (pulsate) —— 缩放进出
- 摇摆 (sway) —— 左右摇摆
- 轨道 (orbit) —— 水平绕 NPC 旋转
- 弹跳 (ping) —— 短暂缩放弹出
- 震颤 (ring) —— 周期性爆发式快速左右抖动
- 顿挫 (stamp) —— 周期性向下锐利顿挫
- 浮动 (float) —— 自然的 8 字形运动
- 通过可选的 QuestLines 集成实现任务状态图标 —— 每位玩家根据其任务进度看到不同图标:
- 感叹号 —— 任务可接
- 圆点 —— 任务进行中
- 勾号 —— 任务已完成
- 问号 —— 未知状态
- 每个状态可单独覆盖:
- 为每个 NPC 的每个任务状态设置不同图标
- 可按状态或全局应用动画
- 开发者 API —— 实现
QuestStatusProvider接口,可从任何插件提供任务状态 - 所有设置保存至
mods/Icons/icons.json,重新加载后依然生效
命令
所有命令均有短别名 /i。分配命令使用魔杖工作流 —— 运行命令,然后点击 NPC。
| 命令 | 描述 |
|---|---|
/icons icon [--itemid <itemId>] [--state <state>] | 设置 NPC 的图标。省略 --itemid 则使用手中物品。none 隐藏图标,default 重置图标。使用 --state 指定具体任务状态。 |
/icons offset --offset <value> | 设置图标在 NPC 上方的垂直位置。 |
/icons scale --scale <value> | 设置图标的缩放。1.5 表示放大 50%,以此类推。 |
/icons rotation --degrees <degrees> | 设置固定的 Y 轴旋转角度(单位:度)。 |
/icons animate --animation <animation> [--state <state>] | 添加或移除动画。使用 --state 将其应用于特定任务状态。 |
/icons list | 列出所有已配置图标的 NPC。 |
/icons reload | 在不重启服务器的情况下重新加载 icons.json。 |
动画语法
多个动画可以在同一图标上同时运行。
/icons animate --animation bob
/icons animate --animation bob:2:0.4
/icons animate --animation rotate:90
/icons animate --animation pulsate:1.5:0.3
/icons animate --animation sway:1:20
/icons animate --animation orbit:0.5:1.5
/icons animate --animation ping:0.5:0.5
/icons animate --animation none
/icons animate --animation none:rotate
/icons animate --animation bob:2:0.4
/icons animate --animation rotate:90
/icons animate --animation pulsate:1.5:0.3
/icons animate --animation sway:1:20
/icons animate --animation orbit:0.5:1.5
/icons animate --animation ping:0.5:0.5
/icons animate --animation none
/icons animate --animation none:rotate
格式:<类型>[:<速度>[:<幅度>]]
- 速度 —— 对于 bob/pulsate/sway/orbit/ping,单位是赫兹;对于 rotate,单位是度/秒
- 幅度 —— 根据类型不同,分别表示最大位移方块数、角度或缩放差值;rotate 类型忽略此项
配置文件
你通常无需直接编辑 mods/Icons/icons.json —— 命令会自动写入。但如果你需要手动编辑,之后运行 /icons reload 即可加载变更。
{
"DefaultIconItemId": "Recipe_Page",
"DefaultQuestStateIcons": {
"available": "Icons_Exclamation",
"inprogress": "Icons_Dots",
"completed": "Icons_Checkmark",
"unknown": "Icons_QuestionMark"
}
}
"DefaultIconItemId": "Recipe_Page",
"DefaultQuestStateIcons": {
"available": "Icons_Exclamation",
"inprogress": "Icons_Dots",
"completed": "Icons_Checkmark",
"unknown": "Icons_QuestionMark"
}
}
QuestLines 集成
图标插件对 QuestLines 是软依赖。当 QuestLines 存在时,图标会自动根据每个玩家的任务进度,在对应 NPC 上方显示不同图标 —— 无需额外配置,四个状态图标已随内容包附带。
每个 NPC 内部维护四个图标(每个状态一个),插件会按玩家过滤可见性,使其只能看到正确的那个。
如果你未使用 QuestLines,仍可通过实现 QuestStatusProvider 接口并调用 NpcQuestIconsPlugin.getInstance().setQuestStatusProvider(provider) 来从你自己的插件提供任务状态数据。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。