成就
基本信息
| 属性 | 值 |
|---|---|
| 实现类 | pl.asie.computronics.util.achievements.ComputronicsAchievements |
| 枚举 | EnumAchievements(私有内部枚举,ComputronicsAchievements.java:38) |
| 成就页 | AchievementPage("Computronics"),注册于 AchievementPage.registerAchievementPage(ComputronicsAchievements.java:62-67) |
| 事件注册 | 同时注册到 MinecraftForge.EVENT_BUS 与 FMLCommonHandler.bus()(ComputronicsAchievements.java:68-69) |
| 触发方法 | triggerAchievement(EntityPlayer, EnumAchievements)(ComputronicsAchievements.java:153-156) |
共 6 个成就,全部带前置链。成就不是无条件注册的:3 个依赖录音带、2 个依赖 Railcraft、1 个依赖 GregTech。
成就列表
| 枚举 | 页面坐标 | 图标 | 前置 | special | independent | 源行 |
|---|---|---|---|---|---|---|
Tape |
(0, 0) | 录音带 meta 0 | 无 | false |
true |
:74-81 |
Tape_Star |
(4, 0) | 录音带 meta 8 | Tape |
false |
false |
:82-91 |
Tape_IG |
(8, 2) | 录音带 meta 9 | Tape_Star |
true |
false |
:92-99 / :109-116 |
Tape_IG_Dropped |
(8, 10) | IC2 废料 | Tape_IG |
true |
false |
:100-108 / :117-125 |
Locomotive |
(0, 6) | 数字机车中继器 | — | — | — | :265-271 |
Relay |
(2, 6) | 数字中继传感器 | Locomotive |
— | — | :273-280 |
independent 只对 Tape 为 true(:80),意味着它不依赖其它成就即可被计入统计;其余 5 个都串在链上。
注册条件
前 4 个成就整体包在 if (Computronics.itemTape != null) 内(ComputronicsAchievements.java:73)——录音带被 enable.tape 关掉时全部消失。
Tape_IG / Tape_IG_Dropped 有两条互斥分支,区别只在 IC2 废料的取用方式(ComputronicsAchievements.java:91-126):
| 分支 | 条件 | Tape_IG_Dropped 图标来源 |
|---|---|---|
| GT5 | Mods.isLoaded(GregTech) && !hasVersion(GregTech, GT6) |
ItemList.IC2_Scrap.get(1)(GT5 API) |
| GT6 | Mods.hasVersion(GregTech, GT6) |
IL.IC2_Scrap.get(1)(GT6 API) |
两个分支注册的成就内容完全相同(同坐标、同 meta、同前置、同 special 标志),只是图标物品的解析 API 不同。ModRecipes 中大量 GT 配方回退到 computronics.railcraft.* / GT 5.09 API 也是同一历史背景。
Locomotive / Relay 由 RailcraftAchievements.initializeRCAchievements() 注册,整体包在 if (Mods.isLoaded(Mods.Railcraft)) 内(ComputronicsAchievements.java:128-130)。
触发条件
| 枚举 | 触发 | 源行 |
|---|---|---|
Tape / Tape_IG |
玩家合成出对应 meta 的录音带 | :176、:185、:92-99 附近 |
Tape_Star |
同上,meta 8 | :181 |
Tape_IG_Dropped |
玩家丢弃该磁带(读 NBT computronics:dropplayer) |
:238-243 |
Locomotive |
玩家进入 Railcraft 机车 | :286 |
Relay |
玩家安装数字中继传感器 | :328 |
合成检测走 CraftingEvent 类的处理器;丢弃检测通过 NBT 里的 computronics:dropplayer 字段回溯玩家(:238)——这是把玩家 UUID 写进磁带 NBT 实现「谁丢的谁得成就」的做法。
相关条目
- 录音带 - 前 4 个成就的图标物品
- 数字中继传感器 -
Relay成就的触发物 - Railcraft 集成 - 后 2 个成就的注册条件