add missing armadillo & bogged options, closes #1527

This commit is contained in:
granny
2024-06-13 17:06:34 -07:00
parent cc56332b4e
commit f1c87e4fee
85 changed files with 772 additions and 633 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b976ea5d919f73c406adea90603f4a78b761fd25..28c8860d145eb34911e1a54a15597d8c873df872 100644
index 757aeb4b715b17d3f239b495899b0d8874811db8..5e9be6af06d02ae46aa51ec24771a92cce443652 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -163,7 +163,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,7 +34,7 @@ index aa76a24421cdb3908a3544d92eb3d1e3c2ebedc4..8211c152e6f4232e82e452b08047e457
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f790211062a14b5d70dac178c31bfc7033779222..9ddc0cf7107cff08ac3ae75c51b3119161304820 100644
index 8623501c6f6567d146f9314f151629b5c25af289..0b542d2cb370b4ca9d04256264c8e8592743aa2f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -301,6 +301,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -460,6 +460,22 @@ index 92cc8a9b033052d5f510792d916c60cb2b90f07c..3235ed40d502722e888656776ba1a218
@Override
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index 921b545d1abe74b8301dbd56e39b254a14817f77..2c4a353c86521bf3018cd17748c8cb29330732d2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -92,6 +92,11 @@ public class Armadillo extends Animal {
public boolean isControllable() {
return level().purpurConfig.armadilloControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 045ac081120f65987251d04d1522a5b7197e1d88..414ff28670c3d36dc78e3df4d39b6d4eb3ec1e77 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -817,6 +833,22 @@ index 0e1aa9a00284ce43436b1290f9ebe243c4d09fdc..220deda05517fd200070f823ad7af075
@Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
index a01b87f4adcb868d3cc5c24f2423f58d96ebf7fa..ebec95ca146591f170d9e31bbc774e88806269a2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
@@ -60,6 +60,11 @@ public class Bogged extends AbstractSkeleton implements Shearable {
public boolean isControllable() {
return level().purpurConfig.boggedControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.boggedMaxHealth);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
index 504996c8309fcd11de1dd166dee12d7e7db8db56..562f73dd5e617c10382c50be86ce88f4de1a4fe1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
@@ -1507,10 +1539,20 @@ index 6bdf3d1e3652a661282d61f1dc2bfc2712339953..ac3cca0db4478841f91d966bd49ca4e5
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90cade0996 100644
index bb64706d04fb25dcd564799c26fad231086ff827..767d977cf47b0c7d94c248091f3ce98d6383ae04 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,99 +112,190 @@ public class PurpurWorldConfig {
@@ -113,116 +113,211 @@ public class PurpurWorldConfig {
public boolean armadilloRidable = false;
public boolean armadilloRidableInWater = true;
public boolean armadilloControllable = true;
+ public double armadilloMaxHealth = 12.0D;
private void armadilloSettings() {
armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
+ armadilloMaxHealth = getDouble("mobs.armadillo.attributes.max_health", armadilloMaxHealth);
}
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
@@ -1589,6 +1631,17 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
+ blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
}
public boolean boggedRidable = false;
public boolean boggedRidableInWater = true;
public boolean boggedControllable = true;
+ public double boggedMaxHealth = 16.0D;
private void boggedSettings() {
boggedRidable = getBoolean("mobs.bogged.ridable", boggedRidable);
boggedRidableInWater = getBoolean("mobs.bogged.ridable-in-water", boggedRidableInWater);
boggedControllable = getBoolean("mobs.bogged.controllable", boggedControllable);
+ boggedMaxHealth = getDouble("mobs.bogged.attributes.max_health", boggedMaxHealth);
}
public boolean camelRidableInWater = false;
+ public double camelMaxHealthMin = 32.0D;
+ public double camelMaxHealthMax = 32.0D;
@@ -1701,7 +1754,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean dolphinRidable = false;
@@ -212,80 +303,161 @@ public class PurpurWorldConfig {
@@ -230,80 +325,161 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
@@ -1863,7 +1916,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean frogRidable = false;
@@ -303,147 +475,316 @@ public class PurpurWorldConfig {
@@ -321,147 +497,316 @@ public class PurpurWorldConfig {
public boolean ghastRidableInWater = true;
public boolean ghastControllable = true;
public double ghastMaxY = 320D;
@@ -2180,7 +2233,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean phantomRidable = false;
@@ -453,6 +794,10 @@ public class PurpurWorldConfig {
@@ -471,6 +816,10 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -2191,7 +2244,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -461,191 +806,363 @@ public class PurpurWorldConfig {
@@ -479,191 +828,363 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2555,7 +2608,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean tadpoleRidable = false;
@@ -660,64 +1177,125 @@ public class PurpurWorldConfig {
@@ -678,64 +1199,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2681,7 +2734,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean wardenRidable = false;
@@ -732,83 +1310,167 @@ public class PurpurWorldConfig {
@@ -750,83 +1332,167 @@ public class PurpurWorldConfig {
public boolean witchRidable = false;
public boolean witchRidableInWater = true;
public boolean witchControllable = true;