@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
55
66
77diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
8- index de2a1621b2d671de8f1c10463661cb361cd9e6b4..120377f090669ef06ad6d53fa55facfb9e1e800a 100644
8+ index 9501683d6a6239e7a053f9a40a377783232bbe8e..8b9efc0477f1d97414d12282bd9d10a7d2ec83a8 100644
99--- a/src/main/java/net/minecraft/world/entity/Entity.java
1010+++ b/src/main/java/net/minecraft/world/entity/Entity.java
1111@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
@@ -238,7 +238,7 @@ index 66f80ec010909648278c4e74c80d3766b9cf6c6a..14daac1a87e32e0ff0a610aef256e20c
238238 return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
239239 }
240240diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
241- index 5b3a2010da3b6429da783f8263fd170a4fb8d80b..2832d7cbcfad43b3f0f6c33504cff68add85601d 100644
241+ index 61af090813936bac334a487c21e9e67f80a4c413..6c7354ca03efdaf9e01d4a63f8ac38e74c0c35c8 100644
242242--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
243243+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
244244@@ -140,6 +140,12 @@ public class Panda extends Animal {
@@ -475,7 +475,7 @@ index d1dd2cda473bb2294dc10c66c13eac8591ea4d5b..5cd79df01d4dbe7a1af530c502a78e48
475475 public Map<String, Vector3f> getModelRotationValues() {
476476 return this.modelRotationValues;
477477diff --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
478- index 29108c481756d3150fd0ae69f6d249d127b11fdd..85a557b50498bb83eeec4125aa2ae14f3bfaaab8 100644
478+ index 02d19eaa4599951dd8a8fe594946c8a3dc5b30a9..909d32553ffd7a32f44f7201fdab850e4bcfdcc7 100644
479479--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
480480+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
481481@@ -320,6 +320,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -503,7 +503,7 @@ index 29108c481756d3150fd0ae69f6d249d127b11fdd..85a557b50498bb83eeec4125aa2ae14f
503503 protected SoundEvent getAmbientSound() {
504504 return SoundEvents.CAMEL_AMBIENT;
505505diff --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
506- index 27050c00ea4e4b301d4c85528117fc1d87e6f1ef..ad4d4e38a2f0125e0943945c9440a9be80b60257 100644
506+ index 73db73bb5b47f586ce32249458268e4b7cda2003..a27e99ee6d8d2406d141dc1537c7098f43a29318 100644
507507--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
508508+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
509509@@ -162,6 +162,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -613,7 +613,7 @@ index 3e50581033e88e8eddcbd85bfa890cbe0b88a7e6..92339f5a07dcb6bf7eb1bce6d584464e
613613 protected void randomizeAttributes(RandomSource random) {
614614 this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
615615diff --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
616- index 0549974c56ae7d05b5eec77029c5d08a6614a8bf..278c33b7de4472a746cdbc1faaa68e05592777bc 100644
616+ index cd11879b8ad7977ca9c0c26d9bcc26ac7078a265..8c8c135e9bc707ae8e2aad249302109023f6fea3 100644
617617--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
618618+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
619619@@ -124,6 +124,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -665,7 +665,7 @@ index ae7bcfa608d8bdd2a2320618225294de0314ce53..abbeb305b2d09e9c4c02ade603adac5c
665665 protected SoundEvent getAmbientSound() {
666666 return SoundEvents.MULE_AMBIENT;
667667diff --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
668- index 6d5a37facc288ebb27d96c2451091ea299c16077..8ffba7c368f936ea5cdfc46c5fa76c3feb63e1ac 100644
668+ index 0318297ed96a640932728d704fa273c4d126e034..cc8813c572618700981403d513f30b8a06e4c49e 100644
669669--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
670670+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
671671@@ -38,6 +38,21 @@ public class SkeletonHorse extends AbstractHorse {
@@ -717,7 +717,7 @@ index 5fc37e2322188e0db12f7679e40b1a3d40268ca7..4abb9d5fedf63eba9dc3f716d44ea118
717717 public boolean isTraderLlama() {
718718 return true;
719719diff --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
720- index 6c03ad3d978378221db3e5bed947738bd710eae0..2e6b55a01e022252245c16ed310920bcba072975 100644
720+ index 8c5a083f3db046709a38355343ad7e5ab45779b5..ebfd54d835cdac3f95c926b3e2e10db6170b4dd7 100644
721721--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
722722+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
723723@@ -34,6 +34,21 @@ public class ZombieHorse extends AbstractHorse {
@@ -1504,7 +1504,7 @@ index 2bed7b373813660139d2322dcd6b83f3015768f0..731bf43e2685554174d7ff295b5561ec
15041504 protected void registerGoals() {
15051505 this.goalSelector.addGoal(0, new FloatGoal(this));
15061506diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
1507- index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b023919b77 100644
1507+ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90cade0996 100644
15081508--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
15091509+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
15101510@@ -112,99 +112,190 @@ public class PurpurWorldConfig {
@@ -2188,7 +2188,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
21882188 private void phantomSettings() {
21892189 phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
21902190 phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
2191- @@ -461,189 +806,361 @@ public class PurpurWorldConfig {
2191+ @@ -461,191 +806,363 @@ public class PurpurWorldConfig {
21922192 phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
21932193 phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
21942194 phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2411,6 +2411,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
24112411+ skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
24122412 }
24132413
2414+ public boolean skeletonHorseRidable = false;
24142415 public boolean skeletonHorseRidableInWater = true;
24152416 public boolean skeletonHorseCanSwim = false;
24162417+ public double skeletonHorseMaxHealthMin = 15.0D;
@@ -2420,6 +2421,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
24202421+ public double skeletonHorseMovementSpeedMin = 0.2D;
24212422+ public double skeletonHorseMovementSpeedMax = 0.2D;
24222423 private void skeletonHorseSettings() {
2424+ skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable);
24232425 skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
24242426 skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
24252427+ if (PurpurConfig.version < 10) {
@@ -2550,7 +2552,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
25502552 }
25512553
25522554 public boolean tadpoleRidable = false;
2553- @@ -658 ,64 +1175 ,125 @@ public class PurpurWorldConfig {
2555+ @@ -660 ,64 +1177 ,125 @@ public class PurpurWorldConfig {
25542556 public boolean traderLlamaRidable = false;
25552557 public boolean traderLlamaRidableInWater = false;
25562558 public boolean traderLlamaControllable = true;
@@ -2676,7 +2678,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
26762678 }
26772679
26782680 public boolean wardenRidable = false;
2679- @@ -730,81 +1308,165 @@ public class PurpurWorldConfig {
2681+ @@ -732,83 +1310,167 @@ public class PurpurWorldConfig {
26802682 public boolean witchRidable = false;
26812683 public boolean witchRidableInWater = true;
26822684 public boolean witchControllable = true;
@@ -2781,6 +2783,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
27812783+ zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
27822784 }
27832785
2786+ public boolean zombieHorseRidable = false;
27842787 public boolean zombieHorseRidableInWater = false;
27852788 public boolean zombieHorseCanSwim = false;
27862789+ public double zombieHorseMaxHealthMin = 15.0D;
@@ -2790,6 +2793,7 @@ index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b0
27902793+ public double zombieHorseMovementSpeedMin = 0.2D;
27912794+ public double zombieHorseMovementSpeedMax = 0.2D;
27922795 private void zombieHorseSettings() {
2796+ zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
27932797 zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
27942798 zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
27952799+ if (PurpurConfig.version < 10) {
0 commit comments