13
0
geforkt von Mirrors/Paper

SPIGOT-4893: Don't reset angry state of wolves without target.

Wolves will 'silently' lose their target when teleporting between
dimensions or the chunk getting reloaded. To reset the angry state in
those cases, the check got moved into the loading method.
Dieser Commit ist enthalten in:
blablubbabc 2019-05-08 02:18:05 +02:00 committet von md_5
Ursprung 5c0d3b25e8
Commit 8879c31485

Datei anzeigen

@ -44,7 +44,28 @@
@Override
public void setGoalTarget(@Nullable EntityLiving entityliving) {
super.setGoalTarget(entityliving);
@@ -217,7 +238,8 @@
@@ -101,6 +122,11 @@
public void a(NBTTagCompound nbttagcompound) {
super.a(nbttagcompound);
this.setAngry(nbttagcompound.getBoolean("Angry"));
+ // CraftBukkit start - moved from below, SPIGOT-4893
+ if (this.getGoalTarget() == null && this.isAngry()) {
+ this.setAngry(false);
+ }
+ // CraftBukkit end
if (nbttagcompound.hasKeyOfType("CollarColor", 99)) {
this.setCollarColor(EnumColor.fromColorIndex(nbttagcompound.getInt("CollarColor")));
}
@@ -137,7 +163,7 @@
this.world.broadcastEntityEffect(this, (byte) 8);
}
- if (!this.world.isClientSide && this.getGoalTarget() == null && this.isAngry()) {
+ if (false && !this.world.isClientSide && this.getGoalTarget() == null && this.isAngry()) { // CraftBukkit - SPIGOT-4893
this.setAngry(false);
}
@@ -217,7 +243,8 @@
Entity entity = damagesource.getEntity();
if (this.goalSit != null) {
@ -54,7 +75,7 @@
}
if (entity != null && !(entity instanceof EntityHuman) && !(entity instanceof EntityArrow)) {
@@ -264,7 +286,7 @@
@@ -264,7 +291,7 @@
itemstack.subtract(1);
}
@ -63,7 +84,7 @@
return true;
}
} else if (item instanceof ItemDye) {
@@ -285,7 +307,7 @@
@@ -285,7 +312,7 @@
this.goalSit.setSitting(!this.isSitting());
this.jumping = false;
this.navigation.o();
@ -72,7 +93,7 @@
}
} else if (item == Items.BONE && !this.isAngry()) {
if (!entityhuman.abilities.canInstantlyBuild) {
@@ -293,12 +315,13 @@
@@ -293,12 +320,13 @@
}
if (!this.world.isClientSide) {