phantom size; slime/magmacube/phantom attack_damage

This commit is contained in:
BillyGalbreath
2022-01-17 21:38:01 -06:00
parent 0242f72ba9
commit 930084af05
188 changed files with 1086 additions and 1001 deletions

View File

@@ -197,7 +197,7 @@ index 4bf4403cb65b8e1fee9c253c7932ad839a99c92e..97d4caad92a2b54daff12e4909bc7b04
public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index a3f04f6b4df1c7d8759addecaa4ea16e08b456f5..6270c4bad2c4f4f2770bc2cc2688de5ddd18dae4 100644
index 615784e3b53d43e2167d91bb41c26079998d7f47..3ac330e769689b55063c6b5e3ccc2e362f2a4c49 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -137,6 +137,11 @@ public class Panda extends Animal {
@@ -780,12 +780,12 @@ index 4ed0fb155dfae60cee24dc0752fa525c90f2f442..322058dbb82888c70bf770bed58356dc
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
index 68abf045f0510abc45bdc2fd8c147f27c2fa784d..cd6b136960b2c37c6e6d56c4e5f7fd302e49e5e7 100644
index cf69ac8710df2f01fed76389d53fb121a2319273..87a316e4ae92990800bc1b91ed44ce184b4cd933 100644
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
@@ -52,6 +52,11 @@ public class MagmaCube extends Slime {
protected String getMaxHealthEquation() {
return level.purpurConfig.magmaCubeMaxHealth;
@@ -62,6 +62,11 @@ public class MagmaCube extends Slime {
protected java.util.Map<Integer, Double> getAttackDamageCache() {
return level.purpurConfig.magmaCubeAttackDamageCache;
}
+
+ @Override
@@ -796,10 +796,10 @@ index 68abf045f0510abc45bdc2fd8c147f27c2fa784d..cd6b136960b2c37c6e6d56c4e5f7fd30
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 97e3e25263e1cea87d0b420da05271b83bc29164..05eba1970086a42b3609094a3d59119c9d178e74 100644
index 130b7e356b5aba604eaaaac2d2898e13359fd6fc..843335bcbdfef0c705dd95beeef8b4f61063f028 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -136,6 +136,11 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -146,6 +146,11 @@ public class Phantom extends FlyingMob implements Enemy {
public boolean isCirclingCrystal() {
return crystalPosition != null;
}
@@ -892,12 +892,12 @@ index 9448bdd5026f35bba805dee19ceead5d76bda951..9350d4dd73db4227ab65452083d1cec7
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 92a5dc8a26bb6177634e5f1afb37f12828c70ace..d49ba154d173aa7bf5a679b7bfcc55de851ea34b 100644
index 296165ff7b1ac5c6690fb3cc195a3ae3e6115611..b81cc912b036d1da491bf685139d169cd6055067 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -125,6 +125,11 @@ public class Slime extends Mob implements Enemy {
@@ -132,6 +132,11 @@ public class Slime extends Mob implements Enemy {
}
return maxHealth;
return value;
}
+
+ @Override
@@ -1033,7 +1033,7 @@ index fe315ebb69773d243feb2fbda369fc6ff23d93c8..f96d891eeae384a210a7399a605d5d9c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 8fe5ce2242b136f930584fdf6b5fcf27030f248b..493f3fe736cef11531d345b076ca240b5feb6ff2 100644
index f2ff721fd7d1124e72f8cea4141769fb37f97b16..e4ead1ced18f16715440c8562a89d7d359add98e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -131,6 +131,11 @@ public class Zombie extends Monster {
@@ -1081,7 +1081,7 @@ index f8b742ee8e637edd8e8b05aff2fcc7a75afe959a..fd2828469badbc7936ea68c0bdd8d689
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 0cc680cdcbda6b5b5dfb08df8a2e52510cd5b854..6a41212b1fa2fe61177901dd64c77a92d7d502a4 100644
index 7013ae9b2649b98471902e37747b80812e0a09e0..1e2dc76ace2e283a4ba7b81e299c7506e4b684d1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -87,6 +87,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -1097,7 +1097,7 @@ index 0cc680cdcbda6b5b5dfb08df8a2e52510cd5b854..6a41212b1fa2fe61177901dd64c77a92
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index badf1fc1a5f5ca0086b45876171a18cad00896b7..89e4364c6c55b5fa0e34e90c87fc622583277c73 100644
index 107afea31c75f11e82672def7300d277dec7af1d..8d85157acefb588091d96eaa0124049a7cfbe19c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -111,6 +111,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -1161,10 +1161,10 @@ index c5dbb1c8210b71f7d9d91089cb139f65605573a8..e5b78c9d6fb326771d65ea9afd9da38c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83f780e8b2 100644
index 067a8d3bc2a1190f9f9c83b4a2b99400c1e63ac5..f70f0407b1f43b9f21dfd9053da942eea17c9bba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -548,6 +548,7 @@ public class PurpurWorldConfig {
@@ -549,6 +549,7 @@ public class PurpurWorldConfig {
useNightVisionWhenRiding = getBoolean("ridable-settings.use-night-vision", useNightVisionWhenRiding);
}
@@ -1172,7 +1172,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
public int axolotlBreedingTicks = 6000;
@@ -555,6 +556,7 @@ public class PurpurWorldConfig {
@@ -556,6 +557,7 @@ public class PurpurWorldConfig {
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
@@ -1180,7 +1180,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean batRidable = false;
@@ -568,6 +570,7 @@ public class PurpurWorldConfig {
@@ -569,6 +571,7 @@ public class PurpurWorldConfig {
public double batArmor = 0.0D;
public double batArmorToughness = 0.0D;
public double batAttackKnockback = 0.0D;
@@ -1188,7 +1188,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void batSettings() {
batRidable = getBoolean("mobs.bat.ridable", batRidable);
batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater);
@@ -578,6 +581,7 @@ public class PurpurWorldConfig {
@@ -579,6 +582,7 @@ public class PurpurWorldConfig {
set("mobs.bat.attributes.max_health", oldValue);
}
batMaxHealth = getDouble("mobs.bat.attributes.max_health", batMaxHealth);
@@ -1196,7 +1196,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean beeRidable = false;
@@ -585,6 +589,7 @@ public class PurpurWorldConfig {
@@ -586,6 +590,7 @@ public class PurpurWorldConfig {
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
@@ -1204,7 +1204,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -596,12 +601,14 @@ public class PurpurWorldConfig {
@@ -597,12 +602,14 @@ public class PurpurWorldConfig {
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
@@ -1219,7 +1219,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void blazeSettings() {
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
@@ -612,6 +619,7 @@ public class PurpurWorldConfig {
@@ -613,6 +620,7 @@ public class PurpurWorldConfig {
set("mobs.blaze.attributes.max_health", oldValue);
}
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
@@ -1227,7 +1227,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean catRidable = false;
@@ -622,6 +630,7 @@ public class PurpurWorldConfig {
@@ -623,6 +631,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -1235,7 +1235,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -640,11 +649,13 @@ public class PurpurWorldConfig {
@@ -641,11 +650,13 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -1249,7 +1249,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void caveSpiderSettings() {
caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable);
caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater);
@@ -654,6 +665,7 @@ public class PurpurWorldConfig {
@@ -655,6 +666,7 @@ public class PurpurWorldConfig {
set("mobs.cave_spider.attributes.max_health", oldValue);
}
caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth);
@@ -1257,7 +1257,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean chickenRidable = false;
@@ -661,6 +673,7 @@ public class PurpurWorldConfig {
@@ -662,6 +674,7 @@ public class PurpurWorldConfig {
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
public int chickenBreedingTicks = 6000;
@@ -1265,7 +1265,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -672,10 +685,12 @@ public class PurpurWorldConfig {
@@ -673,10 +686,12 @@ public class PurpurWorldConfig {
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
@@ -1278,7 +1278,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void codSettings() {
codRidable = getBoolean("mobs.cod.ridable", codRidable);
if (PurpurConfig.version < 10) {
@@ -684,6 +699,7 @@ public class PurpurWorldConfig {
@@ -685,6 +700,7 @@ public class PurpurWorldConfig {
set("mobs.cod.attributes.max_health", oldValue);
}
codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth);
@@ -1286,7 +1286,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean cowRidable = false;
@@ -691,6 +707,7 @@ public class PurpurWorldConfig {
@@ -692,6 +708,7 @@ public class PurpurWorldConfig {
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
@@ -1294,7 +1294,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -702,6 +719,7 @@ public class PurpurWorldConfig {
@@ -703,6 +720,7 @@ public class PurpurWorldConfig {
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
@@ -1302,7 +1302,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean creeperRidable = false;
@@ -710,6 +728,7 @@ public class PurpurWorldConfig {
@@ -711,6 +729,7 @@ public class PurpurWorldConfig {
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
@@ -1310,7 +1310,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -722,6 +741,7 @@ public class PurpurWorldConfig {
@@ -723,6 +742,7 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
@@ -1318,7 +1318,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean dolphinRidable = false;
@@ -730,6 +750,7 @@ public class PurpurWorldConfig {
@@ -731,6 +751,7 @@ public class PurpurWorldConfig {
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
@@ -1326,7 +1326,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -742,6 +763,7 @@ public class PurpurWorldConfig {
@@ -743,6 +764,7 @@ public class PurpurWorldConfig {
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
@@ -1334,7 +1334,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean donkeyRidableInWater = false;
@@ -752,6 +774,7 @@ public class PurpurWorldConfig {
@@ -753,6 +775,7 @@ public class PurpurWorldConfig {
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
public int donkeyBreedingTicks = 6000;
@@ -1342,7 +1342,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -768,6 +791,7 @@ public class PurpurWorldConfig {
@@ -769,6 +792,7 @@ public class PurpurWorldConfig {
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
@@ -1350,7 +1350,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean drownedRidable = false;
@@ -777,6 +801,7 @@ public class PurpurWorldConfig {
@@ -778,6 +802,7 @@ public class PurpurWorldConfig {
public boolean drownedJockeyOnlyBaby = true;
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
@@ -1358,7 +1358,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -790,10 +815,12 @@ public class PurpurWorldConfig {
@@ -791,10 +816,12 @@ public class PurpurWorldConfig {
drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
@@ -1371,7 +1371,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void elderGuardianSettings() {
elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable);
if (PurpurConfig.version < 10) {
@@ -802,6 +829,7 @@ public class PurpurWorldConfig {
@@ -803,6 +830,7 @@ public class PurpurWorldConfig {
set("mobs.elder_guardian.attributes.max_health", oldValue);
}
elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth);
@@ -1379,7 +1379,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean enderDragonRidable = false;
@@ -810,6 +838,7 @@ public class PurpurWorldConfig {
@@ -811,6 +839,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
@@ -1387,7 +1387,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -826,6 +855,7 @@ public class PurpurWorldConfig {
@@ -827,6 +856,7 @@ public class PurpurWorldConfig {
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
@@ -1395,7 +1395,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean endermanRidable = false;
@@ -834,6 +864,7 @@ public class PurpurWorldConfig {
@@ -835,6 +865,7 @@ public class PurpurWorldConfig {
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
@@ -1403,7 +1403,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -846,11 +877,13 @@ public class PurpurWorldConfig {
@@ -847,11 +878,13 @@ public class PurpurWorldConfig {
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
@@ -1417,7 +1417,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void endermiteSettings() {
endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable);
endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater);
@@ -860,12 +893,14 @@ public class PurpurWorldConfig {
@@ -861,12 +894,14 @@ public class PurpurWorldConfig {
set("mobs.endermite.attributes.max_health", oldValue);
}
endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth);
@@ -1432,7 +1432,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -876,6 +911,7 @@ public class PurpurWorldConfig {
@@ -877,6 +912,7 @@ public class PurpurWorldConfig {
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing);
@@ -1440,7 +1440,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean foxRidable = false;
@@ -884,6 +920,7 @@ public class PurpurWorldConfig {
@@ -885,6 +921,7 @@ public class PurpurWorldConfig {
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
public boolean foxBypassMobGriefing = false;
@@ -1448,7 +1448,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -896,12 +933,14 @@ public class PurpurWorldConfig {
@@ -897,12 +934,14 @@ public class PurpurWorldConfig {
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing);
@@ -1463,7 +1463,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater);
@@ -912,6 +951,7 @@ public class PurpurWorldConfig {
@@ -913,6 +952,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max_health", oldValue);
}
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
@@ -1471,7 +1471,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean giantRidable = false;
@@ -923,6 +963,7 @@ public class PurpurWorldConfig {
@@ -924,6 +964,7 @@ public class PurpurWorldConfig {
public float giantJumpHeight = 1.0F;
public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false;
@@ -1479,7 +1479,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -942,30 +983,36 @@ public class PurpurWorldConfig {
@@ -943,30 +984,36 @@ public class PurpurWorldConfig {
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
@@ -1516,7 +1516,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void guardianSettings() {
guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable);
if (PurpurConfig.version < 10) {
@@ -974,12 +1021,14 @@ public class PurpurWorldConfig {
@@ -975,12 +1022,14 @@ public class PurpurWorldConfig {
set("mobs.guardian.attributes.max_health", oldValue);
}
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
@@ -1531,7 +1531,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -990,6 +1039,7 @@ public class PurpurWorldConfig {
@@ -991,6 +1040,7 @@ public class PurpurWorldConfig {
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
@@ -1539,7 +1539,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean horseRidableInWater = false;
@@ -1000,6 +1050,7 @@ public class PurpurWorldConfig {
@@ -1001,6 +1051,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
public int horseBreedingTicks = 6000;
@@ -1547,7 +1547,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1016,6 +1067,7 @@ public class PurpurWorldConfig {
@@ -1017,6 +1068,7 @@ public class PurpurWorldConfig {
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
@@ -1555,7 +1555,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean huskRidable = false;
@@ -1025,6 +1077,7 @@ public class PurpurWorldConfig {
@@ -1026,6 +1078,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
@@ -1563,7 +1563,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1038,6 +1091,7 @@ public class PurpurWorldConfig {
@@ -1039,6 +1092,7 @@ public class PurpurWorldConfig {
huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
@@ -1571,7 +1571,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean illusionerRidable = false;
@@ -1045,6 +1099,7 @@ public class PurpurWorldConfig {
@@ -1046,6 +1100,7 @@ public class PurpurWorldConfig {
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -1579,7 +1579,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
@@ -1060,12 +1115,14 @@ public class PurpurWorldConfig {
@@ -1061,12 +1116,14 @@ public class PurpurWorldConfig {
set("mobs.illusioner.attributes.max_health", oldValue);
}
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
@@ -1594,7 +1594,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1076,6 +1133,7 @@ public class PurpurWorldConfig {
@@ -1077,6 +1134,7 @@ public class PurpurWorldConfig {
set("mobs.iron_golem.attributes.max_health", oldValue);
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
@@ -1602,7 +1602,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean llamaRidable = false;
@@ -1087,6 +1145,7 @@ public class PurpurWorldConfig {
@@ -1088,6 +1146,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
@@ -1610,7 +1610,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1104,11 +1163,13 @@ public class PurpurWorldConfig {
@@ -1105,6 +1164,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
@@ -1618,16 +1618,18 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean magmaCubeRidable = false;
public boolean magmaCubeRidableInWater = false;
public String magmaCubeMaxHealth = "size * size";
@@ -1113,6 +1173,7 @@ public class PurpurWorldConfig {
public String magmaCubeAttackDamage = "size";
public Map<Integer, Double> magmaCubeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> magmaCubeAttackDamageCache = new HashMap<>();
+ public boolean magmaCubeTakeDamageFromWater = false;
private void magmaCubeSettings() {
magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable);
magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater);
@@ -1118,12 +1179,14 @@ public class PurpurWorldConfig {
set("mobs.magma_cube.attributes.max_health", oldValue);
}
magmaCubeMaxHealth = getString("mobs.magma_cube.attributes.max_health", magmaCubeMaxHealth);
@@ -1125,12 +1186,14 @@ public class PurpurWorldConfig {
magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage);
magmaCubeMaxHealthCache.clear();
magmaCubeAttackDamageCache.clear();
+ magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater);
}
@@ -1639,7 +1641,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1134,6 +1197,7 @@ public class PurpurWorldConfig {
@@ -1141,6 +1204,7 @@ public class PurpurWorldConfig {
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
@@ -1647,7 +1649,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean muleRidableInWater = false;
@@ -1144,6 +1208,7 @@ public class PurpurWorldConfig {
@@ -1151,6 +1215,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
public int muleBreedingTicks = 6000;
@@ -1655,7 +1657,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1160,12 +1225,14 @@ public class PurpurWorldConfig {
@@ -1167,12 +1232,14 @@ public class PurpurWorldConfig {
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
@@ -1670,7 +1672,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1176,12 +1243,14 @@ public class PurpurWorldConfig {
@@ -1183,12 +1250,14 @@ public class PurpurWorldConfig {
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
@@ -1685,7 +1687,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1192,12 +1261,14 @@ public class PurpurWorldConfig {
@@ -1199,12 +1268,14 @@ public class PurpurWorldConfig {
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
@@ -1700,7 +1702,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1208,6 +1279,7 @@ public class PurpurWorldConfig {
@@ -1215,6 +1286,7 @@ public class PurpurWorldConfig {
set("mobs.parrot.attributes.max_health", oldValue);
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
@@ -1708,23 +1710,23 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean phantomRidable = false;
@@ -1236,6 +1308,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
@@ -1246,6 +1318,7 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
public boolean phantomFlamesOnSwoop = false;
+ public boolean phantomTakeDamageFromWater = false;
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1268,6 +1341,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
@@ -1285,6 +1358,7 @@ public class PurpurWorldConfig {
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
+ phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
}
public boolean pigRidable = false;
@@ -1275,6 +1349,7 @@ public class PurpurWorldConfig {
@@ -1292,6 +1366,7 @@ public class PurpurWorldConfig {
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
public int pigBreedingTicks = 6000;
@@ -1732,7 +1734,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1286,12 +1361,14 @@ public class PurpurWorldConfig {
@@ -1303,12 +1378,14 @@ public class PurpurWorldConfig {
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
@@ -1747,7 +1749,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1302,11 +1379,13 @@ public class PurpurWorldConfig {
@@ -1319,11 +1396,13 @@ public class PurpurWorldConfig {
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
@@ -1761,7 +1763,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void piglinBruteSettings() {
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
@@ -1316,12 +1395,14 @@ public class PurpurWorldConfig {
@@ -1333,12 +1412,14 @@ public class PurpurWorldConfig {
set("mobs.piglin_brute.attributes.max_health", oldValue);
}
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
@@ -1776,7 +1778,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1332,6 +1413,7 @@ public class PurpurWorldConfig {
@@ -1349,6 +1430,7 @@ public class PurpurWorldConfig {
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
@@ -1784,7 +1786,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean polarBearRidable = false;
@@ -1340,6 +1422,7 @@ public class PurpurWorldConfig {
@@ -1357,6 +1439,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -1792,7 +1794,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1353,10 +1436,12 @@ public class PurpurWorldConfig {
@@ -1370,10 +1453,12 @@ public class PurpurWorldConfig {
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -1805,7 +1807,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void pufferfishSettings() {
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
if (PurpurConfig.version < 10) {
@@ -1365,6 +1450,7 @@ public class PurpurWorldConfig {
@@ -1382,6 +1467,7 @@ public class PurpurWorldConfig {
set("mobs.pufferfish.attributes.max_health", oldValue);
}
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
@@ -1813,7 +1815,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean rabbitRidable = false;
@@ -1374,6 +1460,7 @@ public class PurpurWorldConfig {
@@ -1391,6 +1477,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
public boolean rabbitBypassMobGriefing = false;
@@ -1821,7 +1823,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1387,12 +1474,14 @@ public class PurpurWorldConfig {
@@ -1404,12 +1491,14 @@ public class PurpurWorldConfig {
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing);
@@ -1836,7 +1838,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1403,10 +1492,12 @@ public class PurpurWorldConfig {
@@ -1420,10 +1509,12 @@ public class PurpurWorldConfig {
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
@@ -1849,7 +1851,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void salmonSettings() {
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
if (PurpurConfig.version < 10) {
@@ -1415,6 +1506,7 @@ public class PurpurWorldConfig {
@@ -1432,6 +1523,7 @@ public class PurpurWorldConfig {
set("mobs.salmon.attributes.max_health", oldValue);
}
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
@@ -1857,7 +1859,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean sheepRidable = false;
@@ -1422,6 +1514,7 @@ public class PurpurWorldConfig {
@@ -1439,6 +1531,7 @@ public class PurpurWorldConfig {
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
public boolean sheepBypassMobGriefing = false;
@@ -1865,7 +1867,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1433,11 +1526,13 @@ public class PurpurWorldConfig {
@@ -1450,11 +1543,13 @@ public class PurpurWorldConfig {
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
@@ -1879,7 +1881,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1447,12 +1542,14 @@ public class PurpurWorldConfig {
@@ -1464,12 +1559,14 @@ public class PurpurWorldConfig {
set("mobs.shulker.attributes.max_health", oldValue);
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
@@ -1894,7 +1896,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1463,11 +1560,13 @@ public class PurpurWorldConfig {
@@ -1480,11 +1577,13 @@ public class PurpurWorldConfig {
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
@@ -1908,7 +1910,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -1477,6 +1576,7 @@ public class PurpurWorldConfig {
@@ -1494,6 +1593,7 @@ public class PurpurWorldConfig {
set("mobs.skeleton.attributes.max_health", oldValue);
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
@@ -1916,7 +1918,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean skeletonHorseRidableInWater = true;
@@ -1487,6 +1587,7 @@ public class PurpurWorldConfig {
@@ -1504,6 +1604,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D;
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
@@ -1924,7 +1926,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -1502,12 +1603,14 @@ public class PurpurWorldConfig {
@@ -1519,6 +1620,7 @@ public class PurpurWorldConfig {
skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax);
skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin);
skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax);
@@ -1932,22 +1934,23 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean slimeRidable = false;
public boolean slimeRidableInWater = false;
public String slimeMaxHealth = "size * size";
@@ -1527,6 +1629,7 @@ public class PurpurWorldConfig {
public String slimeAttackDamage = "size";
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
+ public boolean slimeTakeDamageFromWater = false;
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -1518,6 +1621,7 @@ public class PurpurWorldConfig {
}
slimeMaxHealth = getString("mobs.slime.attributes.max_health", slimeMaxHealth);
@@ -1539,6 +1642,7 @@ public class PurpurWorldConfig {
slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage);
slimeMaxHealthCache.clear();
slimeAttackDamageCache.clear();
+ slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater);
}
public boolean snowGolemRidable = false;
@@ -1531,6 +1635,7 @@ public class PurpurWorldConfig {
@@ -1552,6 +1656,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
@@ -1955,7 +1958,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1548,6 +1653,7 @@ public class PurpurWorldConfig {
@@ -1569,6 +1674,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
@@ -1963,7 +1966,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean squidRidable = false;
@@ -1555,6 +1661,7 @@ public class PurpurWorldConfig {
@@ -1576,6 +1682,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -1971,7 +1974,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1566,11 +1673,13 @@ public class PurpurWorldConfig {
@@ -1587,11 +1694,13 @@ public class PurpurWorldConfig {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
@@ -1985,7 +1988,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1580,11 +1689,13 @@ public class PurpurWorldConfig {
@@ -1601,11 +1710,13 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -1999,7 +2002,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1594,6 +1705,7 @@ public class PurpurWorldConfig {
@@ -1615,6 +1726,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2007,7 +2010,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean striderRidable = false;
@@ -1601,6 +1713,7 @@ public class PurpurWorldConfig {
@@ -1622,6 +1734,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2015,7 +2018,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1612,6 +1725,7 @@ public class PurpurWorldConfig {
@@ -1633,6 +1746,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
@@ -2023,7 +2026,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean traderLlamaRidable = false;
@@ -1623,6 +1737,7 @@ public class PurpurWorldConfig {
@@ -1644,6 +1758,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2031,7 +2034,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1640,10 +1755,12 @@ public class PurpurWorldConfig {
@@ -1661,10 +1776,12 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
@@ -2044,7 +2047,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
if (PurpurConfig.version < 10) {
@@ -1652,12 +1769,14 @@ public class PurpurWorldConfig {
@@ -1673,12 +1790,14 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2059,7 +2062,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1668,12 +1787,14 @@ public class PurpurWorldConfig {
@@ -1689,12 +1808,14 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2074,7 +2077,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1684,6 +1805,7 @@ public class PurpurWorldConfig {
@@ -1705,6 +1826,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2082,7 +2085,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean villagerRidable = false;
@@ -1700,6 +1822,7 @@ public class PurpurWorldConfig {
@@ -1721,6 +1843,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2090,7 +2093,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1720,12 +1843,14 @@ public class PurpurWorldConfig {
@@ -1741,12 +1864,14 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2105,7 +2108,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1736,6 +1861,7 @@ public class PurpurWorldConfig {
@@ -1757,6 +1882,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2113,7 +2116,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean wanderingTraderRidable = false;
@@ -1743,6 +1869,7 @@ public class PurpurWorldConfig {
@@ -1764,6 +1890,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2121,7 +2124,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1754,11 +1881,13 @@ public class PurpurWorldConfig {
@@ -1775,11 +1902,13 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
@@ -2135,7 +2138,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1768,6 +1897,7 @@ public class PurpurWorldConfig {
@@ -1789,6 +1918,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2143,7 +2146,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean witherRidable = false;
@@ -1777,6 +1907,7 @@ public class PurpurWorldConfig {
@@ -1798,6 +1928,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2151,7 +2154,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1794,11 +1925,13 @@ public class PurpurWorldConfig {
@@ -1815,11 +1946,13 @@ public class PurpurWorldConfig {
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
@@ -2165,7 +2168,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1808,6 +1941,7 @@ public class PurpurWorldConfig {
@@ -1829,6 +1962,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2173,7 +2176,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean wolfRidable = false;
@@ -1817,6 +1951,7 @@ public class PurpurWorldConfig {
@@ -1838,6 +1972,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2181,7 +2184,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1834,11 +1969,13 @@ public class PurpurWorldConfig {
@@ -1855,11 +1990,13 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2195,7 +2198,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -1848,6 +1985,7 @@ public class PurpurWorldConfig {
@@ -1869,6 +2006,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2203,7 +2206,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean zombieRidable = false;
@@ -1859,6 +1997,7 @@ public class PurpurWorldConfig {
@@ -1880,6 +2018,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2211,7 +2214,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1874,6 +2013,7 @@ public class PurpurWorldConfig {
@@ -1895,6 +2034,7 @@ public class PurpurWorldConfig {
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
@@ -2219,7 +2222,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean zombieHorseRidableInWater = false;
@@ -1885,6 +2025,7 @@ public class PurpurWorldConfig {
@@ -1906,6 +2046,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2227,7 +2230,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1901,6 +2042,7 @@ public class PurpurWorldConfig {
@@ -1922,6 +2063,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
@@ -2235,7 +2238,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean zombieVillagerRidable = false;
@@ -1910,6 +2052,7 @@ public class PurpurWorldConfig {
@@ -1931,6 +2073,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2243,7 +2246,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1923,6 +2066,7 @@ public class PurpurWorldConfig {
@@ -1944,6 +2087,7 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -2251,7 +2254,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
}
public boolean zombifiedPiglinRidable = false;
@@ -1933,6 +2077,7 @@ public class PurpurWorldConfig {
@@ -1954,6 +2098,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2259,7 +2262,7 @@ index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1947,5 +2092,6 @@ public class PurpurWorldConfig {
@@ -1968,5 +2113,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);