Add missing parched, camel_husk and breeze settings, add special for breeze (#1791)

This commit is contained in:
Amine Kacimi
2026-06-22 20:52:57 +01:00
committed by GitHub
parent 62ec3a127b
commit 718c13c4d5
8 changed files with 350 additions and 23 deletions

View File

@@ -155,6 +155,34 @@ index 8296a5a5935a77b01f4d11b102f3159d97fc8a30..431f296bf651942cd390b7f383295eae
@Override
public SoundEvent getAmbientSound() {
return SoundEvents.CAMEL_AMBIENT;
diff --git a/net/minecraft/world/entity/animal/camel/CamelHusk.java b/net/minecraft/world/entity/animal/camel/CamelHusk.java
index d634818efe3e661d2edc1fabbe25f4f5c34b41ae..1aa414f7912352c2815cdffd633db14fc11fa591 100644
--- a/net/minecraft/world/entity/animal/camel/CamelHusk.java
+++ b/net/minecraft/world/entity/animal/camel/CamelHusk.java
@@ -33,6 +33,23 @@ public class CamelHusk extends Camel {
}
// Purpur end - Ridables
+ // Purpur start - Configurable entity base attributes
+ @Override
+ public float generateMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateMaxHealth(this.level().purpurConfig.camelHuskMaxHealthMin, this.level().purpurConfig.camelHuskMaxHealthMax);
+ }
+
+ @Override
+ public double generateJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateJumpStrength(this.level().purpurConfig.camelHuskJumpStrengthMin, this.level().purpurConfig.camelHuskJumpStrengthMax);
+ }
+
+ @Override
+ public double generateSpeed(net.minecraft.util.RandomSource random) {
+ return generateSpeed(this.level().purpurConfig.camelHuskMovementSpeedMin, this.level().purpurConfig.camelHuskMovementSpeedMax);
+ }
+ // Purpur end - Configurable entity base attributes
+
@Override
public boolean removeWhenFarAway(final double distSqr) {
return true;
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
index b0191f605e6f5e7be78a44868bef1805fc2d005c..2d9043763be094376f75b88758a2f487ec89d7c0 100644
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
@@ -1048,7 +1076,7 @@ index c1acc0a648493ec33ef4fc4a48b52fe0b3dc04b2..b553c6dd60bd23fba7ee3df9886561fc
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
index 81031650d914c5d973d5bd89547ce58e92b1acc6..893adb6acdb292c618753d12f6f891e0cce0f207 100644
index c1ce9166cbe5c7b4e881141482052b4a537ceb7b..911a438c6c9a727adf8efb1a860aec55c3290fa5 100644
--- a/net/minecraft/world/entity/monster/Creeper.java
+++ b/net/minecraft/world/entity/monster/Creeper.java
@@ -137,6 +137,14 @@ public class Creeper extends Monster {
@@ -1366,6 +1394,25 @@ index 41cd8cef18309f1dcfdb5c45f6733bad10587303..f449875ed2ada648aef7f0cfff52c08e
@Override
protected Brain<Zoglin> makeBrain(final Brain.Packed packedBrain) {
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
diff --git a/net/minecraft/world/entity/monster/breeze/Breeze.java b/net/minecraft/world/entity/monster/breeze/Breeze.java
index 76222d49e4f321d2d8f763cfeae3815ad40123d5..3b4f2d38b7a102ea77140c9838c09196e99bb892 100644
--- a/net/minecraft/world/entity/monster/breeze/Breeze.java
+++ b/net/minecraft/world/entity/monster/breeze/Breeze.java
@@ -123,6 +123,14 @@ public class Breeze extends Monster {
}
// Purpur end - Ridables
+ // Purpur start - Configurable entity base attributes
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.breezeMaxHealth);
+ this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.breezeScale);
+ }
+ // Purpur end - Configurable entity base attributes
+
@Override
public Brain<Breeze> getBrain() {
return (Brain<Breeze>)super.getBrain();
diff --git a/net/minecraft/world/entity/monster/creaking/Creaking.java b/net/minecraft/world/entity/monster/creaking/Creaking.java
index a63b919b08b2fba048a338fe24ae2a1b90c869bd..bb0508e1273ff0ab8db37868b78d16f0c15e854d 100644
--- a/net/minecraft/world/entity/monster/creaking/Creaking.java
@@ -1679,6 +1726,25 @@ index 6bb58edc4317e33da1d6053b1c66a9ac10fb6ad9..dd55f35c828beb57ae1f995ecbbacb95
@Override
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
super.defineSynchedData(entityData);
diff --git a/net/minecraft/world/entity/monster/skeleton/Parched.java b/net/minecraft/world/entity/monster/skeleton/Parched.java
index 87e281968803650755ed8987077d87f73eb048d4..bddfca55704b586d11b6cc5905c80303928c5d4b 100644
--- a/net/minecraft/world/entity/monster/skeleton/Parched.java
+++ b/net/minecraft/world/entity/monster/skeleton/Parched.java
@@ -36,6 +36,14 @@ public class Parched extends AbstractSkeleton {
}
// Purpur end - Ridables
+ // Purpur start - Configurable entity base attributes
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.parchedMaxHealth);
+ this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.parchedScale);
+ }
+ // Purpur end - Configurable entity base attributes
+
@Override
protected AbstractArrow getArrow(final ItemStack projectile, final float power, final @Nullable ItemStack firingWeapon) {
AbstractArrow arrow = super.getArrow(projectile, power, firingWeapon);
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
index d92db02786ce6989ca5d8a2d7647e4f60a66ce82..c48e758fe08b753bbc5fd1e9fe2568a220f7368e 100644
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
@@ -1698,10 +1764,10 @@ index d92db02786ce6989ca5d8a2d7647e4f60a66ce82..c48e758fe08b753bbc5fd1e9fe2568a2
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
super.defineSynchedData(entityData);
diff --git a/net/minecraft/world/entity/monster/skeleton/Stray.java b/net/minecraft/world/entity/monster/skeleton/Stray.java
index ce8d70886fd84f10400a1bfee857434fe5e4857b..f028e74e34b16cfa4b5c808a8896521d4709d03f 100644
index ce8d70886fd84f10400a1bfee857434fe5e4857b..20df146fd89837f1d294da871d11823f2a3d2507 100644
--- a/net/minecraft/world/entity/monster/skeleton/Stray.java
+++ b/net/minecraft/world/entity/monster/skeleton/Stray.java
@@ -40,6 +40,13 @@ public class Stray extends AbstractSkeleton {
@@ -40,6 +40,14 @@ public class Stray extends AbstractSkeleton {
}
// Purpur end - Ridables
@@ -1709,6 +1775,7 @@ index ce8d70886fd84f10400a1bfee857434fe5e4857b..f028e74e34b16cfa4b5c808a8896521d
+ @Override
+ public void initAttributes() {
+ this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.strayMaxHealth);
+ this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SCALE).setBaseValue(this.level().purpurConfig.strayScale);
+ }
+ // Purpur end - Configurable entity base attributes
+