Mystcraft Integration
基本信息
| 属性 | 值 |
|---|---|
| 子系统类 | gcewing.sg.compat.MystcraftIntegration(compat/MystcraftIntegration.java:17),共 23 行 |
| 加载条件 | integrateWithMod("Mystcraft", ...)(SGCraft.java:124-126) |
| FML 声明 | 无。属纯软依赖 |
| 静态字段 | SGCraft.mystcraftIntegration,注释标记 // [MYST](SGCraft.java:98) |
| 唯一方法 | sendAgeData(World, EntityPlayer)(compat/MystcraftIntegration.java:19-21) |
功能
Mystcraft 的年龄(Age)决定维度内生物的变异阶段。玩家通过星门传送到另一个 Age 的维度时,Mystcraft 需要被告知目标维度的 age 数据,否则客户端 / 服务端的年龄状态会不同步。
MystcraftIntegration.sendAgeData 的实现极其简单:先判断 world.provider instanceof WorldProviderMyst,是则调 NetworkUtils.sendAgeData(player, world.provider.dimensionId) 发包(compat/MystcraftIntegration.java:19-21)。非 Mystcraft 维度直接什么都不做,因此这个方法可以无条件调用。
该方法确实被调用:SGBaseTE 在传送完成后执行 SGCraft.mystcraftIntegration.sendAgeData(newWorld, player)(tileentities/SGBaseTE.java:1107)。调用点带 SGCraft.mystcraftIntegration != null 判断(tileentities/SGBaseTE.java:1106),因此未安装 Mystcraft 时该行会被跳过。
数值
本集成没有配置项——MystcraftIntegration 不覆写 configure(compat/MystcraftIntegration.java 全文只有一个方法),因此 35 个配置键中没有任何一项与 Mystcraft 相关。
交互
无玩家交互。触发条件是经星门传送到 WorldProviderMyst 维度。