Actually fix MC-229490 this time

This commit is contained in:
William Blake Galbreath
2021-06-26 00:32:51 -05:00
parent 881d7c221a
commit bd133948ec

View File

@@ -5,34 +5,45 @@ Subject: [PATCH] Fix MC-229490
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index a907520c2cd9eacf2fe80d87004afc5f30b6a630..49e26bf3cb8e7de1071a4893a7ea1ceba9912d6a 100644
index a907520c2cd9eacf2fe80d87004afc5f30b6a630..38b260fd4b202d4ec3e97a407171d60c09d4eeed 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -112,6 +112,7 @@ public class Chicken extends Animal {
// CraftBukkit start
if (this.isChickenJockey()) {
this.persistenceRequired = !this.removeWhenFarAway(0);
+ if (this.level.purpurConfig.chickenFixMC229490) this.persist = false; // Purpur - fix MC-229490
@@ -45,6 +45,7 @@ public class Chicken extends Animal {
private float nextFlap = 1.0F;
public int eggTime;
public boolean isChickenJockey;
+ public boolean jockey; // Purpur
public Chicken(EntityType<? extends Chicken> type, Level world) {
super(type, world);
@@ -194,7 +195,7 @@ public class Chicken extends Animal {
@Override
public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt);
- this.isChickenJockey = nbt.getBoolean("IsChickenJockey");
+ this.jockey = nbt.getBoolean("IsChickenJockey"); // Purpur
if (nbt.contains("EggLayTime")) {
this.eggTime = nbt.getInt("EggLayTime");
}
// CraftBukkit end
super.aiStep();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6eb1b895517436a552796d416c3785556fe57c05..2354c740741597271273a1980b3e3ac984d524d3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -874,6 +874,7 @@ public class PurpurWorldConfig {
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
public int chickenBreedingTicks = 6000;
+ public boolean chickenFixMC229490 = true;
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -885,6 +886,7 @@ public class PurpurWorldConfig {
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
+ chickenFixMC229490 = getBoolean("mobs.chicken.fix-mc-229490", chickenFixMC229490);
@@ -204,7 +205,7 @@ public class Chicken extends Animal {
@Override
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
- nbt.putBoolean("IsChickenJockey", this.isChickenJockey);
+ nbt.putBoolean("IsChickenJockey", this.jockey); // Purpur
nbt.putInt("EggLayTime", this.eggTime);
}
public boolean codRidable = false;
@@ -229,10 +230,10 @@ public class Chicken extends Animal {
}
public boolean isChickenJockey() {
- return this.isChickenJockey;
+ return this.jockey; // Purpur
}
public void setChickenJockey(boolean hasJockey) {
- this.isChickenJockey = hasJockey;
+ this.jockey = hasJockey; // Purpur
}
}