Fix EntityDeathEvent cancellation (#9323)

This commit is contained in:
Lulu13022002 2023-06-12 19:03:51 +02:00
parent 1fcfe34f7f
commit 04928c58a4

View file

@ -137,12 +137,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ this.clearedEquipmentSlots.clear();
+ }
+ // Paper end
+
- if (entity == null || entity.killedEntity(worldserver, this)) {
+ if (this.isSleeping()) {
+ this.stopSleeping();
+ }
- if (entity == null || entity.killedEntity(worldserver, this)) {
+
+ if (!this.level().isClientSide && this.hasCustomName()) {
+ if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
+ }
@ -154,6 +154,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.gameEvent(GameEvent.ENTITY_DIE);
- this.dropAllDeathLoot(damageSource);
- this.createWitherRose(entityliving);
+ } else {
+ this.dead = false;
+ this.setHealth((float) deathEvent.getReviveHealth());
}
- this.level().broadcastEntityEvent(this, (byte) 3);