add default silverfish movement speed & attack damage attributes

This commit is contained in:
granny
2024-06-21 00:26:19 -07:00
parent b5f1c487e7
commit c0f5e78dc2
41 changed files with 268 additions and 262 deletions

View File

@@ -853,10 +853,10 @@ index 0e9a4e473b1f1887804507cfadfdeeed645fa3d1..18fb2fd83a6b8234cca5d51e931582c3
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 18172d30a7a03d0bdef02878261639c0655f9475..c713e0b9b90784ad5f043f3a06ef50b5a1769ed1 100644
index ea03af5cf7233352bee97a1d3d07dbdf5aebc6ef..0e6fdb9dfba9795eb99b8d152e1cd3d0d551a1bd 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -70,6 +70,11 @@ public class Silverfish extends Monster {
@@ -72,6 +72,11 @@ public class Silverfish extends Monster {
return this.level().purpurConfig.silverfishTakeDamageFromWater;
}
@@ -1157,7 +1157,7 @@ index 6250bc28db4bbac0f101cdc93c90ec4d7ec6b2ba..d342752271c76b447bb8cde50d574072
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 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd580fef6cd0 100644
index b2c2665b9697a41747ec173f6d850746edbc6c00..47e6dbcb70f90fb882d061a2107ce2a296706eca 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1111,12 +1111,14 @@ public class PurpurWorldConfig {
@@ -1905,23 +1905,23 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean silverfishRidable = false;
@@ -2337,6 +2431,7 @@ public class PurpurWorldConfig {
public double silverfishMaxHealth = 8.0D;
@@ -2339,6 +2433,7 @@ public class PurpurWorldConfig {
public double silverfishAttackDamage = 1.0D;
public boolean silverfishBypassMobGriefing = false;
public boolean silverfishTakeDamageFromWater = false;
+ public boolean silverfishAlwaysDropExp = false;
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -2349,6 +2444,7 @@ public class PurpurWorldConfig {
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -2353,6 +2448,7 @@ public class PurpurWorldConfig {
silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage);
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater);
+ silverfishAlwaysDropExp = getBoolean("mobs.silverfish.always-drop-exp", silverfishAlwaysDropExp);
}
public boolean skeletonRidable = false;
@@ -2356,6 +2452,7 @@ public class PurpurWorldConfig {
@@ -2360,6 +2456,7 @@ public class PurpurWorldConfig {
public boolean skeletonControllable = true;
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
@@ -1929,7 +1929,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2367,6 +2464,7 @@ public class PurpurWorldConfig {
@@ -2371,6 +2468,7 @@ public class PurpurWorldConfig {
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
@@ -1937,7 +1937,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean skeletonHorseRidable = false;
@@ -2379,6 +2477,7 @@ public class PurpurWorldConfig {
@@ -2383,6 +2481,7 @@ public class PurpurWorldConfig {
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
public boolean skeletonHorseTakeDamageFromWater = false;
@@ -1945,7 +1945,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void skeletonHorseSettings() {
skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable);
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
@@ -2396,6 +2495,7 @@ public class PurpurWorldConfig {
@@ -2400,6 +2499,7 @@ public class PurpurWorldConfig {
skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin);
skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax);
skeletonHorseTakeDamageFromWater = getBoolean("mobs.skeleton_horse.takes-damage-from-water", skeletonHorseTakeDamageFromWater);
@@ -1953,7 +1953,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean slimeRidable = false;
@@ -2406,6 +2506,7 @@ public class PurpurWorldConfig {
@@ -2410,6 +2510,7 @@ public class PurpurWorldConfig {
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
public boolean slimeTakeDamageFromWater = false;
@@ -1961,7 +1961,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -2420,6 +2521,7 @@ public class PurpurWorldConfig {
@@ -2424,6 +2525,7 @@ public class PurpurWorldConfig {
slimeMaxHealthCache.clear();
slimeAttackDamageCache.clear();
slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater);
@@ -1969,7 +1969,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean snowGolemRidable = false;
@@ -2434,6 +2536,7 @@ public class PurpurWorldConfig {
@@ -2438,6 +2540,7 @@ public class PurpurWorldConfig {
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
public boolean snowGolemTakeDamageFromWater = true;
@@ -1977,7 +1977,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -2452,6 +2555,7 @@ public class PurpurWorldConfig {
@@ -2456,6 +2559,7 @@ public class PurpurWorldConfig {
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater);
@@ -1985,7 +1985,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean snifferRidable = false;
@@ -2474,6 +2578,7 @@ public class PurpurWorldConfig {
@@ -2478,6 +2582,7 @@ public class PurpurWorldConfig {
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
public boolean squidTakeDamageFromWater = false;
@@ -1993,7 +1993,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -2487,6 +2592,7 @@ public class PurpurWorldConfig {
@@ -2491,6 +2596,7 @@ public class PurpurWorldConfig {
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater);
@@ -2001,7 +2001,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean spiderRidable = false;
@@ -2494,6 +2600,7 @@ public class PurpurWorldConfig {
@@ -2498,6 +2604,7 @@ public class PurpurWorldConfig {
public boolean spiderControllable = true;
public double spiderMaxHealth = 16.0D;
public boolean spiderTakeDamageFromWater = false;
@@ -2009,7 +2009,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -2505,6 +2612,7 @@ public class PurpurWorldConfig {
@@ -2509,6 +2616,7 @@ public class PurpurWorldConfig {
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
@@ -2017,7 +2017,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean strayRidable = false;
@@ -2512,6 +2620,7 @@ public class PurpurWorldConfig {
@@ -2516,6 +2624,7 @@ public class PurpurWorldConfig {
public boolean strayControllable = true;
public double strayMaxHealth = 20.0D;
public boolean strayTakeDamageFromWater = false;
@@ -2025,7 +2025,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -2523,6 +2632,7 @@ public class PurpurWorldConfig {
@@ -2527,6 +2636,7 @@ public class PurpurWorldConfig {
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater);
@@ -2033,7 +2033,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean striderRidable = false;
@@ -2532,6 +2642,7 @@ public class PurpurWorldConfig {
@@ -2536,6 +2646,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
public boolean striderTakeDamageFromWater = true;
@@ -2041,7 +2041,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -2545,6 +2656,7 @@ public class PurpurWorldConfig {
@@ -2549,6 +2660,7 @@ public class PurpurWorldConfig {
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater);
@@ -2049,7 +2049,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean tadpoleRidable = false;
@@ -2567,6 +2679,7 @@ public class PurpurWorldConfig {
@@ -2571,6 +2683,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
public boolean traderLlamaTakeDamageFromWater = false;
@@ -2057,7 +2057,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -2586,12 +2699,14 @@ public class PurpurWorldConfig {
@@ -2590,12 +2703,14 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater);
@@ -2072,7 +2072,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -2602,6 +2717,7 @@ public class PurpurWorldConfig {
@@ -2606,6 +2721,7 @@ public class PurpurWorldConfig {
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater);
@@ -2080,7 +2080,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean turtleRidable = false;
@@ -2610,6 +2726,7 @@ public class PurpurWorldConfig {
@@ -2614,6 +2730,7 @@ public class PurpurWorldConfig {
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
public boolean turtleTakeDamageFromWater = false;
@@ -2088,7 +2088,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -2622,6 +2739,7 @@ public class PurpurWorldConfig {
@@ -2626,6 +2743,7 @@ public class PurpurWorldConfig {
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater);
@@ -2096,7 +2096,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean vexRidable = false;
@@ -2630,6 +2748,7 @@ public class PurpurWorldConfig {
@@ -2634,6 +2752,7 @@ public class PurpurWorldConfig {
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
public boolean vexTakeDamageFromWater = false;
@@ -2104,7 +2104,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -2642,6 +2761,7 @@ public class PurpurWorldConfig {
@@ -2646,6 +2765,7 @@ public class PurpurWorldConfig {
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater);
@@ -2112,7 +2112,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean villagerRidable = false;
@@ -2657,6 +2777,7 @@ public class PurpurWorldConfig {
@@ -2661,6 +2781,7 @@ public class PurpurWorldConfig {
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
@@ -2120,7 +2120,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2676,6 +2797,7 @@ public class PurpurWorldConfig {
@@ -2680,6 +2801,7 @@ public class PurpurWorldConfig {
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
@@ -2128,7 +2128,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean vindicatorRidable = false;
@@ -2684,6 +2806,7 @@ public class PurpurWorldConfig {
@@ -2688,6 +2810,7 @@ public class PurpurWorldConfig {
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
public boolean vindicatorTakeDamageFromWater = false;
@@ -2136,7 +2136,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -2696,6 +2819,7 @@ public class PurpurWorldConfig {
@@ -2700,6 +2823,7 @@ public class PurpurWorldConfig {
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater);
@@ -2144,7 +2144,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean wanderingTraderRidable = false;
@@ -2706,6 +2830,7 @@ public class PurpurWorldConfig {
@@ -2710,6 +2834,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
public boolean wanderingTraderAllowTrading = true;
@@ -2152,7 +2152,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2720,6 +2845,7 @@ public class PurpurWorldConfig {
@@ -2724,6 +2849,7 @@ public class PurpurWorldConfig {
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);
wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading);
@@ -2160,7 +2160,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean wardenRidable = false;
@@ -2736,6 +2862,7 @@ public class PurpurWorldConfig {
@@ -2740,6 +2866,7 @@ public class PurpurWorldConfig {
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
public boolean witchTakeDamageFromWater = false;
@@ -2168,7 +2168,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -2747,6 +2874,7 @@ public class PurpurWorldConfig {
@@ -2751,6 +2878,7 @@ public class PurpurWorldConfig {
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater);
@@ -2176,7 +2176,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean witherRidable = false;
@@ -2761,6 +2889,7 @@ public class PurpurWorldConfig {
@@ -2765,6 +2893,7 @@ public class PurpurWorldConfig {
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
public boolean witherPlaySpawnSound = true;
@@ -2184,7 +2184,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2783,6 +2912,7 @@ public class PurpurWorldConfig {
@@ -2787,6 +2916,7 @@ public class PurpurWorldConfig {
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);
witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound);
@@ -2192,7 +2192,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean witherSkeletonRidable = false;
@@ -2790,6 +2920,7 @@ public class PurpurWorldConfig {
@@ -2794,6 +2924,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonControllable = true;
public double witherSkeletonMaxHealth = 20.0D;
public boolean witherSkeletonTakeDamageFromWater = false;
@@ -2200,7 +2200,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2801,6 +2932,7 @@ public class PurpurWorldConfig {
@@ -2805,6 +2936,7 @@ public class PurpurWorldConfig {
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater);
@@ -2208,7 +2208,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean wolfRidable = false;
@@ -2812,6 +2944,7 @@ public class PurpurWorldConfig {
@@ -2816,6 +2948,7 @@ public class PurpurWorldConfig {
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
public boolean wolfTakeDamageFromWater = false;
@@ -2216,7 +2216,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2831,6 +2964,7 @@ public class PurpurWorldConfig {
@@ -2835,6 +2968,7 @@ public class PurpurWorldConfig {
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater);
@@ -2224,7 +2224,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean zoglinRidable = false;
@@ -2838,6 +2972,7 @@ public class PurpurWorldConfig {
@@ -2842,6 +2976,7 @@ public class PurpurWorldConfig {
public boolean zoglinControllable = true;
public double zoglinMaxHealth = 40.0D;
public boolean zoglinTakeDamageFromWater = false;
@@ -2232,7 +2232,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2849,6 +2984,7 @@ public class PurpurWorldConfig {
@@ -2853,6 +2988,7 @@ public class PurpurWorldConfig {
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater);
@@ -2240,7 +2240,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean zombieRidable = false;
@@ -2862,6 +2998,7 @@ public class PurpurWorldConfig {
@@ -2866,6 +3002,7 @@ public class PurpurWorldConfig {
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
@@ -2248,7 +2248,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2879,6 +3016,7 @@ public class PurpurWorldConfig {
@@ -2883,6 +3020,7 @@ public class PurpurWorldConfig {
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
@@ -2256,7 +2256,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean zombieHorseRidable = false;
@@ -2892,6 +3030,7 @@ public class PurpurWorldConfig {
@@ -2896,6 +3034,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
public boolean zombieHorseTakeDamageFromWater = false;
@@ -2264,7 +2264,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void zombieHorseSettings() {
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
@@ -2910,6 +3049,7 @@ public class PurpurWorldConfig {
@@ -2914,6 +3053,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater);
@@ -2272,7 +2272,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean zombieVillagerRidable = false;
@@ -2924,6 +3064,7 @@ public class PurpurWorldConfig {
@@ -2928,6 +3068,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true;
@@ -2280,7 +2280,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2942,6 +3083,7 @@ public class PurpurWorldConfig {
@@ -2946,6 +3087,7 @@ public class PurpurWorldConfig {
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
@@ -2288,7 +2288,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
}
public boolean zombifiedPiglinRidable = false;
@@ -2954,6 +3096,7 @@ public class PurpurWorldConfig {
@@ -2958,6 +3100,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
public boolean zombifiedPiglinTakeDamageFromWater = false;
@@ -2296,7 +2296,7 @@ index 5c70c1d9efd106a5d3e389edd017a14c52ab6b50..3e537be0ef13cf6ee2018bf9cb11bd58
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2970,6 +3113,7 @@ public class PurpurWorldConfig {
@@ -2974,6 +3117,7 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);