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 实例化。

相关条目