Fix up pig zombie patch (tested it this time :3)

This commit is contained in:
William Blake Galbreath
2019-07-09 23:37:11 -05:00
parent f46495423c
commit dd25627c9f

View File

@@ -1,33 +1,55 @@
From f68499a153dc5677dfe182cc1f8c6e131b1456c6 Mon Sep 17 00:00:00 2001
From 0ccc51ea89b02d1c95de6f2148e4d475ab732900 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 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
.../net/minecraft/server/EntityPigZombie.java | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 786592da1..ccee9c52f 100644
index 786592da1..23be3f345 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 {
@@ -139,6 +139,10 @@ 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
+ // Purpur start - fix MC-56653
+ this.setLastDamager((EntityHuman) entity);
+ this.setGoalTarget((EntityHuman) entity, org.bukkit.event.entity.EntityTargetEvent.TargetReason.TARGET_ATTACKED_ENTITY, true);
+ //Purpur end
this.a(entity);
}
@@ -158,7 +159,7 @@ public class EntityPigZombie extends EntityZombie {
@@ -157,9 +161,11 @@ public class EntityPigZombie extends EntityZombie {
this.angerLevel = event.getNewAnger();
// CraftBukkit end
this.soundDelay = this.random.nextInt(40);
if (entity instanceof EntityLiving) {
- if (entity instanceof EntityLiving) {
- this.setLastDamager((EntityLiving) entity);
+ this.setGoalTarget((EntityLiving) entity, org.bukkit.event.entity.EntityTargetEvent.TargetReason.PIG_ZOMBIE_TARGET, true); // Purpur - fix MC-56653
}
- }
+ // Purpur - fix MC-56653
+ //if (entity instanceof EntityLiving) {
+ // this.setLastDamager((EntityLiving) entity);
+ //}
+ // Purpur end
return true;
}
@@ -207,6 +213,12 @@ public class EntityPigZombie extends EntityZombie {
return this.eg();
}
+ // Purpur start - fix MC-56653
+ protected boolean isDropExperience() {
+ return !this.isBaby() && getLastDamager() != null;
+ }
+ // Purpur end
+
static class PathfinderGoalAnger extends PathfinderGoalNearestAttackableTarget<EntityHuman> {
public PathfinderGoalAnger(EntityPigZombie entitypigzombie) {
--
2.20.1