update ridable settings

This commit is contained in:
Ben Kerllenevich
2023-06-11 21:48:15 -04:00
parent 8731b19f93
commit 188f461ccf
81 changed files with 619 additions and 599 deletions

View File

@@ -1197,7 +1197,7 @@ index 41ddf073ecb8ea97cca8021390500d65866488a5..e2a9179bb7a5ecbc31d98a2410a09f5e
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3ffeae0c7 100644
index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17fc8332ca4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -574,11 +574,13 @@ public class PurpurWorldConfig {
@@ -1262,7 +1262,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public int camelBreedingTicks = 6000;
@@ -677,6 +685,7 @@ public class PurpurWorldConfig {
@@ -682,6 +690,7 @@ public class PurpurWorldConfig {
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
public DyeColor catDefaultCollarColor = DyeColor.RED;
@@ -1270,7 +1270,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -696,12 +705,14 @@ public class PurpurWorldConfig {
@@ -701,12 +710,14 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
catDefaultCollarColor = DyeColor.RED;
}
@@ -1285,7 +1285,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void caveSpiderSettings() {
caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable);
caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater);
@@ -712,6 +723,7 @@ public class PurpurWorldConfig {
@@ -717,6 +728,7 @@ public class PurpurWorldConfig {
set("mobs.cave_spider.attributes.max_health", oldValue);
}
caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth);
@@ -1293,7 +1293,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean chickenRidable = false;
@@ -720,6 +732,7 @@ public class PurpurWorldConfig {
@@ -725,6 +737,7 @@ public class PurpurWorldConfig {
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
public int chickenBreedingTicks = 6000;
@@ -1301,7 +1301,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -732,11 +745,13 @@ public class PurpurWorldConfig {
@@ -737,11 +750,13 @@ 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);
@@ -1315,7 +1315,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void codSettings() {
codRidable = getBoolean("mobs.cod.ridable", codRidable);
codControllable = getBoolean("mobs.cod.controllable", codControllable);
@@ -746,6 +761,7 @@ public class PurpurWorldConfig {
@@ -751,6 +766,7 @@ public class PurpurWorldConfig {
set("mobs.cod.attributes.max_health", oldValue);
}
codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth);
@@ -1323,7 +1323,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean cowRidable = false;
@@ -754,6 +770,7 @@ public class PurpurWorldConfig {
@@ -759,6 +775,7 @@ public class PurpurWorldConfig {
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
@@ -1331,7 +1331,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -766,6 +783,7 @@ public class PurpurWorldConfig {
@@ -771,6 +788,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);
@@ -1339,7 +1339,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean creeperRidable = false;
@@ -775,6 +793,7 @@ public class PurpurWorldConfig {
@@ -780,6 +798,7 @@ public class PurpurWorldConfig {
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
@@ -1347,7 +1347,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -788,6 +807,7 @@ public class PurpurWorldConfig {
@@ -793,6 +812,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);
@@ -1355,7 +1355,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean dolphinRidable = false;
@@ -797,6 +817,7 @@ public class PurpurWorldConfig {
@@ -802,6 +822,7 @@ public class PurpurWorldConfig {
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
@@ -1363,7 +1363,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -810,6 +831,7 @@ public class PurpurWorldConfig {
@@ -815,6 +836,7 @@ public class PurpurWorldConfig {
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
@@ -1371,7 +1371,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean donkeyRidableInWater = false;
@@ -820,6 +842,7 @@ public class PurpurWorldConfig {
@@ -825,6 +847,7 @@ public class PurpurWorldConfig {
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
public int donkeyBreedingTicks = 6000;
@@ -1379,7 +1379,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -836,6 +859,7 @@ public class PurpurWorldConfig {
@@ -841,6 +864,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);
@@ -1387,7 +1387,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean drownedRidable = false;
@@ -846,6 +870,7 @@ public class PurpurWorldConfig {
@@ -851,6 +875,7 @@ public class PurpurWorldConfig {
public boolean drownedJockeyOnlyBaby = true;
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
@@ -1395,7 +1395,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -860,11 +885,13 @@ public class PurpurWorldConfig {
@@ -865,11 +890,13 @@ 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);
@@ -1409,7 +1409,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void elderGuardianSettings() {
elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable);
elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable);
@@ -874,6 +901,7 @@ public class PurpurWorldConfig {
@@ -879,6 +906,7 @@ public class PurpurWorldConfig {
set("mobs.elder_guardian.attributes.max_health", oldValue);
}
elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth);
@@ -1417,7 +1417,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean enderDragonRidable = false;
@@ -883,6 +911,7 @@ public class PurpurWorldConfig {
@@ -888,6 +916,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
@@ -1425,7 +1425,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -900,6 +929,7 @@ public class PurpurWorldConfig {
@@ -905,6 +934,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);
@@ -1433,7 +1433,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean endermanRidable = false;
@@ -909,6 +939,7 @@ public class PurpurWorldConfig {
@@ -914,6 +944,7 @@ public class PurpurWorldConfig {
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
@@ -1441,7 +1441,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -922,12 +953,14 @@ public class PurpurWorldConfig {
@@ -927,12 +958,14 @@ 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);
@@ -1456,7 +1456,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void endermiteSettings() {
endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable);
endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater);
@@ -938,6 +971,7 @@ public class PurpurWorldConfig {
@@ -943,6 +976,7 @@ public class PurpurWorldConfig {
set("mobs.endermite.attributes.max_health", oldValue);
}
endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth);
@@ -1464,7 +1464,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean evokerRidable = false;
@@ -945,6 +979,7 @@ public class PurpurWorldConfig {
@@ -950,6 +984,7 @@ public class PurpurWorldConfig {
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
public boolean evokerBypassMobGriefing = false;
@@ -1472,7 +1472,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -956,6 +991,7 @@ public class PurpurWorldConfig {
@@ -961,6 +996,7 @@ public class PurpurWorldConfig {
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing);
@@ -1480,7 +1480,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean foxRidable = false;
@@ -965,6 +1001,7 @@ public class PurpurWorldConfig {
@@ -970,6 +1006,7 @@ public class PurpurWorldConfig {
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
public boolean foxBypassMobGriefing = false;
@@ -1488,7 +1488,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -978,6 +1015,7 @@ public class PurpurWorldConfig {
@@ -983,6 +1020,7 @@ 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);
@@ -1496,7 +1496,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean frogRidable = false;
@@ -998,6 +1036,7 @@ public class PurpurWorldConfig {
@@ -1003,6 +1041,7 @@ public class PurpurWorldConfig {
public boolean ghastControllable = true;
public double ghastMaxY = 320D;
public double ghastMaxHealth = 10.0D;
@@ -1504,7 +1504,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater);
@@ -1009,6 +1048,7 @@ public class PurpurWorldConfig {
@@ -1014,6 +1053,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max_health", oldValue);
}
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
@@ -1512,7 +1512,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean giantRidable = false;
@@ -1021,6 +1061,7 @@ public class PurpurWorldConfig {
@@ -1026,6 +1066,7 @@ public class PurpurWorldConfig {
public float giantJumpHeight = 1.0F;
public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false;
@@ -1520,7 +1520,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -1041,17 +1082,20 @@ public class PurpurWorldConfig {
@@ -1046,17 +1087,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);
@@ -1541,7 +1541,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean goatRidable = false;
@@ -1059,17 +1103,20 @@ public class PurpurWorldConfig {
@@ -1064,17 +1108,20 @@ public class PurpurWorldConfig {
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
public int goatBreedingTicks = 6000;
@@ -1562,7 +1562,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void guardianSettings() {
guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable);
guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable);
@@ -1079,6 +1126,7 @@ public class PurpurWorldConfig {
@@ -1084,6 +1131,7 @@ public class PurpurWorldConfig {
set("mobs.guardian.attributes.max_health", oldValue);
}
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
@@ -1570,7 +1570,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean hoglinRidable = false;
@@ -1086,6 +1134,7 @@ public class PurpurWorldConfig {
@@ -1091,6 +1139,7 @@ public class PurpurWorldConfig {
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
public int hoglinBreedingTicks = 6000;
@@ -1578,7 +1578,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -1097,6 +1146,7 @@ public class PurpurWorldConfig {
@@ -1102,6 +1151,7 @@ public class PurpurWorldConfig {
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
@@ -1586,7 +1586,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean horseRidableInWater = false;
@@ -1107,6 +1157,7 @@ public class PurpurWorldConfig {
@@ -1112,6 +1162,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
public int horseBreedingTicks = 6000;
@@ -1594,7 +1594,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1123,6 +1174,7 @@ public class PurpurWorldConfig {
@@ -1128,6 +1179,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);
@@ -1602,7 +1602,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean huskRidable = false;
@@ -1133,6 +1185,7 @@ public class PurpurWorldConfig {
@@ -1138,6 +1190,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
@@ -1610,7 +1610,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1147,6 +1200,7 @@ public class PurpurWorldConfig {
@@ -1152,6 +1205,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);
@@ -1618,7 +1618,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean illusionerRidable = false;
@@ -1155,6 +1209,7 @@ public class PurpurWorldConfig {
@@ -1160,6 +1214,7 @@ public class PurpurWorldConfig {
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -1626,7 +1626,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
@@ -1171,6 +1226,7 @@ public class PurpurWorldConfig {
@@ -1176,6 +1231,7 @@ public class PurpurWorldConfig {
set("mobs.illusioner.attributes.max_health", oldValue);
}
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
@@ -1634,7 +1634,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean ironGolemRidable = false;
@@ -1178,6 +1234,7 @@ public class PurpurWorldConfig {
@@ -1183,6 +1239,7 @@ public class PurpurWorldConfig {
public boolean ironGolemControllable = true;
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
@@ -1642,7 +1642,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1189,6 +1246,7 @@ public class PurpurWorldConfig {
@@ -1194,6 +1251,7 @@ public class PurpurWorldConfig {
set("mobs.iron_golem.attributes.max_health", oldValue);
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
@@ -1650,7 +1650,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean llamaRidable = false;
@@ -1201,6 +1259,7 @@ public class PurpurWorldConfig {
@@ -1206,6 +1264,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
@@ -1658,7 +1658,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1219,6 +1278,7 @@ public class PurpurWorldConfig {
@@ -1224,6 +1283,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);
@@ -1666,7 +1666,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean magmaCubeRidable = false;
@@ -1228,6 +1288,7 @@ public class PurpurWorldConfig {
@@ -1233,6 +1293,7 @@ public class PurpurWorldConfig {
public String magmaCubeAttackDamage = "size";
public Map<Integer, Double> magmaCubeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> magmaCubeAttackDamageCache = new HashMap<>();
@@ -1674,7 +1674,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void magmaCubeSettings() {
magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable);
magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater);
@@ -1241,6 +1302,7 @@ public class PurpurWorldConfig {
@@ -1246,6 +1307,7 @@ public class PurpurWorldConfig {
magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage);
magmaCubeMaxHealthCache.clear();
magmaCubeAttackDamageCache.clear();
@@ -1682,7 +1682,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean mooshroomRidable = false;
@@ -1248,6 +1310,7 @@ public class PurpurWorldConfig {
@@ -1253,6 +1315,7 @@ public class PurpurWorldConfig {
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
public int mooshroomBreedingTicks = 6000;
@@ -1690,7 +1690,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1259,6 +1322,7 @@ public class PurpurWorldConfig {
@@ -1264,6 +1327,7 @@ public class PurpurWorldConfig {
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
@@ -1698,7 +1698,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean muleRidableInWater = false;
@@ -1269,6 +1333,7 @@ public class PurpurWorldConfig {
@@ -1274,6 +1338,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
public int muleBreedingTicks = 6000;
@@ -1706,7 +1706,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1285,6 +1350,7 @@ public class PurpurWorldConfig {
@@ -1290,6 +1355,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);
@@ -1714,7 +1714,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean ocelotRidable = false;
@@ -1292,6 +1358,7 @@ public class PurpurWorldConfig {
@@ -1297,6 +1363,7 @@ public class PurpurWorldConfig {
public boolean ocelotControllable = true;
public double ocelotMaxHealth = 10.0D;
public int ocelotBreedingTicks = 6000;
@@ -1722,7 +1722,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1303,6 +1370,7 @@ public class PurpurWorldConfig {
@@ -1308,6 +1375,7 @@ public class PurpurWorldConfig {
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
@@ -1730,7 +1730,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean pandaRidable = false;
@@ -1310,6 +1378,7 @@ public class PurpurWorldConfig {
@@ -1315,6 +1383,7 @@ public class PurpurWorldConfig {
public boolean pandaControllable = true;
public double pandaMaxHealth = 20.0D;
public int pandaBreedingTicks = 6000;
@@ -1738,7 +1738,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1321,6 +1390,7 @@ public class PurpurWorldConfig {
@@ -1326,6 +1395,7 @@ public class PurpurWorldConfig {
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
@@ -1746,7 +1746,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean parrotRidable = false;
@@ -1328,6 +1398,7 @@ public class PurpurWorldConfig {
@@ -1333,6 +1403,7 @@ public class PurpurWorldConfig {
public boolean parrotControllable = true;
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
@@ -1754,7 +1754,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1339,6 +1410,7 @@ public class PurpurWorldConfig {
@@ -1344,6 +1415,7 @@ public class PurpurWorldConfig {
set("mobs.parrot.attributes.max_health", oldValue);
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
@@ -1762,7 +1762,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean phantomRidable = false;
@@ -1365,6 +1437,7 @@ public class PurpurWorldConfig {
@@ -1370,6 +1442,7 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
public boolean phantomFlamesOnSwoop = false;
@@ -1770,7 +1770,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1399,6 +1472,7 @@ public class PurpurWorldConfig {
@@ -1404,6 +1477,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);
@@ -1778,7 +1778,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean pigRidable = false;
@@ -1407,6 +1481,7 @@ public class PurpurWorldConfig {
@@ -1412,6 +1486,7 @@ public class PurpurWorldConfig {
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
public int pigBreedingTicks = 6000;
@@ -1786,7 +1786,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1419,6 +1494,7 @@ public class PurpurWorldConfig {
@@ -1424,6 +1499,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);
@@ -1794,7 +1794,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean piglinRidable = false;
@@ -1426,6 +1502,7 @@ public class PurpurWorldConfig {
@@ -1431,6 +1507,7 @@ public class PurpurWorldConfig {
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
@@ -1802,7 +1802,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1437,12 +1514,14 @@ public class PurpurWorldConfig {
@@ -1442,12 +1519,14 @@ public class PurpurWorldConfig {
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
@@ -1817,7 +1817,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void piglinBruteSettings() {
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
@@ -1453,6 +1532,7 @@ public class PurpurWorldConfig {
@@ -1458,6 +1537,7 @@ public class PurpurWorldConfig {
set("mobs.piglin_brute.attributes.max_health", oldValue);
}
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
@@ -1825,7 +1825,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean pillagerRidable = false;
@@ -1460,6 +1540,7 @@ public class PurpurWorldConfig {
@@ -1465,6 +1545,7 @@ public class PurpurWorldConfig {
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
public boolean pillagerBypassMobGriefing = false;
@@ -1833,7 +1833,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1471,6 +1552,7 @@ public class PurpurWorldConfig {
@@ -1476,6 +1557,7 @@ public class PurpurWorldConfig {
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
@@ -1841,7 +1841,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean polarBearRidable = false;
@@ -1480,6 +1562,7 @@ public class PurpurWorldConfig {
@@ -1485,6 +1567,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -1849,7 +1849,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1494,11 +1577,13 @@ public class PurpurWorldConfig {
@@ -1499,11 +1582,13 @@ public class PurpurWorldConfig {
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -1863,7 +1863,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void pufferfishSettings() {
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable);
@@ -1508,6 +1593,7 @@ public class PurpurWorldConfig {
@@ -1513,6 +1598,7 @@ public class PurpurWorldConfig {
set("mobs.pufferfish.attributes.max_health", oldValue);
}
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
@@ -1871,7 +1871,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean rabbitRidable = false;
@@ -1518,6 +1604,7 @@ public class PurpurWorldConfig {
@@ -1523,6 +1609,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
public boolean rabbitBypassMobGriefing = false;
@@ -1879,7 +1879,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1532,6 +1619,7 @@ public class PurpurWorldConfig {
@@ -1537,6 +1624,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);
@@ -1887,7 +1887,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean ravagerRidable = false;
@@ -1539,6 +1627,7 @@ public class PurpurWorldConfig {
@@ -1544,6 +1632,7 @@ public class PurpurWorldConfig {
public boolean ravagerControllable = true;
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
@@ -1895,7 +1895,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1550,11 +1639,13 @@ public class PurpurWorldConfig {
@@ -1555,11 +1644,13 @@ public class PurpurWorldConfig {
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
@@ -1909,7 +1909,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void salmonSettings() {
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable);
@@ -1564,6 +1655,7 @@ public class PurpurWorldConfig {
@@ -1569,6 +1660,7 @@ public class PurpurWorldConfig {
set("mobs.salmon.attributes.max_health", oldValue);
}
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
@@ -1917,7 +1917,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean sheepRidable = false;
@@ -1572,6 +1664,7 @@ public class PurpurWorldConfig {
@@ -1577,6 +1669,7 @@ public class PurpurWorldConfig {
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
public boolean sheepBypassMobGriefing = false;
@@ -1925,7 +1925,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1584,12 +1677,14 @@ public class PurpurWorldConfig {
@@ -1589,12 +1682,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);
@@ -1940,7 +1940,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1600,6 +1695,7 @@ public class PurpurWorldConfig {
@@ -1605,6 +1700,7 @@ public class PurpurWorldConfig {
set("mobs.shulker.attributes.max_health", oldValue);
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
@@ -1948,7 +1948,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean silverfishRidable = false;
@@ -1607,6 +1703,7 @@ public class PurpurWorldConfig {
@@ -1612,6 +1708,7 @@ public class PurpurWorldConfig {
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
public boolean silverfishBypassMobGriefing = false;
@@ -1956,7 +1956,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1618,12 +1715,14 @@ public class PurpurWorldConfig {
@@ -1623,12 +1720,14 @@ public class PurpurWorldConfig {
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
@@ -1971,7 +1971,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -1634,6 +1733,7 @@ public class PurpurWorldConfig {
@@ -1639,6 +1738,7 @@ public class PurpurWorldConfig {
set("mobs.skeleton.attributes.max_health", oldValue);
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
@@ -1979,7 +1979,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean skeletonHorseRidableInWater = true;
@@ -1644,6 +1744,7 @@ public class PurpurWorldConfig {
@@ -1649,6 +1749,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D;
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
@@ -1987,7 +1987,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -1659,6 +1760,7 @@ public class PurpurWorldConfig {
@@ -1664,6 +1765,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);
@@ -1995,7 +1995,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean slimeRidable = false;
@@ -1668,6 +1770,7 @@ public class PurpurWorldConfig {
@@ -1673,6 +1775,7 @@ public class PurpurWorldConfig {
public String slimeAttackDamage = "size";
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
@@ -2003,7 +2003,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -1681,6 +1784,7 @@ public class PurpurWorldConfig {
@@ -1686,6 +1789,7 @@ public class PurpurWorldConfig {
slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage);
slimeMaxHealthCache.clear();
slimeAttackDamageCache.clear();
@@ -2011,7 +2011,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean snowGolemRidable = false;
@@ -1695,6 +1799,7 @@ public class PurpurWorldConfig {
@@ -1700,6 +1804,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
@@ -2019,7 +2019,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1713,6 +1818,7 @@ public class PurpurWorldConfig {
@@ -1718,6 +1823,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);
@@ -2027,7 +2027,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean snifferRidable = false;
@@ -1734,6 +1840,7 @@ public class PurpurWorldConfig {
@@ -1739,6 +1845,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -2035,7 +2035,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1746,12 +1853,14 @@ public class PurpurWorldConfig {
@@ -1751,12 +1858,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);
@@ -2050,7 +2050,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1762,12 +1871,14 @@ public class PurpurWorldConfig {
@@ -1767,12 +1876,14 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2065,7 +2065,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1778,6 +1889,7 @@ public class PurpurWorldConfig {
@@ -1783,6 +1894,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2073,7 +2073,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean striderRidable = false;
@@ -1786,6 +1898,7 @@ public class PurpurWorldConfig {
@@ -1791,6 +1903,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2081,7 +2081,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1798,6 +1911,7 @@ public class PurpurWorldConfig {
@@ -1803,6 +1916,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);
@@ -2089,7 +2089,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean tadpoleRidable = false;
@@ -1819,6 +1933,7 @@ public class PurpurWorldConfig {
@@ -1824,6 +1938,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2097,7 +2097,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1837,11 +1952,13 @@ public class PurpurWorldConfig {
@@ -1842,11 +1957,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);
@@ -2111,7 +2111,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -1851,6 +1968,7 @@ public class PurpurWorldConfig {
@@ -1856,6 +1973,7 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2119,7 +2119,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean turtleRidable = false;
@@ -1858,6 +1976,7 @@ public class PurpurWorldConfig {
@@ -1863,6 +1981,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
@@ -2127,7 +2127,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1869,6 +1988,7 @@ public class PurpurWorldConfig {
@@ -1874,6 +1993,7 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2135,7 +2135,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean vexRidable = false;
@@ -1876,6 +1996,7 @@ public class PurpurWorldConfig {
@@ -1881,6 +2001,7 @@ public class PurpurWorldConfig {
public boolean vexControllable = true;
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
@@ -2143,7 +2143,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1887,6 +2008,7 @@ public class PurpurWorldConfig {
@@ -1892,6 +2013,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2151,7 +2151,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean villagerRidable = false;
@@ -1900,6 +2022,7 @@ public class PurpurWorldConfig {
@@ -1905,6 +2027,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2159,7 +2159,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1917,6 +2040,7 @@ public class PurpurWorldConfig {
@@ -1922,6 +2045,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);
@@ -2167,7 +2167,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean vindicatorRidable = false;
@@ -1924,6 +2048,7 @@ public class PurpurWorldConfig {
@@ -1929,6 +2053,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
@@ -2175,7 +2175,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1935,6 +2060,7 @@ public class PurpurWorldConfig {
@@ -1940,6 +2065,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2183,7 +2183,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean wanderingTraderRidable = false;
@@ -1943,6 +2069,7 @@ public class PurpurWorldConfig {
@@ -1948,6 +2074,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2191,7 +2191,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1955,6 +2082,7 @@ public class PurpurWorldConfig {
@@ -1960,6 +2087,7 @@ 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);
@@ -2199,7 +2199,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean wardenRidable = false;
@@ -1970,6 +2098,7 @@ public class PurpurWorldConfig {
@@ -1975,6 +2103,7 @@ public class PurpurWorldConfig {
public boolean witchRidableInWater = true;
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
@@ -2207,7 +2207,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1980,6 +2109,7 @@ public class PurpurWorldConfig {
@@ -1985,6 +2114,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2215,7 +2215,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean witherRidable = false;
@@ -1990,6 +2120,7 @@ public class PurpurWorldConfig {
@@ -1995,6 +2125,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2223,7 +2223,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2008,12 +2139,14 @@ public class PurpurWorldConfig {
@@ -2013,12 +2144,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);
@@ -2238,7 +2238,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2024,6 +2157,7 @@ public class PurpurWorldConfig {
@@ -2029,6 +2162,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2246,7 +2246,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean wolfRidable = false;
@@ -2034,6 +2168,7 @@ public class PurpurWorldConfig {
@@ -2039,6 +2173,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2254,7 +2254,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2052,12 +2187,14 @@ public class PurpurWorldConfig {
@@ -2057,12 +2192,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);
@@ -2269,7 +2269,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2068,6 +2205,7 @@ public class PurpurWorldConfig {
@@ -2073,6 +2210,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2277,7 +2277,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean zombieRidable = false;
@@ -2080,6 +2218,7 @@ public class PurpurWorldConfig {
@@ -2085,6 +2223,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2285,7 +2285,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2096,6 +2235,7 @@ public class PurpurWorldConfig {
@@ -2101,6 +2240,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);
@@ -2293,7 +2293,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean zombieHorseRidableInWater = false;
@@ -2107,6 +2247,7 @@ public class PurpurWorldConfig {
@@ -2112,6 +2252,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2301,7 +2301,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2123,6 +2264,7 @@ public class PurpurWorldConfig {
@@ -2128,6 +2269,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);
@@ -2309,7 +2309,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean zombieVillagerRidable = false;
@@ -2133,6 +2275,7 @@ public class PurpurWorldConfig {
@@ -2138,6 +2280,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2317,7 +2317,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2147,6 +2290,7 @@ public class PurpurWorldConfig {
@@ -2152,6 +2295,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);
@@ -2325,7 +2325,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
}
public boolean zombifiedPiglinRidable = false;
@@ -2158,6 +2302,7 @@ public class PurpurWorldConfig {
@@ -2163,6 +2307,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2333,7 +2333,7 @@ index 1cb4be76d5903cf85103a248c0ff0720c75aaef5..d29226c0e285b4ea786dac500526a9c3
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2173,5 +2318,6 @@ public class PurpurWorldConfig {
@@ -2178,5 +2323,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);