add frog breeding time

This commit is contained in:
BillyGalbreath
2022-06-12 06:36:56 -05:00
parent dfb253a429
commit e869e89274
39 changed files with 381 additions and 358 deletions

View File

@@ -1197,7 +1197,7 @@ index 8756e0d8d0077308f5fb74bf45fe093d0f043c99..6dd8856816bebb2766203589048cc68b
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694abb98411ab 100644
index 6bff04132db715bb0ec443d79b90a7a3d213958d..715c00cd6f48089a6cacf726b70ffed0b1882205 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -544,6 +544,7 @@ public class PurpurWorldConfig {
@@ -1497,8 +1497,8 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
+ foxTakeDamageFromWater = getBoolean("mobs.fox.takes-damage-from-water", foxTakeDamageFromWater);
}
public boolean ghastRidable = false;
@@ -935,6 +973,7 @@ public class PurpurWorldConfig {
public int frogBreedingTicks = 6000;
@@ -940,6 +978,7 @@ public class PurpurWorldConfig {
public boolean ghastControllable = true;
public double ghastMaxY = 320D;
public double ghastMaxHealth = 10.0D;
@@ -1506,7 +1506,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater);
@@ -946,6 +985,7 @@ public class PurpurWorldConfig {
@@ -951,6 +990,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max_health", oldValue);
}
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
@@ -1514,7 +1514,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean giantRidable = false;
@@ -958,6 +998,7 @@ public class PurpurWorldConfig {
@@ -963,6 +1003,7 @@ public class PurpurWorldConfig {
public float giantJumpHeight = 1.0F;
public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false;
@@ -1522,7 +1522,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -978,17 +1019,20 @@ public class PurpurWorldConfig {
@@ -983,17 +1024,20 @@ 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);
@@ -1543,7 +1543,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean goatRidable = false;
@@ -996,17 +1040,20 @@ public class PurpurWorldConfig {
@@ -1001,17 +1045,20 @@ public class PurpurWorldConfig {
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
public int goatBreedingTicks = 6000;
@@ -1564,7 +1564,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void guardianSettings() {
guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable);
guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable);
@@ -1016,6 +1063,7 @@ public class PurpurWorldConfig {
@@ -1021,6 +1068,7 @@ public class PurpurWorldConfig {
set("mobs.guardian.attributes.max_health", oldValue);
}
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
@@ -1572,7 +1572,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean hoglinRidable = false;
@@ -1023,6 +1071,7 @@ public class PurpurWorldConfig {
@@ -1028,6 +1076,7 @@ public class PurpurWorldConfig {
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
public int hoglinBreedingTicks = 6000;
@@ -1580,7 +1580,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -1034,6 +1083,7 @@ public class PurpurWorldConfig {
@@ -1039,6 +1088,7 @@ public class PurpurWorldConfig {
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
@@ -1588,7 +1588,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean horseRidableInWater = false;
@@ -1044,6 +1094,7 @@ public class PurpurWorldConfig {
@@ -1049,6 +1099,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
public int horseBreedingTicks = 6000;
@@ -1596,7 +1596,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1060,6 +1111,7 @@ public class PurpurWorldConfig {
@@ -1065,6 +1116,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);
@@ -1604,7 +1604,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean huskRidable = false;
@@ -1070,6 +1122,7 @@ public class PurpurWorldConfig {
@@ -1075,6 +1127,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
@@ -1612,7 +1612,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1084,6 +1137,7 @@ public class PurpurWorldConfig {
@@ -1089,6 +1142,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);
@@ -1620,7 +1620,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean illusionerRidable = false;
@@ -1092,6 +1146,7 @@ public class PurpurWorldConfig {
@@ -1097,6 +1151,7 @@ public class PurpurWorldConfig {
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -1628,7 +1628,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
@@ -1108,6 +1163,7 @@ public class PurpurWorldConfig {
@@ -1113,6 +1168,7 @@ public class PurpurWorldConfig {
set("mobs.illusioner.attributes.max_health", oldValue);
}
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
@@ -1636,7 +1636,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean ironGolemRidable = false;
@@ -1115,6 +1171,7 @@ public class PurpurWorldConfig {
@@ -1120,6 +1176,7 @@ public class PurpurWorldConfig {
public boolean ironGolemControllable = true;
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
@@ -1644,7 +1644,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1126,6 +1183,7 @@ public class PurpurWorldConfig {
@@ -1131,6 +1188,7 @@ public class PurpurWorldConfig {
set("mobs.iron_golem.attributes.max_health", oldValue);
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
@@ -1652,7 +1652,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean llamaRidable = false;
@@ -1138,6 +1196,7 @@ public class PurpurWorldConfig {
@@ -1143,6 +1201,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
@@ -1660,7 +1660,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1156,6 +1215,7 @@ public class PurpurWorldConfig {
@@ -1161,6 +1220,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);
@@ -1668,7 +1668,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean magmaCubeRidable = false;
@@ -1165,6 +1225,7 @@ public class PurpurWorldConfig {
@@ -1170,6 +1230,7 @@ public class PurpurWorldConfig {
public String magmaCubeAttackDamage = "size";
public Map<Integer, Double> magmaCubeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> magmaCubeAttackDamageCache = new HashMap<>();
@@ -1676,7 +1676,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void magmaCubeSettings() {
magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable);
magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater);
@@ -1178,6 +1239,7 @@ public class PurpurWorldConfig {
@@ -1183,6 +1244,7 @@ public class PurpurWorldConfig {
magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage);
magmaCubeMaxHealthCache.clear();
magmaCubeAttackDamageCache.clear();
@@ -1684,7 +1684,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean mooshroomRidable = false;
@@ -1185,6 +1247,7 @@ public class PurpurWorldConfig {
@@ -1190,6 +1252,7 @@ public class PurpurWorldConfig {
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
public int mooshroomBreedingTicks = 6000;
@@ -1692,7 +1692,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1196,6 +1259,7 @@ public class PurpurWorldConfig {
@@ -1201,6 +1264,7 @@ public class PurpurWorldConfig {
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
@@ -1700,7 +1700,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean muleRidableInWater = false;
@@ -1206,6 +1270,7 @@ public class PurpurWorldConfig {
@@ -1211,6 +1275,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
public int muleBreedingTicks = 6000;
@@ -1708,7 +1708,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1222,6 +1287,7 @@ public class PurpurWorldConfig {
@@ -1227,6 +1292,7 @@ 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);
@@ -1716,7 +1716,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean ocelotRidable = false;
@@ -1229,6 +1295,7 @@ public class PurpurWorldConfig {
@@ -1234,6 +1300,7 @@ public class PurpurWorldConfig {
public boolean ocelotControllable = true;
public double ocelotMaxHealth = 10.0D;
public int ocelotBreedingTicks = 6000;
@@ -1724,7 +1724,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1240,6 +1307,7 @@ public class PurpurWorldConfig {
@@ -1245,6 +1312,7 @@ public class PurpurWorldConfig {
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
@@ -1732,7 +1732,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean pandaRidable = false;
@@ -1247,6 +1315,7 @@ public class PurpurWorldConfig {
@@ -1252,6 +1320,7 @@ public class PurpurWorldConfig {
public boolean pandaControllable = true;
public double pandaMaxHealth = 20.0D;
public int pandaBreedingTicks = 6000;
@@ -1740,7 +1740,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1258,6 +1327,7 @@ public class PurpurWorldConfig {
@@ -1263,6 +1332,7 @@ public class PurpurWorldConfig {
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
@@ -1748,7 +1748,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean parrotRidable = false;
@@ -1265,6 +1335,7 @@ public class PurpurWorldConfig {
@@ -1270,6 +1340,7 @@ public class PurpurWorldConfig {
public boolean parrotControllable = true;
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
@@ -1756,7 +1756,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1276,6 +1347,7 @@ public class PurpurWorldConfig {
@@ -1281,6 +1352,7 @@ public class PurpurWorldConfig {
set("mobs.parrot.attributes.max_health", oldValue);
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
@@ -1764,7 +1764,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean phantomRidable = false;
@@ -1308,6 +1380,7 @@ public class PurpurWorldConfig {
@@ -1313,6 +1385,7 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
public boolean phantomFlamesOnSwoop = false;
@@ -1772,7 +1772,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1348,6 +1421,7 @@ public class PurpurWorldConfig {
@@ -1353,6 +1426,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);
@@ -1780,7 +1780,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean pigRidable = false;
@@ -1356,6 +1430,7 @@ public class PurpurWorldConfig {
@@ -1361,6 +1435,7 @@ public class PurpurWorldConfig {
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
public int pigBreedingTicks = 6000;
@@ -1788,7 +1788,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1368,6 +1443,7 @@ public class PurpurWorldConfig {
@@ -1373,6 +1448,7 @@ 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);
@@ -1796,7 +1796,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean piglinRidable = false;
@@ -1375,6 +1451,7 @@ public class PurpurWorldConfig {
@@ -1380,6 +1456,7 @@ public class PurpurWorldConfig {
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
@@ -1804,7 +1804,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1386,12 +1463,14 @@ public class PurpurWorldConfig {
@@ -1391,12 +1468,14 @@ public class PurpurWorldConfig {
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
@@ -1819,7 +1819,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void piglinBruteSettings() {
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
@@ -1402,6 +1481,7 @@ public class PurpurWorldConfig {
@@ -1407,6 +1486,7 @@ public class PurpurWorldConfig {
set("mobs.piglin_brute.attributes.max_health", oldValue);
}
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
@@ -1827,7 +1827,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean pillagerRidable = false;
@@ -1409,6 +1489,7 @@ public class PurpurWorldConfig {
@@ -1414,6 +1494,7 @@ public class PurpurWorldConfig {
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
public boolean pillagerBypassMobGriefing = false;
@@ -1835,7 +1835,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1420,6 +1501,7 @@ public class PurpurWorldConfig {
@@ -1425,6 +1506,7 @@ public class PurpurWorldConfig {
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
@@ -1843,7 +1843,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean polarBearRidable = false;
@@ -1429,6 +1511,7 @@ public class PurpurWorldConfig {
@@ -1434,6 +1516,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -1851,7 +1851,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1443,11 +1526,13 @@ public class PurpurWorldConfig {
@@ -1448,11 +1531,13 @@ 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);
@@ -1865,7 +1865,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void pufferfishSettings() {
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable);
@@ -1457,6 +1542,7 @@ public class PurpurWorldConfig {
@@ -1462,6 +1547,7 @@ public class PurpurWorldConfig {
set("mobs.pufferfish.attributes.max_health", oldValue);
}
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
@@ -1873,7 +1873,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean rabbitRidable = false;
@@ -1467,6 +1553,7 @@ public class PurpurWorldConfig {
@@ -1472,6 +1558,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
public boolean rabbitBypassMobGriefing = false;
@@ -1881,7 +1881,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1481,6 +1568,7 @@ public class PurpurWorldConfig {
@@ -1486,6 +1573,7 @@ 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);
@@ -1889,7 +1889,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean ravagerRidable = false;
@@ -1488,6 +1576,7 @@ public class PurpurWorldConfig {
@@ -1493,6 +1581,7 @@ public class PurpurWorldConfig {
public boolean ravagerControllable = true;
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
@@ -1897,7 +1897,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1499,11 +1588,13 @@ public class PurpurWorldConfig {
@@ -1504,11 +1593,13 @@ public class PurpurWorldConfig {
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
@@ -1911,7 +1911,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void salmonSettings() {
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable);
@@ -1513,6 +1604,7 @@ public class PurpurWorldConfig {
@@ -1518,6 +1609,7 @@ public class PurpurWorldConfig {
set("mobs.salmon.attributes.max_health", oldValue);
}
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
@@ -1919,7 +1919,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean sheepRidable = false;
@@ -1521,6 +1613,7 @@ public class PurpurWorldConfig {
@@ -1526,6 +1618,7 @@ public class PurpurWorldConfig {
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
public boolean sheepBypassMobGriefing = false;
@@ -1927,7 +1927,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1533,12 +1626,14 @@ public class PurpurWorldConfig {
@@ -1538,12 +1631,14 @@ 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);
@@ -1942,7 +1942,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1549,6 +1644,7 @@ public class PurpurWorldConfig {
@@ -1554,6 +1649,7 @@ public class PurpurWorldConfig {
set("mobs.shulker.attributes.max_health", oldValue);
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
@@ -1950,7 +1950,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean silverfishRidable = false;
@@ -1556,6 +1652,7 @@ public class PurpurWorldConfig {
@@ -1561,6 +1657,7 @@ public class PurpurWorldConfig {
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
public boolean silverfishBypassMobGriefing = false;
@@ -1958,7 +1958,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1567,12 +1664,14 @@ public class PurpurWorldConfig {
@@ -1572,12 +1669,14 @@ public class PurpurWorldConfig {
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
@@ -1973,7 +1973,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -1583,6 +1682,7 @@ public class PurpurWorldConfig {
@@ -1588,6 +1687,7 @@ public class PurpurWorldConfig {
set("mobs.skeleton.attributes.max_health", oldValue);
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
@@ -1981,7 +1981,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean skeletonHorseRidableInWater = true;
@@ -1593,6 +1693,7 @@ public class PurpurWorldConfig {
@@ -1598,6 +1698,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D;
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
@@ -1989,7 +1989,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -1608,6 +1709,7 @@ public class PurpurWorldConfig {
@@ -1613,6 +1714,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);
@@ -1997,7 +1997,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean slimeRidable = false;
@@ -1617,6 +1719,7 @@ public class PurpurWorldConfig {
@@ -1622,6 +1724,7 @@ public class PurpurWorldConfig {
public String slimeAttackDamage = "size";
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
@@ -2005,7 +2005,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -1630,6 +1733,7 @@ public class PurpurWorldConfig {
@@ -1635,6 +1738,7 @@ public class PurpurWorldConfig {
slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage);
slimeMaxHealthCache.clear();
slimeAttackDamageCache.clear();
@@ -2013,7 +2013,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean snowGolemRidable = false;
@@ -1644,6 +1748,7 @@ public class PurpurWorldConfig {
@@ -1649,6 +1753,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
@@ -2021,7 +2021,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1662,6 +1767,7 @@ public class PurpurWorldConfig {
@@ -1667,6 +1772,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);
@@ -2029,7 +2029,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean squidRidable = false;
@@ -1670,6 +1776,7 @@ public class PurpurWorldConfig {
@@ -1675,6 +1781,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -2037,7 +2037,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1682,12 +1789,14 @@ public class PurpurWorldConfig {
@@ -1687,12 +1794,14 @@ 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);
@@ -2052,7 +2052,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1698,12 +1807,14 @@ public class PurpurWorldConfig {
@@ -1703,12 +1812,14 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2067,7 +2067,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1714,6 +1825,7 @@ public class PurpurWorldConfig {
@@ -1719,6 +1830,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2075,7 +2075,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean striderRidable = false;
@@ -1722,6 +1834,7 @@ public class PurpurWorldConfig {
@@ -1727,6 +1839,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2083,7 +2083,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1734,6 +1847,7 @@ public class PurpurWorldConfig {
@@ -1739,6 +1852,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);
@@ -2091,7 +2091,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean traderLlamaRidable = false;
@@ -1746,6 +1860,7 @@ public class PurpurWorldConfig {
@@ -1751,6 +1865,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2099,7 +2099,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1764,11 +1879,13 @@ public class PurpurWorldConfig {
@@ -1769,11 +1884,13 @@ 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);
@@ -2113,7 +2113,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -1778,6 +1895,7 @@ public class PurpurWorldConfig {
@@ -1783,6 +1900,7 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2121,7 +2121,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean turtleRidable = false;
@@ -1785,6 +1903,7 @@ public class PurpurWorldConfig {
@@ -1790,6 +1908,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
@@ -2129,7 +2129,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1796,6 +1915,7 @@ public class PurpurWorldConfig {
@@ -1801,6 +1920,7 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2137,7 +2137,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean vexRidable = false;
@@ -1803,6 +1923,7 @@ public class PurpurWorldConfig {
@@ -1808,6 +1928,7 @@ public class PurpurWorldConfig {
public boolean vexControllable = true;
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
@@ -2145,7 +2145,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1814,6 +1935,7 @@ public class PurpurWorldConfig {
@@ -1819,6 +1940,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2153,7 +2153,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean villagerRidable = false;
@@ -1829,6 +1951,7 @@ public class PurpurWorldConfig {
@@ -1834,6 +1956,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2161,7 +2161,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1848,6 +1971,7 @@ public class PurpurWorldConfig {
@@ -1853,6 +1976,7 @@ 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);
@@ -2169,7 +2169,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean vindicatorRidable = false;
@@ -1855,6 +1979,7 @@ public class PurpurWorldConfig {
@@ -1860,6 +1984,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
@@ -2177,7 +2177,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1866,6 +1991,7 @@ public class PurpurWorldConfig {
@@ -1871,6 +1996,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2185,7 +2185,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean wanderingTraderRidable = false;
@@ -1874,6 +2000,7 @@ public class PurpurWorldConfig {
@@ -1879,6 +2005,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2193,7 +2193,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1886,12 +2013,14 @@ public class PurpurWorldConfig {
@@ -1891,12 +2018,14 @@ 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);
@@ -2208,7 +2208,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1902,6 +2031,7 @@ public class PurpurWorldConfig {
@@ -1907,6 +2036,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2216,7 +2216,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean witherRidable = false;
@@ -1912,6 +2042,7 @@ public class PurpurWorldConfig {
@@ -1917,6 +2047,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2224,7 +2224,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1930,12 +2061,14 @@ public class PurpurWorldConfig {
@@ -1935,12 +2066,14 @@ 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);
@@ -2239,7 +2239,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1946,6 +2079,7 @@ public class PurpurWorldConfig {
@@ -1951,6 +2084,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2247,7 +2247,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean wolfRidable = false;
@@ -1956,6 +2090,7 @@ public class PurpurWorldConfig {
@@ -1961,6 +2095,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2255,7 +2255,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1974,12 +2109,14 @@ public class PurpurWorldConfig {
@@ -1979,12 +2114,14 @@ 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);
@@ -2270,7 +2270,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -1990,6 +2127,7 @@ public class PurpurWorldConfig {
@@ -1995,6 +2132,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2278,7 +2278,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean zombieRidable = false;
@@ -2002,6 +2140,7 @@ public class PurpurWorldConfig {
@@ -2007,6 +2145,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2286,7 +2286,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2018,6 +2157,7 @@ public class PurpurWorldConfig {
@@ -2023,6 +2162,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);
@@ -2294,7 +2294,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean zombieHorseRidableInWater = false;
@@ -2029,6 +2169,7 @@ public class PurpurWorldConfig {
@@ -2034,6 +2174,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2302,7 +2302,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2045,6 +2186,7 @@ public class PurpurWorldConfig {
@@ -2050,6 +2191,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);
@@ -2310,7 +2310,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean zombieVillagerRidable = false;
@@ -2055,6 +2197,7 @@ public class PurpurWorldConfig {
@@ -2060,6 +2202,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2318,7 +2318,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2069,6 +2212,7 @@ public class PurpurWorldConfig {
@@ -2074,6 +2217,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);
@@ -2326,7 +2326,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
}
public boolean zombifiedPiglinRidable = false;
@@ -2080,6 +2224,7 @@ public class PurpurWorldConfig {
@@ -2085,6 +2229,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2334,7 +2334,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2095,5 +2240,6 @@ public class PurpurWorldConfig {
@@ -2100,5 +2245,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);