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 完整保留。
相关条目
- MixinPlayerControllerMP - 客户端对应
- MixinWorld -
World.breakBlock对应 - Constants -
BITS_PER_ID = 16