Fix valid state updating

This commit is contained in:
IzzelAliz 2020-05-17 20:51:45 +08:00
parent 0e5ffff605
commit 59c10993d6

View File

@ -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);