Fidelity

基本信息

属性 值
成就 ID villagenames.achievement.laputa
字段 VillageNames.laputa(VillageNames.java:111)
内部名 laputa
注册处 proxy/CommonProxy.java:60-61
成就页坐标 pageX 1, pageY -2
图标 Blocks.red_flower(虞美人)
依赖成就 无(initIndependentStat())
显示名 §cFidelity
描述 Befriend a lonely golem

功能

** befriends(驯服)一只落单的雪傀儡**时解锁。名称取自宫崎骏《天空之城》(Laputa: Castle in the Sky),源码为此写了一段长注释解释其含义(proxy/CommonProxy.java:48-58):片中三段摩斯密码最终被解读为 “fidelity”(忠诚),即本成就"让雪傀儡认定你"的含义。

触发条件

在 EntityInteractHandler 中,雪傀儡被驯服(获得虞美人、切换到玩家阵营)时触发(handler/EntityInteractHandler.java:529-532):

// Trigger the achievement
if (!( (EntityPlayerMP)player ).func_147099_x().hasAchievementUnlocked(VillageNames.laputa))
{
    player.triggerAchievement(VillageNames.laputa);
    AchievementReward.allFiveAchievements( (EntityPlayerMP)player );
}

触发前的完整流程(handler/EntityInteractHandler.java:521-528):

  1. ironGolemTarget.setHoldingRose(true) —— 让雪傀儡手持虞美人
  2. ironGolemTarget.setPlayerCreated(true) —— 切换到玩家阵营

本 mod 唯一的"特殊成就"

源码中 laputa 是唯一一个 .setSpecial() 调被注释掉的成就(proxy/CommonProxy.java:61):

...initIndependentStat().registerStat();//.setSpecial();

即它当前不是特殊成就(不进"统计 → 特殊"列表),但保留了启用该标记的代码。四个同类成就则连这段注释都没有。

相关条目