Files
Purpur/patches/server/0046-Fix-pig-zombies-MC-56653.patch
William Blake Galbreath e0fd9f7eaf Lets minimize the diff :S
2019-07-09 23:46:05 -05:00

47 lines
1.9 KiB
Diff

From 55b5b166eb427746bdaa0049808519bbf3cc26e9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 9 Jul 2019 20:56:47 -0500
Subject: [PATCH] Fix pig zombies (MC-56653)
---
src/main/java/net/minecraft/server/EntityPigZombie.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 786592da1..3bc6f31d9 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -139,6 +139,7 @@ public class EntityPigZombie extends EntityZombie {
boolean result = super.damageEntity(damagesource, f);
if (result && entity instanceof EntityHuman && !((EntityHuman) entity).isCreative() && this.hasLineOfSight(entity)) {
+ this.setLastDamager((EntityHuman) entity); // Purpur - fix MC-56653
this.a(entity);
}
@@ -158,7 +159,7 @@ public class EntityPigZombie extends EntityZombie {
// CraftBukkit end
this.soundDelay = this.random.nextInt(40);
if (entity instanceof EntityLiving) {
- this.setLastDamager((EntityLiving) entity);
+ //this.setLastDamager((EntityLiving) entity); // Purpur - move up to damageEntity - fix MC-56653
}
return true;
@@ -207,6 +208,12 @@ public class EntityPigZombie extends EntityZombie {
return this.eg();
}
+ // Purpur start - only drop exp/items if damaged by player - fix MC-56653
+ protected boolean isDropExperience() {
+ return super.isDropExperience() && getLastDamager() instanceof EntityHuman;
+ }
+ // Purpur end
+
static class PathfinderGoalAnger extends PathfinderGoalNearestAttackableTarget<EntityHuman> {
public PathfinderGoalAnger(EntityPigZombie entitypigzombie) {
--
2.20.1