MixinBlockFire
基本信息
| 属性 |
值 |
| Mixin 目标 |
net.minecraft.block.BlockFire |
| Phase |
EARLY |
| 角色 |
火方块 field_149849_a/field_149848_b 数组大小从 4096 升到 32767 |
| 字段 |
field_149849_a(encouragement)、field_149848_b(flammability) |
注入字段
private int[] field_149849_a = new int[Constants.MAX_BLOCK_ID]; // encouragement 表
private int[] field_149848_b = new int[Constants.MAX_BLOCK_ID]; // flammability 表
vanilla 数组大小是 4096(按 12-bit block ID 索引)。NEID 提升到 MAX_BLOCK_ID = 32767,让 ID > 4095 的方块也能被火点燃或助燃。
@ModifyConstant 注入
@ModifyConstant(
method = { "rebuildFireInfo()V", "getFlammability(Lnet/minecraft/block/Block;)I",
"getEncouragement(Lnet/minecraft/block/Block;)I" },
constant = @Constant(intValue = 4096),
remap = false,
require = 1)
private int neid$increaseBlockSize(int original) {
return Constants.MAX_BLOCK_ID;
}
涉及方法
| 方法 |
改写的常量 |
含义 |
rebuildFireInfo |
4096 |
注册时把方块 ID 当下标的循环上限 |
getFlammability |
4096 |
查表时返回 0 的边界判断 |
getEncouragement |
4096 |
同上 |
相关条目