Amazing Trophies
[!INFO] Git Commit:
7dc34cd| Updated: 2026-09-17
受 FTB Trophies 启发,是 GTNewHorizons 1.7.10 的开源、FOSS、远为强大的继任者。
简介
Amazing Trophies (amazingtrophies) 是 Minecraft 1.7.10 Forge mod,提供:
- 自定义成就 —— 通过 JSON 配置或代码接入 vanilla
Achievement/AchievementPage/StatList。 - 自定义奖杯 —— 同一个方块 (
trophy) + TileEntity 通过 NBT 里的trophyID区分不同奖杯,NBT 还附带玩家 UUID、名称、颁发时间戳。 - 27 个 Condition Handler —— 涵盖成就、攻击(生物/玩家)、方块(破坏/放置/右键,已实现但未注册交互)、死亡、实体交互、爆炸、摔落、治疗、背包(增/减/总数)、物品(合成/丢/拾/冶炼)、物品使用(开始/停止/完成)、进入维度、击杀、打开容器、拾取经验、被雷击、扔末影珍珠。
- 5 个 TrophyModelHandler —— 基座(pedestal,父类)/ 基础 OBJ(basic)/ 实体(entity,自动旋转 + boss 状态隔离)/ 物品(item,含附魔光效 + 自动 scale/yOffset 校正)/ 复杂方块模型(complex,字符拼图 + VBO 缓存)。
- 资源包架构 —— 整个
<config>/amazingtrophies/目录被挂载为amazingtrophies:资源域(lang、models、textures),用户可丢.obj/.png直接覆盖。 /trophy命令 —— OP 工具,支持list/award <id> [player] [withDesc]。
依赖:required-after:gtnhlib@[0.11.44,)、after:angelica@[1.0.0-beta4,)。
概念总览
| 概念 | 摘要 | 关联条目 |
|---|---|---|
| API 总入口 | 静态注册表 + 颁发/构造 ItemStack 工具 | Amazing Trophies API |
| 成就属性 | AchievementProperties 描述 x/y/parent/icon/page |
Achievement Properties |
| 奖杯属性 | TrophyProperties 只含 id + 客户端 modelHandler |
Trophy Properties |
| 配置加载 | ConfigHandler.parseOrCreate + 工具方法集 |
Config Handler |
| 自定义资源 | <config>/amazingtrophies/ 作为资源包 |
Asset Handler |
| 服务端命令 | OP 工具列出与颁发奖杯 | /trophy Command |
方块列表
- Block Trophy — 同一个方块承载所有奖杯;NBT
trophyID决定渲染 - TileEntity Trophy — 持有
props/time/uuid/name并同步到客户端 - Material Trophy — 自定义方块材质(woodColor + 冒险模式豁免)
- Renderer Trophy — 同时担任 TESR 与 IItemRenderer,距离阈值控制文字标签
物品列表
- ItemBlock Trophy — 放置时复制 NBT 到 TE,提供玩家名/时间标签 tooltip
Condition Handler 列表
- Achievement
- Attack (entity / player)
- Block (break / place / interact) — 注意
block.interact未被注册 - Death
- Entity Interact
- Explosion
- Fall
- Heal
- Inventory Changed (add / remove / total)
- Item (craft / drop / pickup / smelt)
- Item Use (start / stop / finish)
- Join World (dimension.join)
- Kill
- Open Container
- Pickup XP
- Struck By Lightning
- Throw Enderpearl
Trophy Model Handler 列表
- Pedestal — 基座+文字标签基类,必渲染
- Basic — 任意 OBJ 模型 + 贴图
- Entity — 调用
RenderManager.doRender,自动处理 boss 状态 - Item — 物品渲染(含附魔光效)+ 自动 scale/yOffset
- Complex — 字符拼图 3D 块结构
- Render Helper / BaseModelStructure — complex 模型内部管线 + VBO 切换
命名差异
- 源码目录
Amazing-Trophies(驼峰)→ wiki 分类amazing-trophies(kebab-case 全小写)