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

@@ -2092,6 +2092,34 @@ index 991e3274091c4e25eebc6debd44653e5b566eedb..09502b15c20f401c3b56ecedc4d3b515
this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop();
this.level().getProfiler().push("allayActivityUpdate");
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 b38281f963377cc82b360e8457da7cad033b8c36..921b545d1abe74b8301dbd56e39b254a14817f77 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
@@ -77,6 +77,23 @@ public class Armadillo extends Animal {
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 12.0D).add(Attributes.MOVEMENT_SPEED, 0.14D);
}
+ // Purpur start
+ @Override
+ public boolean isRidable() {
+ return level().purpurConfig.armadilloRidable;
+ }
+
+ @Override
+ public boolean dismountsUnderwater() {
+ return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.armadilloRidableInWater;
+ }
+
+ @Override
+ public boolean isControllable() {
+ return level().purpurConfig.armadilloControllable;
+ }
+ // Purpur end
+
@Override
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
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 a8cc6ddbf45370fe632e5c5fb7ceef3d299e62a4..045ac081120f65987251d04d1522a5b7197e1d88 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -3112,6 +3140,34 @@ index aee2fa184bc5723dfd3d54f460a173982d874c8b..0e1aa9a00284ce43436b1290f9ebe243
this.nextHeightOffsetChangeTick--;
if (this.nextHeightOffsetChangeTick <= 0) {
this.nextHeightOffsetChangeTick = 100;
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 e9f9b041ae7195e9d23bd446454b1d8c47a1ace1..a01b87f4adcb868d3cc5c24f2423f58d96ebf7fa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
@@ -45,6 +45,23 @@ public class Bogged extends AbstractSkeleton implements Shearable {
super(type, world);
}
+ // Purpur start
+ @Override
+ public boolean isRidable() {
+ return level().purpurConfig.boggedRidable;
+ }
+
+ @Override
+ public boolean dismountsUnderwater() {
+ return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.boggedRidableInWater;
+ }
+
+ @Override
+ public boolean isControllable() {
+ return level().purpurConfig.boggedControllable;
+ }
+ // Purpur end
+
@Override
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
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 87e4b300ac248f6c13d9b4a8f24fd78b24b565b4..504996c8309fcd11de1dd166dee12d7e7db8db56 100644
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
@@ -5137,10 +5193,10 @@ index 4f015144be0a7a448c6c2b0765232c02ad405d09..169722178ba7cd9543a029741e81d025
+ }
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..3eae97d610d8f61528b87039723ef4ce2dc75c91 100644
index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..bb64706d04fb25dcd564799c26fad231086ff827 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -89,4 +89,726 @@ public class PurpurWorldConfig {
@@ -89,4 +89,744 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}
@@ -5165,6 +5221,15 @@ index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..3eae97d610d8f61528b87039723ef4ce
+ allayControllable = getBoolean("mobs.allay.controllable", allayControllable);
+ }
+
+ public boolean armadilloRidable = false;
+ public boolean armadilloRidableInWater = true;
+ public boolean armadilloControllable = true;
+ private void armadilloSettings() {
+ armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
+ armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
+ armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
+ }
+
+ public boolean axolotlRidable = false;
+ public boolean axolotlControllable = true;
+ private void axolotlSettings() {
@@ -5205,6 +5270,15 @@ index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..3eae97d610d8f61528b87039723ef4ce
+ blazeMaxY = getDouble("mobs.blaze.ridable-max-y", blazeMaxY);
+ }
+
+ public boolean boggedRidable = false;
+ public boolean boggedRidableInWater = true;
+ public boolean boggedControllable = true;
+ private void boggedSettings() {
+ boggedRidable = getBoolean("mobs.bogged.ridable", boggedRidable);
+ boggedRidableInWater = getBoolean("mobs.bogged.ridable-in-water", boggedRidableInWater);
+ boggedControllable = getBoolean("mobs.bogged.controllable", boggedControllable);
+ }
+
+ public boolean camelRidableInWater = false;
+ private void camelSettings() {
+ camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);