Infinity Booster Card
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | ae2wct:infinityBoosterCard |
| 源码类 | ItemInfinityBooster(items/ItemInfinityBooster.java) |
| 最大堆叠 | 1(setMaxStackSize(1),:27) |
| 效果 | setMaxItemUseDuration → 1(:45-48) |
作用
无限距离增强卡。lang 描述:Allows a linked AE2 Wireless Crafting Terminal to be used at any distance and across dimensions.——解除距离与维度限制。
未安装时,Wireless Crafting Terminal 的 hasEffect() 返回 false;安装后返回 true,物品获得附魔光效(:62-65 的 checkForBooster)。
安装方式:作为插槽式升级卡装入终端本体(BoosterSlot),不是普通装备。
lang tooltip 明确提示:Only works when in Wireless Crafting Terminal slot!
状态查询
终端 GUI 可显示增强卡状态,四种状态各有 tooltip(en_US.lang):
| 状态键 | 含义 |
|---|---|
LinkStatus |
链接状态 |
Installed / NotInstalled |
已安装 / 未安装 |
Active / Inactive |
激活 / 未激活 |
⚠️ 源码缺陷:掉率配置被当作绝对整数
boosterDropChance 的 lang 描述为 “Chance that Wither will drop Infinity Booster Card (in %-100=always drop)”——明确承诺是百分比,100 = 必掉。但实际代码(CommonProxy.onMobDrop,:166-187):
if (event.entity instanceof EntityWither) {
Random rand = new Random();
int n = rand.nextInt();
if (n <= Reference.WCT_BOOSTER_DROPCHANCE) { // WCT_BOOSTER_DROPCHANCE = 50
event.drops.add(drop);
}
}
rand.nextInt()(无参)返回 [−2 147 483 648, 2 147 483 647] 全域均匀分布的 int,而不是 [0, chance)。把 n 与一个小整数(默认 50)比较,得到:
P(drop) = (chance + 2^31) / 2^32
| 配置值 | 实际掉率 | 期望(按配置描述) | 偏差 |
|---|---|---|---|
| 1 | ≈ 50.0000000% | 1% | +49 个百分点 |
| 50(默认) | ≈ 50.0000000% | 50% | ≈ 0 |
| 100 | ≈ 50.0000000% | 100% | −50 个百分点 |
默认 50 恰好「碰巧正确」,但把配置改成 1 或 100 都几乎不会改变实际结果——因为在一个 ±21 亿的均匀分布上做小整数阈值比较,概率恒在 50% 附近。把 100 理解为「必掉」是语义写反。
正确写法应为 rand.nextInt(100) < chance。
凋灵 vs 末影龙
同段代码中两种生物的处理不对称:
| 生物 | 判定 |
|---|---|
EntityDragon(末影龙) |
无条件必掉(只有 event.drops.add(drop),无概率判断) |
EntityWither(凋灵) |
走上述错误的概率判断 |
两者共用同一个 drop 对象实例(非 new 两次),但末影龙分支完全绕开了概率逻辑。
触发条件
整个掉落逻辑被三重条件包裹(:167):
if (!Reference.WCT_EASYMODE_ENABLED && Reference.WCT_BOOSTER_ENABLED && Reference.WCT_BOOSTERDROP_ENABLED)
即简单模式下不掉落(因为简单模式可合成)。
配方
| 模式 | 配方形状 |
|---|---|
| 简单 | 3×3 环绕:SpatialIO方块 / MultiMaterial:42 / CraftingStorage:3 |
| 困难 | 简单模式下无配方,只能靠掉落 |
简单模式配方(RecipeHandler.java:57-62)为 ShapedOreRecipe:
a=appliedenergistics2:tile.BlockSpatialPylon(Spatial IO 口)b=appliedenergistics2:item.ItemMultiMaterialmeta 42c=appliedenergistics2:tile.BlockCraftingStoragemeta 3d= ItemMultiMaterial meta 48,e=tile.BlockWireless
相关条目
- Wireless Crafting Terminal - 插槽宿主
- Magnet Card
- Achievements - “Interdimensional Crafting Sack”
- WCT Config -
boosterDropChance钳制范围 1–100