diff --git a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/server/ServerWorldMixin.java b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/server/ServerWorldMixin.java index a195fac3..672d3d9b 100644 --- a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/server/ServerWorldMixin.java +++ b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/core/world/server/ServerWorldMixin.java @@ -86,6 +86,16 @@ public abstract class ServerWorldMixin extends WorldMixin implements ServerWorld bridge$getWorld(); } + @Inject(method = "onEntityAdded", at = @At("RETURN")) + private void arclight$validEntity(Entity entityIn, CallbackInfo ci) { + ((EntityBridge) entityIn).bridge$setValid(true); + } + + @Inject(method = "removeEntityComplete", at = @At("RETURN")) + private void arclight$invalidEntity(Entity entityIn, boolean keepData, CallbackInfo ci) { + ((EntityBridge) entityIn).bridge$setValid(false); + } + @Inject(method = "tickEnvironment", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/server/ServerWorld;addEntity(Lnet/minecraft/entity/Entity;)Z")) public void arclight$thunder(Chunk chunkIn, int randomTickSpeed, CallbackInfo ci) { bridge$pushAddEntityReason(CreatureSpawnEvent.SpawnReason.LIGHTNING);