diff --git a/src/main/java/com/atsuishio/superbwarfare/item/Beast.java b/src/main/java/com/atsuishio/superbwarfare/item/Beast.java index fc0367b08..5ba8dd093 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/Beast.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/Beast.java @@ -104,7 +104,13 @@ public class Beast extends SwordItem { living.setHealth(0); } target.level().broadcastEntityEvent(target, (byte) 60); - target.remove(Entity.RemovalReason.KILLED); + + target.removalReason = Entity.RemovalReason.KILLED; + target.getPassengers().forEach(Entity::stopRiding); + target.stopRiding(); + + target.levelCallback.onRemove(Entity.RemovalReason.KILLED); + target.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 71a027ee7..35aeedf67 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -1,6 +1,8 @@ public net.minecraft.client.multiplayer.ClientLevel getEntities()Lnet/minecraft/world/level/entity/LevelEntityGetter; # getEntities public net.minecraft.world.entity.Entity passengers # passengers public net.minecraft.world.entity.Entity boardingCooldown # boardingCooldown +public net.minecraft.world.entity.Entity levelCallback # levelCallback +public net.minecraft.world.entity.Entity removalReason # removalReason public net.minecraft.client.player.LocalPlayer handsBusy # handsBusy public net.minecraft.client.renderer.culling.Frustum matrix # matrix public net.minecraft.client.renderer.LevelRenderer renderBuffers # renderBuffers