MixinItemInWorldManager

基本信息

属性 值
Mixin 目标 net.minecraft.server.management.ItemInWorldManager
Phase EARLY
角色 服务端挖掘时 Metadata 位移常数 12 → 16

@ModifyConstant

@ModifyConstant(
    method = "tryHarvestBlock",
    constant = @Constant(intValue = Constants.VANILLA_BITS_PER_ID),  // 12
    require = 1)
private static int neid$newBitsPerID(int i) {
    return Constants.BITS_PER_ID;  // 16
}

作用

服务端 ItemInWorldManager.tryHarvestBlock 用方块 ID 和 Metadata 组合成一个整数后传给 Block.dropBlockAsItem 等接口:vanilla 用 id << 12 \| meta,NEID 用 id << 16 \| meta,让 16-bit metadata 完整保留。

相关条目