Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
9dfe1321 Delay Chunk Unloads based on Player Movement
f0409edc Drop Close region files patch, doesn't add any value.
700070c5 Fix undesirable behavior around world level changes due to priority
This commit is contained in:
William Blake Galbreath
2020-06-08 20:04:51 -05:00
parent 1564cefa74
commit 2fbbafa299
12 changed files with 19 additions and 244 deletions

View File

@@ -0,0 +1,67 @@
From 61fae64183bd5209977c521146bc1db1788ba13a 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] MC-56653 Fix - pig zombies aggro
---
src/main/java/net/minecraft/server/EntityPigZombie.java | 9 ++++++++-
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 2 ++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 90bf12c735..c78876fc42 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -170,6 +170,7 @@ public class EntityPigZombie extends EntityZombie {
boolean result = super.damageEntity(damagesource, f);
if (result && entity instanceof EntityHuman && !((EntityHuman) entity).isCreative() && this.hasLineOfSight(entity)) {
+ if (world.purpurConfig.zombiePigmanDontTargetUnlessHit) this.setLastDamager((EntityHuman) entity); // Purpur - fix MC-56653
this.i((EntityLiving) entity);
}
@@ -188,7 +189,7 @@ public class EntityPigZombie extends EntityZombie {
this.angerLevel = event.getNewAnger();
// CraftBukkit end
this.soundDelay = this.random.nextInt(40);
- this.setLastDamager(entityliving);
+ if (!world.purpurConfig.zombiePigmanDontTargetUnlessHit) this.setLastDamager(entityliving); // Purpur - fix MC-56653
return true;
}
@@ -230,6 +231,12 @@ public class EntityPigZombie extends EntityZombie {
return this.eA();
}
+ // Purpur start - fix MC-56653
+ protected boolean isDropExperience() {
+ return super.isDropExperience() && (!world.purpurConfig.zombiePigmanDontTargetUnlessHit || getLastDamager() instanceof EntityHuman);
+ }
+ // Purpur end
+
static class PathfinderGoalAnger extends PathfinderGoalNearestAttackableTarget<EntityHuman> {
public PathfinderGoalAnger(EntityPigZombie entitypigzombie) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 296274896e..7e7f10351b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1013,6 +1013,7 @@ public class PurpurWorldConfig {
public boolean zombiePigmanJockeyOnlyBaby = true;
public double zombiePigmanJockeyChance = 0.05D;
public boolean zombiePigmanJockeyTryExistingChickens = true;
+ public boolean zombiePigmanDontTargetUnlessHit = false;
private void zombiePigmanSettings() {
zombiePigmanRidable = getBoolean("mobs.zombie_pigman.ridable", zombiePigmanRidable);
zombiePigmanRidableInWater = getBoolean("mobs.zombie_pigman.ridable-in-water", zombiePigmanRidableInWater);
@@ -1020,6 +1021,7 @@ public class PurpurWorldConfig {
zombiePigmanJockeyOnlyBaby = getBoolean("mobs.zombie_pigman.jockey.only-babies", zombiePigmanJockeyOnlyBaby);
zombiePigmanJockeyChance = getDouble("mobs.zombie_pigman.jockey.chance", zombiePigmanJockeyChance);
zombiePigmanJockeyTryExistingChickens = getBoolean("mobs.zombie_pigman.jockey.try-existing-chickens", zombiePigmanJockeyTryExistingChickens);
+ zombiePigmanDontTargetUnlessHit = getBoolean("mobs.zombie_pigman.dont-target-unless-hit", zombiePigmanDontTargetUnlessHit);
}
public boolean zombieVillagerRidable = false;
--
2.26.2