Portal Item Entity
基本信息
| 属性 | 值 |
|---|---|
| 类 | me.eigenraven.personalspace.block.PortalEntityItem extends EntityItem |
| 注册名(ModEntity) | PortalItem (modid=personalspace, id=1, trackingRange=64, updateFreq=20, sendsVelocityUpdates=true) |
| 关联物品 | Portal Item |
| 拾取延迟 | 10 ticks(来自构造 World, Entity, ItemStack 重载) |
| 生命 | 默认(item 自然消失逻辑被 getEntityLifespan = Integer.MAX_VALUE 屏蔽) |
功能
PortalEntityItem 是当 PortalItem.hasCustomEntity = true 时由 createEntity(World, Entity, ItemStack) 创建的物品实体。它继承原版 EntityItem 但覆盖 attackEntityFrom:
public boolean attackEntityFrom(DamageSource src, float dmg) {
if (src.equals(DamageSource.outOfWorld)) {
return super.attackEntityFrom(src, dmg);
}
return false; // 任何非虚空伤害被无视
}
即:除非用 /kill(outOfWorld)直接抹除,Portal Item 物品实体:
- 不会被火烧毁
- 不会被岩浆/仙人掌销毁
- 不会被爆炸破坏
- 不会被窒息
关联
- 由
PersonalSpaceMod.preInit通过EntityRegistry.registerModEntity(PortalEntityItem.class, "PortalItem", 1, this, 64, 20, true)注册。 - 由
PortalItem.createEntity实例化。