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

@@ -887,11 +887,11 @@ index 123f8418544468d5c8d0d280f7dd44ebd25339d7..ff6a91caa9bd7fa90d71a2014354c675
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 a175144d5480b7af091787c6ab366fb3e8d70587..18172d30a7a03d0bdef02878261639c0655f9475 100644
index dee89c6e5b4750ebefb3888485a2bc099a81ce58..ea03af5cf7233352bee97a1d3d07dbdf5aebc6ef 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -65,6 +65,11 @@ public class Silverfish extends Monster {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.silverfishMaxHealth);
@@ -67,6 +67,11 @@ public class Silverfish extends Monster {
this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(this.level().purpurConfig.silverfishAttackDamage);
}
+ @Override
@@ -1199,7 +1199,7 @@ index 0d5e828a7fb6fd6facc04a27175541ac463c918e..05c63eb6cf8a7067105c58d244c7cc27
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 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d442602abc5226 100644
index 52f7c69475390c46c10395af593b5ed9365c409c..33b3f83ae000581a42cbcecd569c426e1f3559af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -572,11 +572,13 @@ public class PurpurWorldConfig {
@@ -1950,17 +1950,17 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean silverfishRidable = false;
@@ -1618,6 +1714,7 @@ public class PurpurWorldConfig {
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -1620,6 +1716,7 @@ public class PurpurWorldConfig {
public double silverfishMovementSpeed = 0.25D;
public double silverfishAttackDamage = 1.0D;
public boolean silverfishBypassMobGriefing = false;
+ public boolean silverfishTakeDamageFromWater = false;
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1629,12 +1726,14 @@ public class PurpurWorldConfig {
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -1633,12 +1730,14 @@ public class PurpurWorldConfig {
silverfishMovementSpeed = getDouble("mobs.silverfish.attributes.movement_speed", silverfishMovementSpeed);
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);
}
@@ -1973,7 +1973,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -1645,6 +1744,7 @@ public class PurpurWorldConfig {
@@ -1649,6 +1748,7 @@ public class PurpurWorldConfig {
set("mobs.skeleton.attributes.max_health", oldValue);
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
@@ -1981,7 +1981,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean skeletonHorseRidable = false;
@@ -1656,6 +1756,7 @@ public class PurpurWorldConfig {
@@ -1660,6 +1760,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D;
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
@@ -1989,7 +1989,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void skeletonHorseSettings() {
skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable);
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
@@ -1672,6 +1773,7 @@ public class PurpurWorldConfig {
@@ -1676,6 +1777,7 @@ public class PurpurWorldConfig {
skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax);
skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin);
skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax);
@@ -1997,7 +1997,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean slimeRidable = false;
@@ -1681,6 +1783,7 @@ public class PurpurWorldConfig {
@@ -1685,6 +1787,7 @@ public class PurpurWorldConfig {
public String slimeAttackDamage = "size";
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
@@ -2005,7 +2005,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -1694,6 +1797,7 @@ public class PurpurWorldConfig {
@@ -1698,6 +1801,7 @@ public class PurpurWorldConfig {
slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage);
slimeMaxHealthCache.clear();
slimeAttackDamageCache.clear();
@@ -2013,7 +2013,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean snowGolemRidable = false;
@@ -1707,6 +1811,7 @@ public class PurpurWorldConfig {
@@ -1711,6 +1815,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
@@ -2021,7 +2021,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1724,6 +1829,7 @@ public class PurpurWorldConfig {
@@ -1728,6 +1833,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
@@ -2029,7 +2029,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean snifferRidable = false;
@@ -1745,6 +1851,7 @@ public class PurpurWorldConfig {
@@ -1749,6 +1855,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -2037,7 +2037,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1757,12 +1864,14 @@ public class PurpurWorldConfig {
@@ -1761,12 +1868,14 @@ public class PurpurWorldConfig {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
@@ -2052,7 +2052,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1773,12 +1882,14 @@ public class PurpurWorldConfig {
@@ -1777,12 +1886,14 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2067,7 +2067,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1789,6 +1900,7 @@ public class PurpurWorldConfig {
@@ -1793,6 +1904,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2075,7 +2075,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean striderRidable = false;
@@ -1797,6 +1909,7 @@ public class PurpurWorldConfig {
@@ -1801,6 +1913,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2083,7 +2083,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1809,6 +1922,7 @@ public class PurpurWorldConfig {
@@ -1813,6 +1926,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
@@ -2091,7 +2091,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean tadpoleRidable = false;
@@ -1830,6 +1944,7 @@ public class PurpurWorldConfig {
@@ -1834,6 +1948,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2099,7 +2099,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1848,11 +1963,13 @@ public class PurpurWorldConfig {
@@ -1852,11 +1967,13 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
@@ -2113,7 +2113,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -1862,6 +1979,7 @@ public class PurpurWorldConfig {
@@ -1866,6 +1983,7 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2121,7 +2121,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean turtleRidable = false;
@@ -1869,6 +1987,7 @@ public class PurpurWorldConfig {
@@ -1873,6 +1991,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
@@ -2129,7 +2129,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1880,6 +1999,7 @@ public class PurpurWorldConfig {
@@ -1884,6 +2003,7 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2137,7 +2137,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean vexRidable = false;
@@ -1887,6 +2007,7 @@ public class PurpurWorldConfig {
@@ -1891,6 +2011,7 @@ public class PurpurWorldConfig {
public boolean vexControllable = true;
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
@@ -2145,7 +2145,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1898,6 +2019,7 @@ public class PurpurWorldConfig {
@@ -1902,6 +2023,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2153,7 +2153,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean villagerRidable = false;
@@ -1911,6 +2033,7 @@ public class PurpurWorldConfig {
@@ -1915,6 +2037,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2161,7 +2161,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1928,6 +2051,7 @@ public class PurpurWorldConfig {
@@ -1932,6 +2055,7 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2169,7 +2169,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean vindicatorRidable = false;
@@ -1935,6 +2059,7 @@ public class PurpurWorldConfig {
@@ -1939,6 +2063,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
@@ -2177,7 +2177,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1946,6 +2071,7 @@ public class PurpurWorldConfig {
@@ -1950,6 +2075,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2185,7 +2185,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean wanderingTraderRidable = false;
@@ -1954,6 +2080,7 @@ public class PurpurWorldConfig {
@@ -1958,6 +2084,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2193,7 +2193,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1966,6 +2093,7 @@ public class PurpurWorldConfig {
@@ -1970,6 +2097,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);
@@ -2201,7 +2201,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean wardenRidable = false;
@@ -1981,6 +2109,7 @@ public class PurpurWorldConfig {
@@ -1985,6 +2113,7 @@ public class PurpurWorldConfig {
public boolean witchRidableInWater = true;
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
@@ -2209,7 +2209,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1991,6 +2120,7 @@ public class PurpurWorldConfig {
@@ -1995,6 +2124,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2217,7 +2217,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean witherRidable = false;
@@ -2001,6 +2131,7 @@ public class PurpurWorldConfig {
@@ -2005,6 +2135,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2225,7 +2225,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2019,12 +2150,14 @@ public class PurpurWorldConfig {
@@ -2023,12 +2154,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);
@@ -2240,7 +2240,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2035,6 +2168,7 @@ public class PurpurWorldConfig {
@@ -2039,6 +2172,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2248,7 +2248,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean wolfRidable = false;
@@ -2045,6 +2179,7 @@ public class PurpurWorldConfig {
@@ -2049,6 +2183,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2256,7 +2256,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2063,12 +2198,14 @@ public class PurpurWorldConfig {
@@ -2067,12 +2202,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);
@@ -2271,7 +2271,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2079,6 +2216,7 @@ public class PurpurWorldConfig {
@@ -2083,6 +2220,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2279,7 +2279,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean zombieRidable = false;
@@ -2091,6 +2229,7 @@ public class PurpurWorldConfig {
@@ -2095,6 +2233,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2287,7 +2287,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2107,6 +2246,7 @@ public class PurpurWorldConfig {
@@ -2111,6 +2250,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);
@@ -2295,7 +2295,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean zombieHorseRidable = false;
@@ -2119,6 +2259,7 @@ public class PurpurWorldConfig {
@@ -2123,6 +2263,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2303,7 +2303,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void zombieHorseSettings() {
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
@@ -2136,6 +2277,7 @@ public class PurpurWorldConfig {
@@ -2140,6 +2281,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);
@@ -2311,7 +2311,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean zombieVillagerRidable = false;
@@ -2146,6 +2288,7 @@ public class PurpurWorldConfig {
@@ -2150,6 +2292,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2319,7 +2319,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2160,6 +2303,7 @@ public class PurpurWorldConfig {
@@ -2164,6 +2307,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);
@@ -2327,7 +2327,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
}
public boolean zombifiedPiglinRidable = false;
@@ -2171,6 +2315,7 @@ public class PurpurWorldConfig {
@@ -2175,6 +2319,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2335,7 +2335,7 @@ index 57e00aabe89a8f03994bd6923dccf75e082a9031..71d34560516a1953167d2ad787d44260
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2186,5 +2331,6 @@ public class PurpurWorldConfig {
@@ -2190,5 +2335,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);