Kill Energy Entities on Load Chunk

This commit is contained in:
Kam committed 2026-03-09 17:07:31 -04:00
1 parent f3676cd99e
commit 029f460b75
7 files changed
+16 -54

No files matched your search

@@ -834,15 +834,6 @@ public class EntityAbilityZone extends Entity implements IEntityAdditionalSpawnD
// NBT SERIALIZATION
// ═══════════════════════════════════════════════════════════════════
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
// ═══════════════════════════════════════════════════════════════════
// SPAWN DATA (ByteBuf for client sync)
@@ -376,6 +376,22 @@ public abstract class EntityEnergyAbility extends Entity implements IEntityAddit
magicData.readToNBT(nbt);
}
// ==================== WORLD NBT (INTENTIONALLY EMPTY) ====================
/**
* Ability entities are transient — they must not survive world saves.
* If Minecraft deserializes one from a chunk, kill it immediately.
*/
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
this.setDead();
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
// ==================== SPAWN DATA ====================
/**
@@ -695,15 +695,6 @@ public class EntityEnergyDome extends EntityEnergyBarrier {
// ==================== NBT ====================
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeSpawnNBT(NBTTagCompound nbt) {
@@ -289,15 +289,6 @@ public class EntityEnergyExplosion extends EntityEnergyAbility {
// ==================== NBT ====================
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
// Intentionally empty - transient visual entity.
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty - transient visual entity.
}
@Override
protected void writeSpawnNBT(NBTTagCompound nbt) {
@@ -730,15 +730,6 @@ public class EntityEnergyPanel extends EntityEnergyBarrier {
// ==================== NBT ====================
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeSpawnNBT(NBTTagCompound nbt) {
@@ -2413,15 +2413,6 @@ public abstract class EntityEnergyProjectile extends EntityEnergyAbility {
// ==================== NBT ====================
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeSpawnNBT(NBTTagCompound nbt) {
@@ -423,15 +423,6 @@ public class EntityEnergySweeper extends EntityEnergyAbility {
// ==================== NBT ====================
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
// Intentionally empty — ability entities are transient (not saved to world)
}
@Override
protected void writeSpawnNBT(NBTTagCompound nbt) {