re-add "abstract horse" attribute logic

This commit is contained in:
granny
2023-03-22 05:21:04 -07:00
parent 798472879a
commit 9cda2e740b
8 changed files with 345 additions and 77 deletions

18
TODO.md
View File

@@ -5,15 +5,15 @@
- [ ] OPTIONAL: custom damage type instead of magic for scissors & stone cutter patch
- [x] flip the boolean in the "display names from item forms of entities to entities" patch to keep feature parity with vanilla
- [ ] uncomment if conditions when including Pufferfish
- [ ] entity attributes patch
- [ ] re-implement options for camel
- [ ] re-implement options for donkey
- [ ] re-implement options for horse
- [ ] re-implement options for llama
- [ ] re-implement options for mule
- [ ] re-implement options for skeleton horse
- [ ] re-implement options for trader llama
- [ ] re-implement options for zombie horse
- [x] entity attributes patch
- [x] re-implement options for camel
- [x] re-implement options for donkey
- [x] re-implement options for horse
- [x] re-implement options for llama
- [x] re-implement options for mule
- [x] re-implement options for skeleton horse
- [x] re-implement options for trader llama
- [x] re-implement options for zombie horse
### once above is complete:
- [ ] make announcement about changes

View File

@@ -474,6 +474,274 @@ index f30aad7e722f895b8f6966f042021fc80f470994..eaf2e6b9865a36b7c648bd1205db922a
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 05c7680569346bb863b896bcc9515f3e7cfb8114..a58028bfd3722210e801e85c355d679cd8557e85 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -314,6 +314,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
return this.dashCooldown;
}
+ // Purpur start
+ @Override
+ public float generateMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.camelMaxHealthMin, this.level.purpurConfig.camelMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.camelJumpStrengthMin, this.level.purpurConfig.camelJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(net.minecraft.util.RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.camelMovementSpeedMin, this.level.purpurConfig.camelMovementSpeedMax);
+ }
+ // Purpur end
+
@Override
protected SoundEvent getAmbientSound() {
return SoundEvents.CAMEL_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 2d298960afe61ed2b73ca72908849879408738b9..28dbaeb4de0c133a68878f65da33d2939c7344b2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -155,6 +155,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
public boolean isRidable() {
return false; // vanilla handles
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.generateMaxHealth(random));
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.generateSpeed(random));
+ this.getAttribute(Attributes.JUMP_STRENGTH).setBaseValue(this.generateJumpStrength(random));
+ }
+
+ protected double generateMaxHealth(double min, double max) {
+ if (min == max) return min;
+ int diff = Mth.floor(max - min);
+ double base = max - diff;
+ int first = Mth.floor((double) diff / 2);
+ int rest = diff - first;
+ return base + random.nextInt(first + 1) + random.nextInt(rest + 1);
+ }
+
+ protected double generateJumpStrength(double min, double max) {
+ if (min == max) return min;
+ return min + (max - min) * this.random.nextDouble();
+ }
+
+ protected double generateSpeed(double min, double max) {
+ if (min == max) return min;
+ return min + (max - min) * this.random.nextDouble();
+ }
+
+ protected float generateMaxHealth(RandomSource random) {
+ return 15.0F + (float) random.nextInt(8) + (float) random.nextInt(9);
+ }
+
+ protected double generateJumpStrength(RandomSource random) {
+ return 0.4000000059604645D + random.nextDouble() * 0.2D + random.nextDouble() * 0.2D + random.nextDouble() * 0.2D;
+ }
+
+ protected double generateSpeed(RandomSource random) {
+ return (0.44999998807907104D + random.nextDouble() * 0.3D + random.nextDouble() * 0.3D + random.nextDouble() * 0.3D) * 0.25D;
+ }
// Purpur end
@Override
@@ -1263,7 +1301,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
}
- this.randomizeAttributes(world.getRandom());
+ // this.randomizeAttributes(world.getRandom()); // Purpur - replaced by initAttributes()
return super.finalizeSpawn(world, difficulty, spawnReason, (SpawnGroupData) entityData, entityNbt);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 6ed4ef1c628b77448629388bfc4a8575dd4afefd..7afd065d6a5d5b9650e64a26449dcf81724744bb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -20,6 +20,21 @@ public class Donkey extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.donkeyRidableInWater;
}
+
+ @Override
+ public float generateMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.donkeyMaxHealthMin, this.level.purpurConfig.donkeyMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.donkeyJumpStrengthMin, this.level.purpurConfig.donkeyJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(net.minecraft.util.RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 9d8879fc2f7afafdd42cd8ee471c698b31159209..fcd5afe0e25482877894fde500ddf7a0cb290b62 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -45,6 +45,21 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public boolean dismountsUnderwater() {
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.horseRidableInWater;
}
+
+ @Override
+ public float generateMaxHealth(RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.horseMaxHealthMin, this.level.purpurConfig.horseMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.horseJumpStrengthMin, this.level.purpurConfig.horseJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 42861ddab4397187eb6a5d4a729bc58e6fc7ddeb..9953f80e924e8843ceebdbfa675c2315bf6cf63f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -120,6 +120,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public boolean isSaddled() {
return super.isSaddled() || (isTamed() && getSwag() != null);
}
+
+ @Override
+ public float generateMaxHealth(RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.llamaMaxHealthMin, this.level.purpurConfig.llamaMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.llamaJumpStrengthMin, this.level.purpurConfig.llamaJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
+ }
// Purpur end
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 84d265aaa4a2c5942e3ca04deab644570bb8ee83..c18806e6adeccafcd4731aab0c9949788e72164b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -19,6 +19,21 @@ public class Mule extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.muleRidableInWater;
}
+
+ @Override
+ public float generateMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.muleMaxHealthMin, this.level.purpurConfig.muleMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.muleJumpStrengthMin, this.level.purpurConfig.muleJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(net.minecraft.util.RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 7c891be8b94a6438910a53c0473393d49b19f5d9..6d68ac4a6cd65baaf7789cc0567492e43ad5bf91 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -33,6 +33,21 @@ public class SkeletonHorse extends AbstractHorse {
public boolean isTamed() {
return true;
}
+
+ @Override
+ public float generateMaxHealth(RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.skeletonHorseMaxHealthMin, this.level.purpurConfig.skeletonHorseMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.skeletonHorseJumpStrengthMin, this.level.purpurConfig.skeletonHorseJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax);
+ }
// Purpur end
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 6747dbd11a883249f18cd51320daa663d6203bb7..17b29f0245c8c140528871aeada7ee36ce22944c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -47,6 +47,21 @@ public class TraderLlama extends Llama {
public boolean isSaddled() {
return super.isSaddled() || isTamed();
}
+
+ @Override
+ public float generateMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.traderLlamaMaxHealthMin, this.level.purpurConfig.traderLlamaMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.traderLlamaJumpStrengthMin, this.level.purpurConfig.traderLlamaJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(net.minecraft.util.RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index b6e2e7398413296449e8f132a2a6296da231f4d4..e818bd705b03aa1fedfd981ec44c9b8267c67a00 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -31,6 +31,21 @@ public class ZombieHorse extends AbstractHorse {
public boolean isTamed() {
return true;
}
+
+ @Override
+ public float generateMaxHealth(RandomSource random) {
+ return (float) generateMaxHealth(this.level.purpurConfig.zombieHorseMaxHealthMin, this.level.purpurConfig.zombieHorseMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(RandomSource random) {
+ return generateJumpStrength(this.level.purpurConfig.zombieHorseJumpStrengthMin, this.level.purpurConfig.zombieHorseJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(RandomSource random) {
+ return generateSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax);
+ }
// Purpur end
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 473b801645a62c89ed680f993761dcb64f73bc01..30ff9967aa19a9e77bdf7d32e494276b1b72ab72 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java

View File

@@ -25,7 +25,7 @@ index 721971f7618751a2e95f1c49fdc48a9c0c672cab..7b141c495095afcd9c8b04c059d692e8
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..8adca393017dcc2e44a7379b971cd2a4704bc570 100644
index 9953f80e924e8843ceebdbfa675c2315bf6cf63f..2343accfb669e38635eab949ff04a3f729ac3992 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -73,6 +73,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -36,7 +36,7 @@ index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..8adca393017dcc2e44a7379b971cd2a4
public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world);
@@ -154,7 +155,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -169,7 +170,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
if (!this.inventory.getItem(1).isEmpty()) {
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
}
@@ -45,7 +45,7 @@ index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..8adca393017dcc2e44a7379b971cd2a4
}
@Override
@@ -165,7 +166,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -180,7 +181,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
if (nbt.contains("DecorItem", 10)) {
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
}
@@ -54,7 +54,7 @@ index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..8adca393017dcc2e44a7379b971cd2a4
this.updateContainerEquipment();
}
@@ -506,6 +507,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -521,6 +522,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public void leaveCaravan() {
if (this.caravanHead != null) {
@@ -62,7 +62,7 @@ index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..8adca393017dcc2e44a7379b971cd2a4
this.caravanHead.caravanTail = null;
}
@@ -513,6 +515,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -528,6 +530,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
}
public void joinCaravan(Llama llama) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cbbef7730e7743c05ddc8011eab77f05829132f5..d0437c2d10c44883c90861666dc2cd8805c4d5ab 100644
index 1152cdb64ff72358292400d33a4a4f3ca88eff75..40f9e0969eef6d3543c6ca65915a68479fab700d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -37,10 +37,10 @@ index cbbef7730e7743c05ddc8011eab77f05829132f5..d0437c2d10c44883c90861666dc2cd88
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index f404bee067c7666fd4cf4818c9b093d54a43d5de..271535fc770cb5a9b849bebe49b3040c72f616ea 100644
index 28dbaeb4de0c133a68878f65da33d2939c7344b2..c044ed3a96f10584fd5aec836624bca1b414182d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -347,7 +347,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -385,7 +385,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
@@ -50,7 +50,7 @@ index f404bee067c7666fd4cf4818c9b093d54a43d5de..271535fc770cb5a9b849bebe49b3040c
protected int getInventorySize() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index a57299a152eb05d49fed58eda6aaa29c0b5f1362..c1e5447a11b5bcdbd34e3d6538f977efd5b4692b 100644
index 2019896dee313bcc982686fc665d1cb3e2d40503..2050230df7949e21f2158d2be5be885461afb66d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -12,6 +12,7 @@ import net.minecraft.world.level.LevelReader;

View File

@@ -316,7 +316,7 @@ index eaf2e6b9865a36b7c648bd1205db922a62cd7ee8..1af75e173958c192b8f53b7e17e75d98
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 05c7680569346bb863b896bcc9515f3e7cfb8114..bda7a0e29e40386c57766c224ffb8938d33447e8 100644
index a58028bfd3722210e801e85c355d679cd8557e85..a66f77ec5cb5a2b9f6944c2a747b22d8f89e9cb7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -83,6 +83,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@@ -365,12 +365,12 @@ index 1cfc1ade52b79c6c5577935fe5c37a0e7a1673f0..b2c025184b9d8d272fab720a5930c030
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 6ed4ef1c628b77448629388bfc4a8575dd4afefd..0a5313546858a235c071f15d91edc4f161f6a351 100644
index 7afd065d6a5d5b9650e64a26449dcf81724744bb..fdb32983ddb979b53f547b6ec999cfae539b8179 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -20,6 +20,11 @@ public class Donkey extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.donkeyRidableInWater;
@@ -35,6 +35,11 @@ public class Donkey extends AbstractChestedHorse {
public double generateSpeed(net.minecraft.util.RandomSource random) {
return generateSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax);
}
+
+ @Override
@@ -381,12 +381,12 @@ index 6ed4ef1c628b77448629388bfc4a8575dd4afefd..0a5313546858a235c071f15d91edc4f1
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 9d8879fc2f7afafdd42cd8ee471c698b31159209..dc8ebffdd6e64dd11d1e254ea1860f287f40aa50 100644
index fcd5afe0e25482877894fde500ddf7a0cb290b62..a129757a6ad38aaea854dbfe97eb6673058d3f31 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -45,6 +45,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public boolean dismountsUnderwater() {
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.horseRidableInWater;
@@ -60,6 +60,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public double generateSpeed(RandomSource random) {
return generateSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax);
}
+
+ @Override
@@ -397,12 +397,12 @@ index 9d8879fc2f7afafdd42cd8ee471c698b31159209..dc8ebffdd6e64dd11d1e254ea1860f28
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 766285d0a62cf5314c99eba8c81ac29f171a2b0a..2f585de77bb8ad5431a48710d341dff0321b124d 100644
index 2343accfb669e38635eab949ff04a3f729ac3992..5de1bd35bdd064d1bcdd891719352beb2dae662b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -121,6 +121,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public boolean isSaddled() {
return super.isSaddled() || (isTamed() && getSwag() != null);
@@ -136,6 +136,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public double generateSpeed(RandomSource random) {
return generateSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
}
+
+ @Override
@@ -413,12 +413,12 @@ index 766285d0a62cf5314c99eba8c81ac29f171a2b0a..2f585de77bb8ad5431a48710d341dff0
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 84d265aaa4a2c5942e3ca04deab644570bb8ee83..183c8a1355d373a7cda91532eba3d62a58639167 100644
index c18806e6adeccafcd4731aab0c9949788e72164b..9a192232110cc7415ddb9bf0eac066511ed2998e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -19,6 +19,11 @@ public class Mule extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return level.purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level.purpurConfig.muleRidableInWater;
@@ -34,6 +34,11 @@ public class Mule extends AbstractChestedHorse {
public double generateSpeed(net.minecraft.util.RandomSource random) {
return generateSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax);
}
+
+ @Override
@@ -429,12 +429,12 @@ index 84d265aaa4a2c5942e3ca04deab644570bb8ee83..183c8a1355d373a7cda91532eba3d62a
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 7c891be8b94a6438910a53c0473393d49b19f5d9..33250d34cc6e2733330f9c4a42f498b2bbc73b33 100644
index 6d68ac4a6cd65baaf7789cc0567492e43ad5bf91..fa25f231fb305a5d0930b8777bbb4b0c2bd1134d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -33,6 +33,11 @@ public class SkeletonHorse extends AbstractHorse {
public boolean isTamed() {
return true;
@@ -48,6 +48,11 @@ public class SkeletonHorse extends AbstractHorse {
public double generateSpeed(RandomSource random) {
return generateSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax);
}
+
+ @Override
@@ -445,12 +445,12 @@ index 7c891be8b94a6438910a53c0473393d49b19f5d9..33250d34cc6e2733330f9c4a42f498b2
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 6747dbd11a883249f18cd51320daa663d6203bb7..5a000d95d013d9c3251ad9eafd92700091db2857 100644
index 17b29f0245c8c140528871aeada7ee36ce22944c..062439bb88dd102c679e61c1c2b7781861ec48c3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -47,6 +47,11 @@ public class TraderLlama extends Llama {
public boolean isSaddled() {
return super.isSaddled() || isTamed();
@@ -62,6 +62,11 @@ public class TraderLlama extends Llama {
public double generateSpeed(net.minecraft.util.RandomSource random) {
return generateSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax);
}
+
+ @Override
@@ -461,12 +461,12 @@ index 6747dbd11a883249f18cd51320daa663d6203bb7..5a000d95d013d9c3251ad9eafd927000
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index b6e2e7398413296449e8f132a2a6296da231f4d4..488bb0af3acb5bc077b0f4026fc0f3bd8ea081ac 100644
index e818bd705b03aa1fedfd981ec44c9b8267c67a00..b56db8da5002bd18552fbc5a96a74fbda5a1a9b0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -31,6 +31,11 @@ public class ZombieHorse extends AbstractHorse {
public boolean isTamed() {
return true;
@@ -46,6 +46,11 @@ public class ZombieHorse extends AbstractHorse {
public double generateSpeed(RandomSource random) {
return generateSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax);
}
+
+ @Override

View File

@@ -443,10 +443,10 @@ index b2c025184b9d8d272fab720a5930c030312d6e03..f49d3f6ce2407cec4a855f68cec798cd
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 0a5313546858a235c071f15d91edc4f161f6a351..bef26b0fcebb14a944a13ff4472bf7d86b63dfa1 100644
index fdb32983ddb979b53f547b6ec999cfae539b8179..d6d8d00bbb25638fccb43ae9a153f0fb828cf99c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -25,6 +25,11 @@ public class Donkey extends AbstractChestedHorse {
@@ -40,6 +40,11 @@ public class Donkey extends AbstractChestedHorse {
public int getPurpurBreedTime() {
return this.level.purpurConfig.donkeyBreedingTicks;
}
@@ -459,10 +459,10 @@ index 0a5313546858a235c071f15d91edc4f161f6a351..bef26b0fcebb14a944a13ff4472bf7d8
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index dc8ebffdd6e64dd11d1e254ea1860f287f40aa50..a72d0836c34961266dc9d39afb7986e4c2b2532c 100644
index a129757a6ad38aaea854dbfe97eb6673058d3f31..a3c1f0ce5118e75321b28e65d6ffae2c77314917 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -50,6 +50,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
@@ -65,6 +65,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public int getPurpurBreedTime() {
return this.level.purpurConfig.horseBreedingTicks;
}
@@ -475,10 +475,10 @@ index dc8ebffdd6e64dd11d1e254ea1860f287f40aa50..a72d0836c34961266dc9d39afb7986e4
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 2f585de77bb8ad5431a48710d341dff0321b124d..68796219152f05352f99ffb35a00640d391563af 100644
index 5de1bd35bdd064d1bcdd891719352beb2dae662b..de0e0b3d7b300f82717e9b69a5d6fe7dd70e1f1c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -126,6 +126,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -141,6 +141,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public int getPurpurBreedTime() {
return this.level.purpurConfig.llamaBreedingTicks;
}
@@ -491,10 +491,10 @@ index 2f585de77bb8ad5431a48710d341dff0321b124d..68796219152f05352f99ffb35a00640d
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 183c8a1355d373a7cda91532eba3d62a58639167..3cf4fcbef7720f51e84ac1b0e0b392bcdbb7c8f3 100644
index 9a192232110cc7415ddb9bf0eac066511ed2998e..edf3d35cebd3c48e4c2598a0b4ee15be885be625 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -24,6 +24,11 @@ public class Mule extends AbstractChestedHorse {
@@ -39,6 +39,11 @@ public class Mule extends AbstractChestedHorse {
public int getPurpurBreedTime() {
return this.level.purpurConfig.muleBreedingTicks;
}
@@ -507,10 +507,10 @@ index 183c8a1355d373a7cda91532eba3d62a58639167..3cf4fcbef7720f51e84ac1b0e0b392bc
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 33250d34cc6e2733330f9c4a42f498b2bbc73b33..6b97898fae19e755b57eb13e2577e774024ba1e3 100644
index fa25f231fb305a5d0930b8777bbb4b0c2bd1134d..0cb8982a159bc30c9601082347decd89815af9ee 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -38,6 +38,11 @@ public class SkeletonHorse extends AbstractHorse {
@@ -53,6 +53,11 @@ public class SkeletonHorse extends AbstractHorse {
public int getPurpurBreedTime() {
return 6000;
}
@@ -523,10 +523,10 @@ index 33250d34cc6e2733330f9c4a42f498b2bbc73b33..6b97898fae19e755b57eb13e2577e774
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 5a000d95d013d9c3251ad9eafd92700091db2857..dc5e763ee7c61a4ec2fc13275e16755d91d22552 100644
index 062439bb88dd102c679e61c1c2b7781861ec48c3..5bae585bb21f6e1a72964706a8b990dc6851b30d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -52,6 +52,11 @@ public class TraderLlama extends Llama {
@@ -67,6 +67,11 @@ public class TraderLlama extends Llama {
public int getPurpurBreedTime() {
return this.level.purpurConfig.traderLlamaBreedingTicks;
}
@@ -539,10 +539,10 @@ index 5a000d95d013d9c3251ad9eafd92700091db2857..dc5e763ee7c61a4ec2fc13275e16755d
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 488bb0af3acb5bc077b0f4026fc0f3bd8ea081ac..1e22232350cd804c9efa999e9f10042ef4b241cc 100644
index b56db8da5002bd18552fbc5a96a74fbda5a1a9b0..78eb44e299689f9532009d3a312555e8d8d24f1d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -36,6 +36,11 @@ public class ZombieHorse extends AbstractHorse {
@@ -51,6 +51,11 @@ public class ZombieHorse extends AbstractHorse {
public int getPurpurBreedTime() {
return 6000;
}

View File

@@ -19,10 +19,10 @@ index 7b141c495095afcd9c8b04c059d692e829259e7a..ad30f2d678cfc4b0d693e84e6e152c63
List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
EntityType<?> entityType = entity.getType();
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 68796219152f05352f99ffb35a00640d391563af..b0984897033f5c1b4b202bc2299484a643f7bc19 100644
index de0e0b3d7b300f82717e9b69a5d6fe7dd70e1f1c..0a2adbda0f1c4c6e3695ee39af687f69663f3ae4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -525,7 +525,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -540,7 +540,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
}
public void joinCaravan(Llama llama) {

View File

@@ -437,10 +437,10 @@ index f49d3f6ce2407cec4a855f68cec798cdeff30d35..d46aab019e5a064af5e3fea3154499b5
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index bef26b0fcebb14a944a13ff4472bf7d86b63dfa1..4d9e961e06e188d03ee3fa100a7133046339d438 100644
index d6d8d00bbb25638fccb43ae9a153f0fb828cf99c..7ad29aacc73ca1cb98b76ad36b92a3edb2256629 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -30,6 +30,11 @@ public class Donkey extends AbstractChestedHorse {
@@ -45,6 +45,11 @@ public class Donkey extends AbstractChestedHorse {
public boolean isSensitiveToWater() {
return this.level.purpurConfig.donkeyTakeDamageFromWater;
}
@@ -453,10 +453,10 @@ index bef26b0fcebb14a944a13ff4472bf7d86b63dfa1..4d9e961e06e188d03ee3fa100a713304
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index a72d0836c34961266dc9d39afb7986e4c2b2532c..2686107fd3be37d7011e9925ebb91a12af6db98f 100644
index a3c1f0ce5118e75321b28e65d6ffae2c77314917..fb433878731b824b4d595b7f28626f25bdfabbeb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -55,6 +55,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
@@ -70,6 +70,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public boolean isSensitiveToWater() {
return this.level.purpurConfig.horseTakeDamageFromWater;
}
@@ -469,10 +469,10 @@ index a72d0836c34961266dc9d39afb7986e4c2b2532c..2686107fd3be37d7011e9925ebb91a12
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index b0984897033f5c1b4b202bc2299484a643f7bc19..160071ec8d2dcd75d2283604a31175250ac6b6d5 100644
index 0a2adbda0f1c4c6e3695ee39af687f69663f3ae4..309fd5bccadcc584354d328bd31a6f4591c2d0a0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -131,6 +131,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -146,6 +146,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public boolean isSensitiveToWater() {
return this.level.purpurConfig.llamaTakeDamageFromWater;
}
@@ -485,10 +485,10 @@ index b0984897033f5c1b4b202bc2299484a643f7bc19..160071ec8d2dcd75d2283604a3117525
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 3cf4fcbef7720f51e84ac1b0e0b392bcdbb7c8f3..867aa2cdac6e32cdb02addbd1dd0da3ccf8269ef 100644
index edf3d35cebd3c48e4c2598a0b4ee15be885be625..59f1acea8990ad4e9d3a71f6f1c790c4356169f0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -29,6 +29,11 @@ public class Mule extends AbstractChestedHorse {
@@ -44,6 +44,11 @@ public class Mule extends AbstractChestedHorse {
public boolean isSensitiveToWater() {
return this.level.purpurConfig.muleTakeDamageFromWater;
}
@@ -501,10 +501,10 @@ index 3cf4fcbef7720f51e84ac1b0e0b392bcdbb7c8f3..867aa2cdac6e32cdb02addbd1dd0da3c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 6b97898fae19e755b57eb13e2577e774024ba1e3..93ea9e8bb1f8d7746f122b2939e00c98ce6fec10 100644
index 0cb8982a159bc30c9601082347decd89815af9ee..ac3f8e004445dde937625ecaad7d51a3576e37d3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -43,6 +43,11 @@ public class SkeletonHorse extends AbstractHorse {
@@ -58,6 +58,11 @@ public class SkeletonHorse extends AbstractHorse {
public boolean isSensitiveToWater() {
return this.level.purpurConfig.skeletonHorseTakeDamageFromWater;
}
@@ -517,10 +517,10 @@ index 6b97898fae19e755b57eb13e2577e774024ba1e3..93ea9e8bb1f8d7746f122b2939e00c98
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index dc5e763ee7c61a4ec2fc13275e16755d91d22552..4178265a19b717259822ab8fafd687603221c743 100644
index 5bae585bb21f6e1a72964706a8b990dc6851b30d..834ab8bc597a5fb195e94454c0f9b81cf4c7e0f3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -57,6 +57,11 @@ public class TraderLlama extends Llama {
@@ -72,6 +72,11 @@ public class TraderLlama extends Llama {
public boolean isSensitiveToWater() {
return this.level.purpurConfig.traderLlamaTakeDamageFromWater;
}
@@ -533,10 +533,10 @@ index dc5e763ee7c61a4ec2fc13275e16755d91d22552..4178265a19b717259822ab8fafd68760
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 1e22232350cd804c9efa999e9f10042ef4b241cc..02fa2e6c697d91fd0bc3dc4347bdf52b5a3a36b7 100644
index 78eb44e299689f9532009d3a312555e8d8d24f1d..ae663a9b32c281f745592afa614f55c0280b4c58 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -41,6 +41,11 @@ public class ZombieHorse extends AbstractHorse {
@@ -56,6 +56,11 @@ public class ZombieHorse extends AbstractHorse {
public boolean isSensitiveToWater() {
return this.level.purpurConfig.zombieHorseTakeDamageFromWater;
}