diff --git a/patches/server/0110-Make-entity-breeding-times-configurable.patch b/patches/server/0110-Make-entity-breeding-times-configurable.patch index e618d9fde..d4d144bda 100644 --- a/patches/server/0110-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0110-Make-entity-breeding-times-configurable.patch @@ -315,6 +315,24 @@ index a80a7d460051a39fe805ae669b4586fb42e46943..6d444248b9e283e31d5777d450a52643 // Purpur end @Override +diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +index 9e17e21a48892686e94a1c21b636695ab84eb7cd..ca0051d46a8ebe614d143339f229a3cce73b0bb3 100644 +--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java ++++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +@@ -93,6 +93,13 @@ public class Frog extends Animal { + this.maxUpStep = 1.0F; + } + ++ // Purpur start ++ @Override ++ public int getPurpurBreedTime() { ++ return this.level.purpurConfig.frogBreedingTicks; ++ } ++ // Purpur end ++ + @Override + protected Brain.Provider brainProvider() { + return Brain.provider(MEMORY_TYPES, SENSOR_TYPES); diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java index aa2abe00478b002fc90166441d8b89c7046ed022..47c08d7f3e30aa335fb7c43179679b6ae9f23952 100644 --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java @@ -476,7 +494,7 @@ index e99ffbf30652e188e88f8e17ed41d39ff25c9f73..c335a32832c6eef95658fbf632b943bb @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc288c9ad8 100644 +index 7c203f8b0120d07263c0a96422a69173daebd89e..ac3b0b027c6a9a625d5b54fc2db59339a11510d0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -481,10 +481,12 @@ public class PurpurWorldConfig { @@ -580,15 +598,20 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -830,6 +843,7 @@ public class PurpurWorldConfig { +@@ -830,6 +843,12 @@ public class PurpurWorldConfig { } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); + foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); ++ } ++ ++ public int frogBreedingTicks = 6000; ++ private void frogSettings() { ++ frogBreedingTicks = getInt("mobs.frog.breeding-delay-ticks", frogBreedingTicks); } public boolean ghastRidable = false; -@@ -897,11 +911,13 @@ public class PurpurWorldConfig { +@@ -897,11 +916,13 @@ public class PurpurWorldConfig { public boolean goatRidableInWater = false; public boolean goatControllable = true; public double goatMaxHealth = 10.0D; @@ -602,7 +625,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean guardianRidable = false; -@@ -922,6 +938,7 @@ public class PurpurWorldConfig { +@@ -922,6 +943,7 @@ public class PurpurWorldConfig { public boolean hoglinRidableInWater = false; public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; @@ -610,7 +633,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -932,6 +949,7 @@ public class PurpurWorldConfig { +@@ -932,6 +954,7 @@ public class PurpurWorldConfig { set("mobs.hoglin.attributes.max_health", oldValue); } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); @@ -618,7 +641,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean horseRidableInWater = false; -@@ -941,6 +959,7 @@ public class PurpurWorldConfig { +@@ -941,6 +964,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -626,7 +649,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -956,6 +975,7 @@ public class PurpurWorldConfig { +@@ -956,6 +980,7 @@ public class PurpurWorldConfig { horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); @@ -634,7 +657,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean huskRidable = false; -@@ -1033,6 +1053,7 @@ public class PurpurWorldConfig { +@@ -1033,6 +1058,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -642,7 +665,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1050,6 +1071,7 @@ public class PurpurWorldConfig { +@@ -1050,6 +1076,7 @@ public class PurpurWorldConfig { llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); @@ -650,7 +673,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean magmaCubeRidable = false; -@@ -1078,6 +1100,7 @@ public class PurpurWorldConfig { +@@ -1078,6 +1105,7 @@ public class PurpurWorldConfig { public boolean mooshroomRidableInWater = false; public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; @@ -658,7 +681,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1088,6 +1111,7 @@ public class PurpurWorldConfig { +@@ -1088,6 +1116,7 @@ public class PurpurWorldConfig { set("mobs.mooshroom.attributes.max_health", oldValue); } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); @@ -666,7 +689,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean muleRidableInWater = false; -@@ -1097,6 +1121,7 @@ public class PurpurWorldConfig { +@@ -1097,6 +1126,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -674,7 +697,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1112,12 +1137,14 @@ public class PurpurWorldConfig { +@@ -1112,12 +1142,14 @@ public class PurpurWorldConfig { muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); @@ -689,7 +712,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1128,12 +1155,14 @@ public class PurpurWorldConfig { +@@ -1128,12 +1160,14 @@ public class PurpurWorldConfig { set("mobs.ocelot.attributes.max_health", oldValue); } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); @@ -704,7 +727,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1144,6 +1173,7 @@ public class PurpurWorldConfig { +@@ -1144,6 +1178,7 @@ public class PurpurWorldConfig { set("mobs.panda.attributes.max_health", oldValue); } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); @@ -712,7 +735,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean parrotRidable = false; -@@ -1239,6 +1269,7 @@ public class PurpurWorldConfig { +@@ -1239,6 +1274,7 @@ public class PurpurWorldConfig { public boolean pigControllable = true; public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; @@ -720,7 +743,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1250,6 +1281,7 @@ public class PurpurWorldConfig { +@@ -1250,6 +1286,7 @@ public class PurpurWorldConfig { } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -728,7 +751,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean piglinRidable = false; -@@ -1306,6 +1338,7 @@ public class PurpurWorldConfig { +@@ -1306,6 +1343,7 @@ public class PurpurWorldConfig { public double polarBearMaxHealth = 30.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -736,7 +759,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1319,6 +1352,7 @@ public class PurpurWorldConfig { +@@ -1319,6 +1357,7 @@ public class PurpurWorldConfig { polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; @@ -744,7 +767,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean pufferfishRidable = false; -@@ -1341,6 +1375,7 @@ public class PurpurWorldConfig { +@@ -1341,6 +1380,7 @@ public class PurpurWorldConfig { public double rabbitMaxHealth = 3.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -752,7 +775,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1353,6 +1388,7 @@ public class PurpurWorldConfig { +@@ -1353,6 +1393,7 @@ public class PurpurWorldConfig { rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); @@ -760,7 +783,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean ravagerRidable = false; -@@ -1389,6 +1425,7 @@ public class PurpurWorldConfig { +@@ -1389,6 +1430,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = false; public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; @@ -768,7 +791,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1399,6 +1436,7 @@ public class PurpurWorldConfig { +@@ -1399,6 +1441,7 @@ public class PurpurWorldConfig { set("mobs.sheep.attributes.max_health", oldValue); } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); @@ -776,7 +799,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean shulkerRidable = false; -@@ -1574,6 +1612,7 @@ public class PurpurWorldConfig { +@@ -1574,6 +1617,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public boolean striderControllable = true; public double striderMaxHealth = 20.0D; @@ -784,7 +807,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1584,6 +1623,7 @@ public class PurpurWorldConfig { +@@ -1584,6 +1628,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); @@ -792,7 +815,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean traderLlamaRidable = false; -@@ -1595,6 +1635,7 @@ public class PurpurWorldConfig { +@@ -1595,6 +1640,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -800,7 +823,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1612,6 +1653,7 @@ public class PurpurWorldConfig { +@@ -1612,6 +1658,7 @@ public class PurpurWorldConfig { traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); @@ -808,7 +831,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean tropicalFishRidable = false; -@@ -1632,6 +1674,7 @@ public class PurpurWorldConfig { +@@ -1632,6 +1679,7 @@ public class PurpurWorldConfig { public boolean turtleRidableInWater = false; public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; @@ -816,7 +839,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1642,6 +1685,7 @@ public class PurpurWorldConfig { +@@ -1642,6 +1690,7 @@ public class PurpurWorldConfig { set("mobs.turtle.attributes.max_health", oldValue); } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); @@ -824,7 +847,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean vexRidable = false; -@@ -1671,6 +1715,7 @@ public class PurpurWorldConfig { +@@ -1671,6 +1720,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; @@ -832,7 +855,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1686,6 +1731,7 @@ public class PurpurWorldConfig { +@@ -1686,6 +1736,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); @@ -840,7 +863,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc } public boolean vindicatorRidable = false; -@@ -1788,6 +1834,7 @@ public class PurpurWorldConfig { +@@ -1788,6 +1839,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = false; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -848,7 +871,7 @@ index 7c203f8b0120d07263c0a96422a69173daebd89e..f2015098f6470a7f8ab37174138b84dc private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1798,6 +1845,7 @@ public class PurpurWorldConfig { +@@ -1798,6 +1850,7 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0117-Snow-Golem-rate-of-fire-config.patch b/patches/server/0117-Snow-Golem-rate-of-fire-config.patch index 6701b20d4..f83092719 100644 --- a/patches/server/0117-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0117-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index b4459d68397cc5bac4f7ef79a2dfb18f3eb24f77..b9025929fcc89e72aa820953b91a6542 this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 60fed3d898388e88088284af1b0d45ca606b2a99..73453f20a0b2cd35abfb1985e225d9d595aa849d 100644 +index e4fdbca384109a4c45284648709394d4c425f9b3..6e46b3928f619cc5d2fb596b1cb740eea04a17d3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1558,6 +1558,10 @@ public class PurpurWorldConfig { +@@ -1563,6 +1563,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index 60fed3d898388e88088284af1b0d45ca606b2a99..73453f20a0b2cd35abfb1985e225d9d5 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1571,6 +1575,10 @@ public class PurpurWorldConfig { +@@ -1576,6 +1580,10 @@ public class PurpurWorldConfig { snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/server/0119-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0119-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 320f10ce9..b9bce5baf 100644 --- a/patches/server/0119-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0119-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -181,10 +181,10 @@ index b1f20cb356e6b4e89fdddf4e48f2fd932bdb5170..352a7df156c638684a12a864eb5a9d06 public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 73453f20a0b2cd35abfb1985e225d9d595aa849d..961bb6fd04155efb4211a763f2efff517a08e644 100644 +index 6e46b3928f619cc5d2fb596b1cb740eea04a17d3..a81a421c13b27e1078d4c34e760920eebc4cd854 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1741,6 +1741,8 @@ public class PurpurWorldConfig { +@@ -1746,6 +1746,8 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -193,7 +193,7 @@ index 73453f20a0b2cd35abfb1985e225d9d595aa849d..961bb6fd04155efb4211a763f2efff51 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1757,6 +1759,8 @@ public class PurpurWorldConfig { +@@ -1762,6 +1764,8 @@ public class PurpurWorldConfig { villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0120-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0120-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index 7e4ea05b8..d20c3d2a2 100644 --- a/patches/server/0120-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0120-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 6c1dd723373f9b1b920548de85aeb6cef0120fa7..1f0003fb08a45af02e6d38e28fa548ab } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 961bb6fd04155efb4211a763f2efff517a08e644..201f672797ca9f1ea5c6ed3bdebfef8dcdc41c7a 100644 +index a81a421c13b27e1078d4c34e760920eebc4cd854..19ca7fb96c5b0fb115dda297d1b386875bf87d02 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1978,6 +1978,7 @@ public class PurpurWorldConfig { +@@ -1983,6 +1983,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index 961bb6fd04155efb4211a763f2efff517a08e644..201f672797ca9f1ea5c6ed3bdebfef8d private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1992,5 +1993,6 @@ public class PurpurWorldConfig { +@@ -1997,5 +1998,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); diff --git a/patches/server/0122-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0122-Configurable-chance-for-wolves-to-spawn-rabid.patch index 6bf8a4acc..147b7d333 100644 --- a/patches/server/0122-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0122-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -222,10 +222,10 @@ index a3bec00368aef0f8cc6aa21cce1389938d15f91b..704667760ab1593647e3f03bdd17ad32 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 201f672797ca9f1ea5c6ed3bdebfef8dcdc41c7a..1578c5b83c72fead1ff191fc439f1c8c9cdd9032 100644 +index 19ca7fb96c5b0fb115dda297d1b386875bf87d02..6e57ed4f69c97da72d19b93173cc20e2f17e82df 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1863,6 +1863,8 @@ public class PurpurWorldConfig { +@@ -1868,6 +1868,8 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = false; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -234,7 +234,7 @@ index 201f672797ca9f1ea5c6ed3bdebfef8dcdc41c7a..1578c5b83c72fead1ff191fc439f1c8c public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1874,6 +1876,8 @@ public class PurpurWorldConfig { +@@ -1879,6 +1881,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0123-Configurable-default-collar-color.patch b/patches/server/0123-Configurable-default-collar-color.patch index f9ca91bc7..f09c1e67b 100644 --- a/patches/server/0123-Configurable-default-collar-color.patch +++ b/patches/server/0123-Configurable-default-collar-color.patch @@ -43,7 +43,7 @@ index f862d83db6127804b9254a33a73e6f186a1d1327..ffe8f80cfe3bec8fe79415015f529074 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1578c5b83c72fead1ff191fc439f1c8c9cdd9032..9d20a9bf0af2a40648f1189b038a54ee1d4be9a2 100644 +index 6e57ed4f69c97da72d19b93173cc20e2f17e82df..507147606fd201cddeb74af0d11d1676a8546f13 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -575,6 +575,7 @@ public class PurpurWorldConfig { @@ -66,7 +66,7 @@ index 1578c5b83c72fead1ff191fc439f1c8c9cdd9032..9d20a9bf0af2a40648f1189b038a54ee } public boolean caveSpiderRidable = false; -@@ -1863,6 +1869,7 @@ public class PurpurWorldConfig { +@@ -1868,6 +1874,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = false; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -74,7 +74,7 @@ index 1578c5b83c72fead1ff191fc439f1c8c9cdd9032..9d20a9bf0af2a40648f1189b038a54ee public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1876,6 +1883,11 @@ public class PurpurWorldConfig { +@@ -1881,6 +1888,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0124-Phantom-flames-on-swoop.patch b/patches/server/0124-Phantom-flames-on-swoop.patch index 29e9131c7..b5fd7ceac 100644 --- a/patches/server/0124-Phantom-flames-on-swoop.patch +++ b/patches/server/0124-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 82d56a6968f3bbea5a2d32c2a7a84a8ba36d3d15..f23ca987666fd23621d3d731fd1a4ab2 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9d20a9bf0af2a40648f1189b038a54ee1d4be9a2..0abe70545304887722ec20c5ad20169273381560 100644 +index 507147606fd201cddeb74af0d11d1676a8546f13..f8a9e30b7a62aa595b4d686cb1bfef321c28c982 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1246,6 +1246,7 @@ public class PurpurWorldConfig { +@@ -1251,6 +1251,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -28,7 +28,7 @@ index 9d20a9bf0af2a40648f1189b038a54ee1d4be9a2..0abe70545304887722ec20c5ad201692 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1285,6 +1286,7 @@ public class PurpurWorldConfig { +@@ -1290,6 +1291,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); diff --git a/patches/server/0127-Striders-give-saddle-back.patch b/patches/server/0127-Striders-give-saddle-back.patch index c41227015..428488cfe 100644 --- a/patches/server/0127-Striders-give-saddle-back.patch +++ b/patches/server/0127-Striders-give-saddle-back.patch @@ -29,10 +29,10 @@ index eb2083d67f9486a24d2f0aa4bf1f5ba8a00e23a3..df9d16a6493a57b6034cd56bf8dbe38f if (!this.level.isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f5832c2a308d8acbac525b6ff9c1aea6b816e96e..96b237ae22669e46eff2402906500cf869d93c7e 100644 +index 329717770d0247d4b3d56817ae5fd38a083a8ff4..e300ad3350a666d81b60488ac4ed1eb0d3bca99f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1651,6 +1651,7 @@ public class PurpurWorldConfig { +@@ -1656,6 +1656,7 @@ public class PurpurWorldConfig { public boolean striderControllable = true; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -40,7 +40,7 @@ index f5832c2a308d8acbac525b6ff9c1aea6b816e96e..96b237ae22669e46eff2402906500cf8 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1662,6 +1663,7 @@ public class PurpurWorldConfig { +@@ -1667,6 +1668,7 @@ public class PurpurWorldConfig { } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); diff --git a/patches/server/0131-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0131-Add-mobGriefing-bypass-to-everything-affected.patch index 94396e189..ffd0802c5 100644 --- a/patches/server/0131-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0131-Add-mobGriefing-bypass-to-everything-affected.patch @@ -393,7 +393,7 @@ index 1a12fee99a8b69fc6c01e1e217575c7c19e13155..4907e0acb7d01b7f57b75579e58ce743 return true; // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b52ba2858 100644 +index c93c78b1d4d6816794c5a8a97f1d4f04823c7fd8..23d4b864bffe8ccb313882c4a59c03a41241ac50 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -109,8 +109,11 @@ public class PurpurWorldConfig { @@ -536,8 +536,8 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b + foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); } - public boolean ghastRidable = false; -@@ -1331,6 +1356,7 @@ public class PurpurWorldConfig { + public int frogBreedingTicks = 6000; +@@ -1336,6 +1361,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = false; public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; @@ -545,7 +545,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1341,6 +1367,7 @@ public class PurpurWorldConfig { +@@ -1346,6 +1372,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -553,7 +553,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean piglinBruteRidable = false; -@@ -1363,6 +1390,7 @@ public class PurpurWorldConfig { +@@ -1368,6 +1395,7 @@ public class PurpurWorldConfig { public boolean pillagerRidableInWater = false; public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; @@ -561,7 +561,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1373,6 +1401,7 @@ public class PurpurWorldConfig { +@@ -1378,6 +1406,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -569,7 +569,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean polarBearRidable = false; -@@ -1419,6 +1448,7 @@ public class PurpurWorldConfig { +@@ -1424,6 +1453,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -577,7 +577,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1432,12 +1462,14 @@ public class PurpurWorldConfig { +@@ -1437,12 +1467,14 @@ public class PurpurWorldConfig { rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); @@ -592,7 +592,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1448,6 +1480,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1485,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -600,7 +600,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean salmonRidable = false; -@@ -1469,6 +1502,7 @@ public class PurpurWorldConfig { +@@ -1474,6 +1507,7 @@ public class PurpurWorldConfig { public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -608,7 +608,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1480,6 +1514,7 @@ public class PurpurWorldConfig { +@@ -1485,6 +1519,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -616,7 +616,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean shulkerRidable = false; -@@ -1502,6 +1537,7 @@ public class PurpurWorldConfig { +@@ -1507,6 +1542,7 @@ public class PurpurWorldConfig { public boolean silverfishRidableInWater = false; public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; @@ -624,7 +624,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1512,6 +1548,7 @@ public class PurpurWorldConfig { +@@ -1517,6 +1553,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -632,7 +632,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean skeletonRidable = false; -@@ -1588,6 +1625,7 @@ public class PurpurWorldConfig { +@@ -1593,6 +1630,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -640,7 +640,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1605,6 +1643,7 @@ public class PurpurWorldConfig { +@@ -1610,6 +1648,7 @@ public class PurpurWorldConfig { snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); @@ -648,7 +648,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean squidRidable = false; -@@ -1771,6 +1810,7 @@ public class PurpurWorldConfig { +@@ -1776,6 +1815,7 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -656,7 +656,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1789,6 +1829,7 @@ public class PurpurWorldConfig { +@@ -1794,6 +1834,7 @@ public class PurpurWorldConfig { villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -664,7 +664,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean vindicatorRidable = false; -@@ -1852,6 +1893,7 @@ public class PurpurWorldConfig { +@@ -1857,6 +1898,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -672,7 +672,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1869,6 +1911,7 @@ public class PurpurWorldConfig { +@@ -1874,6 +1916,7 @@ public class PurpurWorldConfig { witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); @@ -680,7 +680,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b } public boolean witherSkeletonRidable = false; -@@ -1940,6 +1983,7 @@ public class PurpurWorldConfig { +@@ -1945,6 +1988,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -688,7 +688,7 @@ index 0b35b906360d964dbff288217340becddb14678c..a2c8bb6c6dfda88ddaf4e445106a0d4b private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1955,6 +1999,7 @@ public class PurpurWorldConfig { +@@ -1960,6 +2004,7 @@ public class PurpurWorldConfig { zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); diff --git a/patches/server/0137-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0137-Toggle-for-water-sensitive-mob-damage.patch index b2e39964f..57a7904ce 100644 --- a/patches/server/0137-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0137-Toggle-for-water-sensitive-mob-damage.patch @@ -1197,7 +1197,7 @@ index 8756e0d8d0077308f5fb74bf45fe093d0f043c99..6dd8856816bebb2766203589048cc68b @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694abb98411ab 100644 +index 6bff04132db715bb0ec443d79b90a7a3d213958d..715c00cd6f48089a6cacf726b70ffed0b1882205 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -544,6 +544,7 @@ public class PurpurWorldConfig { @@ -1497,8 +1497,8 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab + foxTakeDamageFromWater = getBoolean("mobs.fox.takes-damage-from-water", foxTakeDamageFromWater); } - public boolean ghastRidable = false; -@@ -935,6 +973,7 @@ public class PurpurWorldConfig { + public int frogBreedingTicks = 6000; +@@ -940,6 +978,7 @@ public class PurpurWorldConfig { public boolean ghastControllable = true; public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; @@ -1506,7 +1506,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -946,6 +985,7 @@ public class PurpurWorldConfig { +@@ -951,6 +990,7 @@ public class PurpurWorldConfig { set("mobs.ghast.attributes.max_health", oldValue); } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); @@ -1514,7 +1514,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean giantRidable = false; -@@ -958,6 +998,7 @@ public class PurpurWorldConfig { +@@ -963,6 +1003,7 @@ public class PurpurWorldConfig { public float giantJumpHeight = 1.0F; public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; @@ -1522,7 +1522,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -978,17 +1019,20 @@ public class PurpurWorldConfig { +@@ -983,17 +1024,20 @@ public class PurpurWorldConfig { giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); @@ -1543,7 +1543,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean goatRidable = false; -@@ -996,17 +1040,20 @@ public class PurpurWorldConfig { +@@ -1001,17 +1045,20 @@ public class PurpurWorldConfig { public boolean goatControllable = true; public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; @@ -1564,7 +1564,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1016,6 +1063,7 @@ public class PurpurWorldConfig { +@@ -1021,6 +1068,7 @@ public class PurpurWorldConfig { set("mobs.guardian.attributes.max_health", oldValue); } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); @@ -1572,7 +1572,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean hoglinRidable = false; -@@ -1023,6 +1071,7 @@ public class PurpurWorldConfig { +@@ -1028,6 +1076,7 @@ public class PurpurWorldConfig { public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; @@ -1580,7 +1580,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1034,6 +1083,7 @@ public class PurpurWorldConfig { +@@ -1039,6 +1088,7 @@ public class PurpurWorldConfig { } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); @@ -1588,7 +1588,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean horseRidableInWater = false; -@@ -1044,6 +1094,7 @@ public class PurpurWorldConfig { +@@ -1049,6 +1099,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -1596,7 +1596,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1060,6 +1111,7 @@ public class PurpurWorldConfig { +@@ -1065,6 +1116,7 @@ public class PurpurWorldConfig { horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); @@ -1604,7 +1604,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean huskRidable = false; -@@ -1070,6 +1122,7 @@ public class PurpurWorldConfig { +@@ -1075,6 +1127,7 @@ public class PurpurWorldConfig { public boolean huskJockeyOnlyBaby = true; public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; @@ -1612,7 +1612,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1084,6 +1137,7 @@ public class PurpurWorldConfig { +@@ -1089,6 +1142,7 @@ public class PurpurWorldConfig { huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); @@ -1620,7 +1620,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean illusionerRidable = false; -@@ -1092,6 +1146,7 @@ public class PurpurWorldConfig { +@@ -1097,6 +1151,7 @@ public class PurpurWorldConfig { public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; @@ -1628,7 +1628,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1108,6 +1163,7 @@ public class PurpurWorldConfig { +@@ -1113,6 +1168,7 @@ public class PurpurWorldConfig { set("mobs.illusioner.attributes.max_health", oldValue); } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); @@ -1636,7 +1636,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean ironGolemRidable = false; -@@ -1115,6 +1171,7 @@ public class PurpurWorldConfig { +@@ -1120,6 +1176,7 @@ public class PurpurWorldConfig { public boolean ironGolemControllable = true; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -1644,7 +1644,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1126,6 +1183,7 @@ public class PurpurWorldConfig { +@@ -1131,6 +1188,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); @@ -1652,7 +1652,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean llamaRidable = false; -@@ -1138,6 +1196,7 @@ public class PurpurWorldConfig { +@@ -1143,6 +1201,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -1660,7 +1660,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1156,6 +1215,7 @@ public class PurpurWorldConfig { +@@ -1161,6 +1220,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); @@ -1668,7 +1668,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean magmaCubeRidable = false; -@@ -1165,6 +1225,7 @@ public class PurpurWorldConfig { +@@ -1170,6 +1230,7 @@ public class PurpurWorldConfig { public String magmaCubeAttackDamage = "size"; public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); @@ -1676,7 +1676,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1178,6 +1239,7 @@ public class PurpurWorldConfig { +@@ -1183,6 +1244,7 @@ public class PurpurWorldConfig { magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage); magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); @@ -1684,7 +1684,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean mooshroomRidable = false; -@@ -1185,6 +1247,7 @@ public class PurpurWorldConfig { +@@ -1190,6 +1252,7 @@ public class PurpurWorldConfig { public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; @@ -1692,7 +1692,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1196,6 +1259,7 @@ public class PurpurWorldConfig { +@@ -1201,6 +1264,7 @@ public class PurpurWorldConfig { } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); @@ -1700,7 +1700,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean muleRidableInWater = false; -@@ -1206,6 +1270,7 @@ public class PurpurWorldConfig { +@@ -1211,6 +1275,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; @@ -1708,7 +1708,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1222,6 +1287,7 @@ public class PurpurWorldConfig { +@@ -1227,6 +1292,7 @@ public class PurpurWorldConfig { muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); @@ -1716,7 +1716,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean ocelotRidable = false; -@@ -1229,6 +1295,7 @@ public class PurpurWorldConfig { +@@ -1234,6 +1300,7 @@ public class PurpurWorldConfig { public boolean ocelotControllable = true; public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; @@ -1724,7 +1724,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1240,6 +1307,7 @@ public class PurpurWorldConfig { +@@ -1245,6 +1312,7 @@ public class PurpurWorldConfig { } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); @@ -1732,7 +1732,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean pandaRidable = false; -@@ -1247,6 +1315,7 @@ public class PurpurWorldConfig { +@@ -1252,6 +1320,7 @@ public class PurpurWorldConfig { public boolean pandaControllable = true; public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; @@ -1740,7 +1740,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1258,6 +1327,7 @@ public class PurpurWorldConfig { +@@ -1263,6 +1332,7 @@ public class PurpurWorldConfig { } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); @@ -1748,7 +1748,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean parrotRidable = false; -@@ -1265,6 +1335,7 @@ public class PurpurWorldConfig { +@@ -1270,6 +1340,7 @@ public class PurpurWorldConfig { public boolean parrotControllable = true; public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; @@ -1756,7 +1756,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1276,6 +1347,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1352,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); @@ -1764,7 +1764,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean phantomRidable = false; -@@ -1308,6 +1380,7 @@ public class PurpurWorldConfig { +@@ -1313,6 +1385,7 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; @@ -1772,7 +1772,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1348,6 +1421,7 @@ public class PurpurWorldConfig { +@@ -1353,6 +1426,7 @@ public class PurpurWorldConfig { phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); @@ -1780,7 +1780,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean pigRidable = false; -@@ -1356,6 +1430,7 @@ public class PurpurWorldConfig { +@@ -1361,6 +1435,7 @@ public class PurpurWorldConfig { public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; @@ -1788,7 +1788,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1368,6 +1443,7 @@ public class PurpurWorldConfig { +@@ -1373,6 +1448,7 @@ public class PurpurWorldConfig { pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); @@ -1796,7 +1796,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean piglinRidable = false; -@@ -1375,6 +1451,7 @@ public class PurpurWorldConfig { +@@ -1380,6 +1456,7 @@ public class PurpurWorldConfig { public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -1804,7 +1804,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1386,12 +1463,14 @@ public class PurpurWorldConfig { +@@ -1391,12 +1468,14 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); @@ -1819,7 +1819,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1402,6 +1481,7 @@ public class PurpurWorldConfig { +@@ -1407,6 +1486,7 @@ public class PurpurWorldConfig { set("mobs.piglin_brute.attributes.max_health", oldValue); } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); @@ -1827,7 +1827,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean pillagerRidable = false; -@@ -1409,6 +1489,7 @@ public class PurpurWorldConfig { +@@ -1414,6 +1494,7 @@ public class PurpurWorldConfig { public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; @@ -1835,7 +1835,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1420,6 +1501,7 @@ public class PurpurWorldConfig { +@@ -1425,6 +1506,7 @@ public class PurpurWorldConfig { } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); @@ -1843,7 +1843,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean polarBearRidable = false; -@@ -1429,6 +1511,7 @@ public class PurpurWorldConfig { +@@ -1434,6 +1516,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -1851,7 +1851,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1443,11 +1526,13 @@ public class PurpurWorldConfig { +@@ -1448,11 +1531,13 @@ public class PurpurWorldConfig { Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -1865,7 +1865,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -1457,6 +1542,7 @@ public class PurpurWorldConfig { +@@ -1462,6 +1547,7 @@ public class PurpurWorldConfig { set("mobs.pufferfish.attributes.max_health", oldValue); } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); @@ -1873,7 +1873,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean rabbitRidable = false; -@@ -1467,6 +1553,7 @@ public class PurpurWorldConfig { +@@ -1472,6 +1558,7 @@ public class PurpurWorldConfig { public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; @@ -1881,7 +1881,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1481,6 +1568,7 @@ public class PurpurWorldConfig { +@@ -1486,6 +1573,7 @@ public class PurpurWorldConfig { rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); @@ -1889,7 +1889,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean ravagerRidable = false; -@@ -1488,6 +1576,7 @@ public class PurpurWorldConfig { +@@ -1493,6 +1581,7 @@ public class PurpurWorldConfig { public boolean ravagerControllable = true; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -1897,7 +1897,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1499,11 +1588,13 @@ public class PurpurWorldConfig { +@@ -1504,11 +1593,13 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); @@ -1911,7 +1911,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -1513,6 +1604,7 @@ public class PurpurWorldConfig { +@@ -1518,6 +1609,7 @@ public class PurpurWorldConfig { set("mobs.salmon.attributes.max_health", oldValue); } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); @@ -1919,7 +1919,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean sheepRidable = false; -@@ -1521,6 +1613,7 @@ public class PurpurWorldConfig { +@@ -1526,6 +1618,7 @@ public class PurpurWorldConfig { public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; @@ -1927,7 +1927,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1533,12 +1626,14 @@ public class PurpurWorldConfig { +@@ -1538,12 +1631,14 @@ public class PurpurWorldConfig { sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); @@ -1942,7 +1942,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1549,6 +1644,7 @@ public class PurpurWorldConfig { +@@ -1554,6 +1649,7 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); @@ -1950,7 +1950,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean silverfishRidable = false; -@@ -1556,6 +1652,7 @@ public class PurpurWorldConfig { +@@ -1561,6 +1657,7 @@ public class PurpurWorldConfig { public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; @@ -1958,7 +1958,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1567,12 +1664,14 @@ public class PurpurWorldConfig { +@@ -1572,12 +1669,14 @@ public class PurpurWorldConfig { } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); @@ -1973,7 +1973,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -1583,6 +1682,7 @@ public class PurpurWorldConfig { +@@ -1588,6 +1687,7 @@ public class PurpurWorldConfig { set("mobs.skeleton.attributes.max_health", oldValue); } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); @@ -1981,7 +1981,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean skeletonHorseRidableInWater = true; -@@ -1593,6 +1693,7 @@ public class PurpurWorldConfig { +@@ -1598,6 +1698,7 @@ public class PurpurWorldConfig { public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; @@ -1989,7 +1989,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -1608,6 +1709,7 @@ public class PurpurWorldConfig { +@@ -1613,6 +1714,7 @@ public class PurpurWorldConfig { skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax); skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); @@ -1997,7 +1997,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean slimeRidable = false; -@@ -1617,6 +1719,7 @@ public class PurpurWorldConfig { +@@ -1622,6 +1724,7 @@ public class PurpurWorldConfig { public String slimeAttackDamage = "size"; public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); @@ -2005,7 +2005,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -1630,6 +1733,7 @@ public class PurpurWorldConfig { +@@ -1635,6 +1738,7 @@ public class PurpurWorldConfig { slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage); slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); @@ -2013,7 +2013,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean snowGolemRidable = false; -@@ -1644,6 +1748,7 @@ public class PurpurWorldConfig { +@@ -1649,6 +1753,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -2021,7 +2021,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1662,6 +1767,7 @@ public class PurpurWorldConfig { +@@ -1667,6 +1772,7 @@ public class PurpurWorldConfig { snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); @@ -2029,7 +2029,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean squidRidable = false; -@@ -1670,6 +1776,7 @@ public class PurpurWorldConfig { +@@ -1675,6 +1781,7 @@ public class PurpurWorldConfig { public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; @@ -2037,7 +2037,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1682,12 +1789,14 @@ public class PurpurWorldConfig { +@@ -1687,12 +1794,14 @@ public class PurpurWorldConfig { squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); @@ -2052,7 +2052,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -1698,12 +1807,14 @@ public class PurpurWorldConfig { +@@ -1703,12 +1812,14 @@ public class PurpurWorldConfig { set("mobs.spider.attributes.max_health", oldValue); } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); @@ -2067,7 +2067,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -1714,6 +1825,7 @@ public class PurpurWorldConfig { +@@ -1719,6 +1830,7 @@ public class PurpurWorldConfig { set("mobs.stray.attributes.max_health", oldValue); } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); @@ -2075,7 +2075,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean striderRidable = false; -@@ -1722,6 +1834,7 @@ public class PurpurWorldConfig { +@@ -1727,6 +1839,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -2083,7 +2083,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1734,6 +1847,7 @@ public class PurpurWorldConfig { +@@ -1739,6 +1852,7 @@ public class PurpurWorldConfig { striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); @@ -2091,7 +2091,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean traderLlamaRidable = false; -@@ -1746,6 +1860,7 @@ public class PurpurWorldConfig { +@@ -1751,6 +1865,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; @@ -2099,7 +2099,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1764,11 +1879,13 @@ public class PurpurWorldConfig { +@@ -1769,11 +1884,13 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); @@ -2113,7 +2113,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -1778,6 +1895,7 @@ public class PurpurWorldConfig { +@@ -1783,6 +1900,7 @@ public class PurpurWorldConfig { set("mobs.tropical_fish.attributes.max_health", oldValue); } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); @@ -2121,7 +2121,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean turtleRidable = false; -@@ -1785,6 +1903,7 @@ public class PurpurWorldConfig { +@@ -1790,6 +1908,7 @@ public class PurpurWorldConfig { public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; @@ -2129,7 +2129,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1796,6 +1915,7 @@ public class PurpurWorldConfig { +@@ -1801,6 +1920,7 @@ public class PurpurWorldConfig { } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); @@ -2137,7 +2137,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean vexRidable = false; -@@ -1803,6 +1923,7 @@ public class PurpurWorldConfig { +@@ -1808,6 +1928,7 @@ public class PurpurWorldConfig { public boolean vexControllable = true; public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; @@ -2145,7 +2145,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -1814,6 +1935,7 @@ public class PurpurWorldConfig { +@@ -1819,6 +1940,7 @@ public class PurpurWorldConfig { set("mobs.vex.attributes.max_health", oldValue); } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); @@ -2153,7 +2153,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean villagerRidable = false; -@@ -1829,6 +1951,7 @@ public class PurpurWorldConfig { +@@ -1834,6 +1956,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -2161,7 +2161,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1848,6 +1971,7 @@ public class PurpurWorldConfig { +@@ -1853,6 +1976,7 @@ public class PurpurWorldConfig { villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); @@ -2169,7 +2169,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean vindicatorRidable = false; -@@ -1855,6 +1979,7 @@ public class PurpurWorldConfig { +@@ -1860,6 +1984,7 @@ public class PurpurWorldConfig { public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; @@ -2177,7 +2177,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1866,6 +1991,7 @@ public class PurpurWorldConfig { +@@ -1871,6 +1996,7 @@ public class PurpurWorldConfig { } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); @@ -2185,7 +2185,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean wanderingTraderRidable = false; -@@ -1874,6 +2000,7 @@ public class PurpurWorldConfig { +@@ -1879,6 +2005,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -2193,7 +2193,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1886,12 +2013,14 @@ public class PurpurWorldConfig { +@@ -1891,12 +2018,14 @@ public class PurpurWorldConfig { wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); @@ -2208,7 +2208,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -1902,6 +2031,7 @@ public class PurpurWorldConfig { +@@ -1907,6 +2036,7 @@ public class PurpurWorldConfig { set("mobs.witch.attributes.max_health", oldValue); } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); @@ -2216,7 +2216,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean witherRidable = false; -@@ -1912,6 +2042,7 @@ public class PurpurWorldConfig { +@@ -1917,6 +2047,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -2224,7 +2224,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1930,12 +2061,14 @@ public class PurpurWorldConfig { +@@ -1935,12 +2066,14 @@ public class PurpurWorldConfig { witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); @@ -2239,7 +2239,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -1946,6 +2079,7 @@ public class PurpurWorldConfig { +@@ -1951,6 +2084,7 @@ public class PurpurWorldConfig { set("mobs.wither_skeleton.attributes.max_health", oldValue); } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); @@ -2247,7 +2247,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean wolfRidable = false; -@@ -1956,6 +2090,7 @@ public class PurpurWorldConfig { +@@ -1961,6 +2095,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2255,7 +2255,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1974,12 +2109,14 @@ public class PurpurWorldConfig { +@@ -1979,12 +2114,14 @@ public class PurpurWorldConfig { wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); @@ -2270,7 +2270,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -1990,6 +2127,7 @@ public class PurpurWorldConfig { +@@ -1995,6 +2132,7 @@ public class PurpurWorldConfig { set("mobs.zoglin.attributes.max_health", oldValue); } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); @@ -2278,7 +2278,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean zombieRidable = false; -@@ -2002,6 +2140,7 @@ public class PurpurWorldConfig { +@@ -2007,6 +2145,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; @@ -2286,7 +2286,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2018,6 +2157,7 @@ public class PurpurWorldConfig { +@@ -2023,6 +2162,7 @@ public class PurpurWorldConfig { zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); @@ -2294,7 +2294,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean zombieHorseRidableInWater = false; -@@ -2029,6 +2169,7 @@ public class PurpurWorldConfig { +@@ -2034,6 +2174,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; @@ -2302,7 +2302,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2045,6 +2186,7 @@ public class PurpurWorldConfig { +@@ -2050,6 +2191,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); @@ -2310,7 +2310,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean zombieVillagerRidable = false; -@@ -2055,6 +2197,7 @@ public class PurpurWorldConfig { +@@ -2060,6 +2202,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -2318,7 +2318,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2069,6 +2212,7 @@ public class PurpurWorldConfig { +@@ -2074,6 +2217,7 @@ public class PurpurWorldConfig { zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); @@ -2326,7 +2326,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab } public boolean zombifiedPiglinRidable = false; -@@ -2080,6 +2224,7 @@ public class PurpurWorldConfig { +@@ -2085,6 +2229,7 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2334,7 +2334,7 @@ index 8ab2d2925ba46f4750070d14e2affc4223a73362..3616e81a44c10d94351520c66ed694ab private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2095,5 +2240,6 @@ public class PurpurWorldConfig { +@@ -2100,5 +2245,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); diff --git a/patches/server/0140-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0140-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index d659fc57e..5c13f51f2 100644 --- a/patches/server/0140-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0140-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,7 +29,7 @@ index 4af8c387f47017e453e74a86a53726386ed2d1b9..fd5d0a75ea5e30df4f606bc4756a32ec } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3afbda85a14a392854344b9f8253087d467d6663..bad1ac223d77cc178d78702a7f7d68c0fe226bee 100644 +index 8966f9c8429fdc36bb3f83ac807cf77a591cf7a1..20dcbe4466151b55cae1af92c7c5131dc52d188f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -893,6 +893,7 @@ public class PurpurWorldConfig { @@ -48,7 +48,7 @@ index 3afbda85a14a392854344b9f8253087d467d6663..bad1ac223d77cc178d78702a7f7d68c0 } public boolean endermanRidable = false; -@@ -2074,6 +2076,7 @@ public class PurpurWorldConfig { +@@ -2079,6 +2081,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; @@ -56,7 +56,7 @@ index 3afbda85a14a392854344b9f8253087d467d6663..bad1ac223d77cc178d78702a7f7d68c0 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2093,6 +2096,7 @@ public class PurpurWorldConfig { +@@ -2098,6 +2101,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); diff --git a/patches/server/0149-Config-to-disable-Llama-caravans.patch b/patches/server/0149-Config-to-disable-Llama-caravans.patch index 67d82cfc0..f94b60537 100644 --- a/patches/server/0149-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0149-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 708f0bccffc05fac0d711df13dd1b5e173ff6109..b7b8d7587018759fc418043694abd38f this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c04cd1b4d34f2a5904b67952c5d4283ce008408b..b43dff5223728fe1f16fef4ccd1720d57be610c3 100644 +index 09a3e905b95bcbd25795208b29e5b03d529cfa15..e455de3e0e8c9777eaf2925fdcc08dbb1aef5863 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1260,6 +1260,7 @@ public class PurpurWorldConfig { +@@ -1265,6 +1265,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index c04cd1b4d34f2a5904b67952c5d4283ce008408b..b43dff5223728fe1f16fef4ccd1720d5 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1279,6 +1280,7 @@ public class PurpurWorldConfig { +@@ -1284,6 +1285,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0151-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0151-Configurable-ravager-griefable-blocks-list.patch index f88415c8b..188e7a6d3 100644 --- a/patches/server/0151-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0151-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index a68bf10353e5c19adfa86c2dd6290f2386af9a9d..38bc19edc2dcfa33b3191cfa3b69f00d } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 24940550e9f0778630d9f1ffa80638d39b94bb10..5eab9497e568c86cbc795b78cb6a07406f329d6b 100644 +index 06091698c5c40e5555a3c306306cb2fc23c1772c..ae1fc28c2a2244068997f4094d356a75abd3b52e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig { +@@ -1649,6 +1649,7 @@ public class PurpurWorldConfig { public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 24940550e9f0778630d9f1ffa80638d39b94bb10..5eab9497e568c86cbc795b78cb6a0740 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1656,6 +1657,23 @@ public class PurpurWorldConfig { +@@ -1661,6 +1662,23 @@ public class PurpurWorldConfig { ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0154-Add-config-for-villager-trading.patch b/patches/server/0154-Add-config-for-villager-trading.patch index 41b2b9d76..b53eec83b 100644 --- a/patches/server/0154-Add-config-for-villager-trading.patch +++ b/patches/server/0154-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index 6dd8856816bebb2766203589048cc68b3f5c8f5c..8d6930868a42b9fc98d7672bff433ec5 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a7c7b9607c53cc2735ce0d9a8003621a30fec0a5..454c2537b03add477174e01b8c4f0b74c512f3d6 100644 +index ea1a37575f69472f504fd688b8568f4a8d6fc6cc..bed116f39309d6aa7f34ba7a5e939d294a5ff5c1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2044,6 +2044,7 @@ public class PurpurWorldConfig { +@@ -2049,6 +2049,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index a7c7b9607c53cc2735ce0d9a8003621a30fec0a5..454c2537b03add477174e01b8c4f0b74 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2064,6 +2065,7 @@ public class PurpurWorldConfig { +@@ -2069,6 +2070,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -50,7 +50,7 @@ index a7c7b9607c53cc2735ce0d9a8003621a30fec0a5..454c2537b03add477174e01b8c4f0b74 } public boolean vindicatorRidable = false; -@@ -2093,6 +2095,7 @@ public class PurpurWorldConfig { +@@ -2098,6 +2100,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index a7c7b9607c53cc2735ce0d9a8003621a30fec0a5..454c2537b03add477174e01b8c4f0b74 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2106,6 +2109,7 @@ public class PurpurWorldConfig { +@@ -2111,6 +2114,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0165-Piglin-portal-spawn-modifier.patch b/patches/server/0165-Piglin-portal-spawn-modifier.patch index 527d62f9f..4982bb4e0 100644 --- a/patches/server/0165-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0165-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index 65fa00b3d4d35a4125f8de444e77ac54e9e28551..dd9badfb2879def258bf725a5d802f7d pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 57b8e78a8b625a8024eb780bf4136723970d94ef..b6edbf3b08ab571928d0d9f049a5131f786401df 100644 +index ef7da953b0f6c40628a4911356a6ffddccef4bc5..4380ec78f5ca862c82e32b3b277e5e31003b5ab9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1588,6 +1588,7 @@ public class PurpurWorldConfig { +@@ -1593,6 +1593,7 @@ public class PurpurWorldConfig { public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 57b8e78a8b625a8024eb780bf4136723970d94ef..b6edbf3b08ab571928d0d9f049a5131f private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1600,6 +1601,7 @@ public class PurpurWorldConfig { +@@ -1605,6 +1606,7 @@ public class PurpurWorldConfig { piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0167-Config-for-wither-explosion-radius.patch b/patches/server/0167-Config-for-wither-explosion-radius.patch index fe9798104..2324aacfc 100644 --- a/patches/server/0167-Config-for-wither-explosion-radius.patch +++ b/patches/server/0167-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index a66e9826b8283366cec5adb54f79efee47d9df22..6cf8b12e94c17a8111eef5cc0157e4df if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b6edbf3b08ab571928d0d9f049a5131f786401df..31e05cf3dbc075062d358150232cc681ae1eddc1 100644 +index 4380ec78f5ca862c82e32b3b277e5e31003b5ab9..96eb9e664308b05194df76efc961619ed52efb48 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2204,6 +2204,7 @@ public class PurpurWorldConfig { +@@ -2209,6 +2209,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index b6edbf3b08ab571928d0d9f049a5131f786401df..31e05cf3dbc075062d358150232cc681 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2224,6 +2225,7 @@ public class PurpurWorldConfig { +@@ -2229,6 +2230,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0175-Iron-golem-calm-anger-options.patch b/patches/server/0175-Iron-golem-calm-anger-options.patch index 183e54cc6..34bd1c769 100644 --- a/patches/server/0175-Iron-golem-calm-anger-options.patch +++ b/patches/server/0175-Iron-golem-calm-anger-options.patch @@ -26,10 +26,10 @@ index e3d725e656bc5ffc5fc92133794a80799fb21c48..fdad66c329ff8945a76a944deca7751a } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1d6f9204cc25eb882db5da5dbd1f67ef257a07ed..cf1cb69dbd020cd0e44c760d10a6aa3c7bd36c1e 100644 +index 388f02553244beee6c4c4ee91dcac9349c403366..123e54b6f3fd1d40c35672bb35db9b9dd983a6cd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1330,6 +1330,8 @@ public class PurpurWorldConfig { +@@ -1335,6 +1335,8 @@ public class PurpurWorldConfig { public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -38,7 +38,7 @@ index 1d6f9204cc25eb882db5da5dbd1f67ef257a07ed..cf1cb69dbd020cd0e44c760d10a6aa3c private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1342,6 +1344,8 @@ public class PurpurWorldConfig { +@@ -1347,6 +1349,8 @@ public class PurpurWorldConfig { } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0176-Breedable-parrots.patch b/patches/server/0176-Breedable-parrots.patch index c14f2ce69..6152db0c1 100644 --- a/patches/server/0176-Breedable-parrots.patch +++ b/patches/server/0176-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 11291851f11127f6781b3c77c0d59534606eb9dd..4f4df0f5459e3f62db4b15c57a536dc2 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cf1cb69dbd020cd0e44c760d10a6aa3c7bd36c1e..7485c50a148c08597ae21b0c0c4951cf5df99ae8 100644 +index 123e54b6f3fd1d40c35672bb35db9b9dd983a6cd..03973a312dcb53e427b238d710939f4e5dfa6cb0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1500,6 +1500,7 @@ public class PurpurWorldConfig { +@@ -1505,6 +1505,7 @@ public class PurpurWorldConfig { public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index cf1cb69dbd020cd0e44c760d10a6aa3c7bd36c1e..7485c50a148c08597ae21b0c0c4951cf private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1512,6 +1513,7 @@ public class PurpurWorldConfig { +@@ -1517,6 +1518,7 @@ public class PurpurWorldConfig { } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0194-Shulker-spawn-from-bullet-options.patch b/patches/server/0194-Shulker-spawn-from-bullet-options.patch index 8a6d94e27..719c1e16b 100644 --- a/patches/server/0194-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0194-Shulker-spawn-from-bullet-options.patch @@ -61,10 +61,10 @@ index 2d3dbc228a6a7b88167a36ba739d9eb2f03472ba..7621978ab3d90d58e8b7c6807e0e0519 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bfbbdd1d368b8c22204b4efcc33a4d252df7feac..57abf9cd3f7c96c23a2c56fb414ceb68557581a4 100644 +index a05880bdf671404b961e5a8ac32867324b454a01..b4d23c22c746a3b136cf76de94610852c37b2b75 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1876,6 +1876,11 @@ public class PurpurWorldConfig { +@@ -1881,6 +1881,11 @@ public class PurpurWorldConfig { public boolean shulkerControllable = true; public double shulkerMaxHealth = 30.0D; public boolean shulkerTakeDamageFromWater = false; @@ -76,7 +76,7 @@ index bfbbdd1d368b8c22204b4efcc33a4d252df7feac..57abf9cd3f7c96c23a2c56fb414ceb68 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1887,6 +1892,11 @@ public class PurpurWorldConfig { +@@ -1892,6 +1897,11 @@ public class PurpurWorldConfig { } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0197-Configurable-hunger-starvation-damage.patch b/patches/server/0197-Configurable-hunger-starvation-damage.patch index 17da8371d..1adcfe402 100644 --- a/patches/server/0197-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0197-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index 65421cfff05c0493f5fef1bdff03172c9e33f33e..63584faeec4e5013be7a377e3203ec16 this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cf3987ea985f5868f3904bed0a8f23ecbc978e02..ccc7a7ab410389f5b7fba118b6ff893116f759a0 100644 +index c0098675938664fde92daa9a279c283ca8c865a2..fa879cf3370a8c58f13ba801fbb4b238407738d5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2506,4 +2506,9 @@ public class PurpurWorldConfig { +@@ -2511,4 +2511,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0207-Silk-touchable-budding-amethyst.patch b/patches/server/0207-Silk-touchable-budding-amethyst.patch index df3ce5a11..fce5891db 100644 --- a/patches/server/0207-Silk-touchable-budding-amethyst.patch +++ b/patches/server/0207-Silk-touchable-budding-amethyst.patch @@ -24,7 +24,7 @@ index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6826a2bc2a359140e562b5e3278b31d878216bd6..3a9cb286cc53011cf50d00098fc2e02e58929be4 100644 +index 2bcb5506cd509eb4afd68bc80eeea2e45cc8c329..a76d99dd6036cb7708a37d54153ff45b9e06f947 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -691,6 +691,11 @@ public class PurpurWorldConfig { @@ -39,7 +39,7 @@ index 6826a2bc2a359140e562b5e3278b31d878216bd6..3a9cb286cc53011cf50d00098fc2e02e public boolean chestOpenWithBlockOnTop = false; private void chestSettings() { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); -@@ -2665,3 +2670,4 @@ public class PurpurWorldConfig { +@@ -2670,3 +2675,4 @@ public class PurpurWorldConfig { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } } diff --git a/patches/server/0212-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0212-Config-to-prevent-horses-from-standing-with-riders.patch index 3e23e813c..90aab53d3 100644 --- a/patches/server/0212-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0212-Config-to-prevent-horses-from-standing-with-riders.patch @@ -20,10 +20,10 @@ index a1ffa88c3796df2973a2fc0aeafda5f78208bf85..7466c437b2e996f16a08aaefc5c2b7cb } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 30fd55d1ed21d7f994f9defa1c48a4983ba25a9b..72c10c03f5c0c43fe7f68b647f5ee06d1fc057ef 100644 +index ce692400f61838af8cf75e3c8b6f016ddc0f588b..d7241a6c5069023b75bfa813daccaf8e47c164e6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1493,6 +1493,7 @@ public class PurpurWorldConfig { +@@ -1498,6 +1498,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -31,7 +31,7 @@ index 30fd55d1ed21d7f994f9defa1c48a4983ba25a9b..72c10c03f5c0c43fe7f68b647f5ee06d private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1510,6 +1511,7 @@ public class PurpurWorldConfig { +@@ -1515,6 +1516,7 @@ public class PurpurWorldConfig { horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); diff --git a/patches/server/0215-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0215-Customizeable-Zombie-Villager-curing-times.patch index e6f867a96..d162f9bdc 100644 --- a/patches/server/0215-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0215-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index c90cf19a4c29aa33c96a67bfab24cbbb56d783da..54b5749a5e40ed9042af1c4904afcdc4 return InteractionResult.SUCCESS; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7afc9e3785b718a5eb756ac3b4478bf6905087df..d2b2c7bd740aff87713c1cdec295b2bc32325a8d 100644 +index 1ce0dd00d4b0bbd7e807cbf9ca3b31a3ef69f184..c9f3c7f10e61ca7c5b62a5a939d3422995a43680 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2651,6 +2651,8 @@ public class PurpurWorldConfig { +@@ -2656,6 +2656,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index 7afc9e3785b718a5eb756ac3b4478bf6905087df..d2b2c7bd740aff87713c1cdec295b2bc private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2666,6 +2668,8 @@ public class PurpurWorldConfig { +@@ -2671,6 +2673,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); diff --git a/patches/server/0217-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0217-Toggle-for-Wither-s-spawn-sound.patch index e5e32d30c..7b5fe8376 100644 --- a/patches/server/0217-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0217-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index bb62e4750e1a59d33803b516d7118f92c612c85e..5d567d97ce0be0728e538055ce6349a8 // this.world.globalLevelEvent(1023, new BlockPosition(this), 0); //int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 54d6fbcd738dc84a1bc4234b8e89b00f500cf9c1..7120d004cb6398c0b68fdf1608ad0f75111e2557 100644 +index 2f25da9749008a876fd489218adcf6548216b3e6..7dfee05a5143ca8ca2222248e3b2b641066a8c97 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2496,6 +2496,7 @@ public class PurpurWorldConfig { +@@ -2501,6 +2501,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 54d6fbcd738dc84a1bc4234b8e89b00f500cf9c1..7120d004cb6398c0b68fdf1608ad0f75 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2517,6 +2518,7 @@ public class PurpurWorldConfig { +@@ -2522,6 +2523,7 @@ public class PurpurWorldConfig { witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0220-Conduit-behavior-configuration.patch b/patches/server/0220-Conduit-behavior-configuration.patch index 552e3de6a..44b69d9b4 100644 --- a/patches/server/0220-Conduit-behavior-configuration.patch +++ b/patches/server/0220-Conduit-behavior-configuration.patch @@ -44,10 +44,10 @@ index 05eab04e4aec4151018f25b59f92ddbbb4c09f87..8db906e021ca57c7f2a1e7002647e5c5 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bac3d00594548f569a70d048cdd6bb10cd77f48b..5164449fa33512e1848cbb591308e8b17ef5351e 100644 +index 6b8b067c2554250049563c008dcf7f9b73ed89a8..660c326237efdb06d1610a9110fe3890f3f3e52c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2715,5 +2715,28 @@ public class PurpurWorldConfig { +@@ -2720,5 +2720,28 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0221-Cauldron-fill-chances.patch b/patches/server/0221-Cauldron-fill-chances.patch index 680f1f97c..724b99804 100644 --- a/patches/server/0221-Cauldron-fill-chances.patch +++ b/patches/server/0221-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index ef15adf66ea994d15a7d2718dd3d22cd07c31f98..dd87e3efdeafb211c1e44f8dc3348830 if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5164449fa33512e1848cbb591308e8b17ef5351e..11a3ac969544df828a78dff97e5ca3411b16f98f 100644 +index 660c326237efdb06d1610a9110fe3890f3f3e52c..65a0de10b7b263856bd475e92c8c05780e5be186 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2738,5 +2738,16 @@ public class PurpurWorldConfig { +@@ -2743,5 +2743,16 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0223-Shulker-change-color-with-dye.patch b/patches/server/0223-Shulker-change-color-with-dye.patch index b395fd6a5..b5c433849 100644 --- a/patches/server/0223-Shulker-change-color-with-dye.patch +++ b/patches/server/0223-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index ada070d8e1a2d328c02455eb9e5ad056046bcd0a..691b59f784e34b061ea156a3236c09f2 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 38ec31046c2d883c133bd053d89c015d6ca0ced6..3b68fe0f5ec84600e4bfd722a0787ab52af973fd 100644 +index d6f587b981889684b9c3fcf1ed481d15c8e5fcf9..b8ae3b6b32741b8e756f74b2397423842494c4b1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2085,6 +2085,7 @@ public class PurpurWorldConfig { +@@ -2090,6 +2090,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -58,7 +58,7 @@ index 38ec31046c2d883c133bd053d89c015d6ca0ced6..3b68fe0f5ec84600e4bfd722a0787ab5 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2101,6 +2102,7 @@ public class PurpurWorldConfig { +@@ -2106,6 +2107,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange); shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); diff --git a/patches/server/0232-Halloween-options-and-optimizations.patch b/patches/server/0232-Halloween-options-and-optimizations.patch index f36c0df71..1e7b7c708 100644 --- a/patches/server/0232-Halloween-options-and-optimizations.patch +++ b/patches/server/0232-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 0748babe61be5e5082132af6c4a3bc82612b70b3..5b7a6fa9692933ceb40c36e2c684a98d this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 061e2a6c362c6a3d65520835b7f0b63d656def81..03e2531b7057eaa2c52c641ff311ca8654a35c19 100644 +index 7dc8ac8cd5b34a89595633ebbcbc9db006a37a56..72bd99b32cc56f78844cfe0903b644d0284037a1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1511,6 +1511,13 @@ public class PurpurWorldConfig { +@@ -1516,6 +1516,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0237-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0237-Add-option-to-disable-zombie-villagers-cure.patch index 474853cfb..c005b3131 100644 --- a/patches/server/0237-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0237-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 54b5749a5e40ed9042af1c4904afcdc4af157d82..07c2ea2d16c9df6107247507fcd09025 itemstack.shrink(1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ed943bcee4bcd988cff15e3121161e9d102e787d..8d620dad9c7995b4e8ed30188acfc9959e3e5d42 100644 +index 6395f1eac8250ccaf1606442173ae02f637fbd78..c1f7a9468bf6208ab6c8118515b4c007f038c2e1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2715,6 +2715,7 @@ public class PurpurWorldConfig { +@@ -2720,6 +2720,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index ed943bcee4bcd988cff15e3121161e9d102e787d..8d620dad9c7995b4e8ed30188acfc995 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2732,6 +2733,7 @@ public class PurpurWorldConfig { +@@ -2737,6 +2738,7 @@ public class PurpurWorldConfig { zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); diff --git a/patches/server/0241-Mobs-always-drop-experience.patch b/patches/server/0241-Mobs-always-drop-experience.patch index 86acca324..e0b0cc7e9 100644 --- a/patches/server/0241-Mobs-always-drop-experience.patch +++ b/patches/server/0241-Mobs-always-drop-experience.patch @@ -1157,7 +1157,7 @@ index 8d6930868a42b9fc98d7672bff433ec50d36999e..53bebecd30fee7613af73901b3aa9961 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cfb75d57f8 100644 +index 6e2352841252c693fd7cfe6935694e116c01e243..df4f916efd84cec23ae66cf2ed6d62e6b5e61398 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1007,12 +1007,14 @@ public class PurpurWorldConfig { @@ -1444,8 +1444,8 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf + foxAlwaysDropExp = getBoolean("mobs.fox.always-drop-exp", foxAlwaysDropExp); } - public boolean ghastRidable = false; -@@ -1469,6 +1505,7 @@ public class PurpurWorldConfig { + public int frogBreedingTicks = 6000; +@@ -1474,6 +1510,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1481,6 +1518,7 @@ public class PurpurWorldConfig { +@@ -1486,6 +1523,7 @@ public class PurpurWorldConfig { } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); ghastTakeDamageFromWater = getBoolean("mobs.ghast.takes-damage-from-water", ghastTakeDamageFromWater); @@ -1461,7 +1461,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean giantRidable = false; -@@ -1494,6 +1532,7 @@ public class PurpurWorldConfig { +@@ -1499,6 +1537,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1515,6 +1554,7 @@ public class PurpurWorldConfig { +@@ -1520,6 +1559,7 @@ public class PurpurWorldConfig { giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); giantTakeDamageFromWater = getBoolean("mobs.giant.takes-damage-from-water", giantTakeDamageFromWater); @@ -1477,7 +1477,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean glowSquidRidable = false; -@@ -1522,12 +1562,14 @@ public class PurpurWorldConfig { +@@ -1527,12 +1567,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean goatRidable = false; -@@ -1536,6 +1578,7 @@ public class PurpurWorldConfig { +@@ -1541,6 +1583,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1543,12 +1586,14 @@ public class PurpurWorldConfig { +@@ -1548,12 +1591,14 @@ public class PurpurWorldConfig { goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth); goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks); goatTakeDamageFromWater = getBoolean("mobs.goat.takes-damage-from-water", goatTakeDamageFromWater); @@ -1515,7 +1515,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1559,6 +1604,7 @@ public class PurpurWorldConfig { +@@ -1564,6 +1609,7 @@ public class PurpurWorldConfig { } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); @@ -1523,7 +1523,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean forceHalloweenSeason = false; -@@ -1574,6 +1620,7 @@ public class PurpurWorldConfig { +@@ -1579,6 +1625,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1586,6 +1633,7 @@ public class PurpurWorldConfig { +@@ -1591,6 +1638,7 @@ public class PurpurWorldConfig { hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); hoglinTakeDamageFromWater = getBoolean("mobs.hoglin.takes-damage-from-water", hoglinTakeDamageFromWater); @@ -1539,7 +1539,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean horseRidableInWater = false; -@@ -1598,6 +1646,7 @@ public class PurpurWorldConfig { +@@ -1603,6 +1651,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; @@ -1547,7 +1547,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1616,6 +1665,7 @@ public class PurpurWorldConfig { +@@ -1621,6 +1670,7 @@ public class PurpurWorldConfig { horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider); @@ -1555,7 +1555,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean huskRidable = false; -@@ -1627,6 +1677,7 @@ public class PurpurWorldConfig { +@@ -1632,6 +1682,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1642,6 +1693,7 @@ public class PurpurWorldConfig { +@@ -1647,6 +1698,7 @@ public class PurpurWorldConfig { huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); @@ -1571,7 +1571,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean illusionerRidable = false; -@@ -1651,6 +1703,7 @@ public class PurpurWorldConfig { +@@ -1656,6 +1708,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1668,6 +1721,7 @@ public class PurpurWorldConfig { +@@ -1673,6 +1726,7 @@ public class PurpurWorldConfig { } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); illusionerTakeDamageFromWater = getBoolean("mobs.illusioner.takes-damage-from-water", illusionerTakeDamageFromWater); @@ -1587,7 +1587,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean ironGolemRidable = false; -@@ -1678,6 +1732,7 @@ public class PurpurWorldConfig { +@@ -1683,6 +1737,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1692,6 +1747,7 @@ public class PurpurWorldConfig { +@@ -1697,6 +1752,7 @@ public class PurpurWorldConfig { ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); ironGolemPoppyCalm = getBoolean("mobs.iron_golem.poppy-calms-anger", ironGolemPoppyCalm); ironGolemHealCalm = getBoolean("mobs.iron_golem.healing-calms-anger", ironGolemHealCalm); @@ -1603,7 +1603,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean llamaRidable = false; -@@ -1706,6 +1762,7 @@ public class PurpurWorldConfig { +@@ -1711,6 +1767,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1726,6 +1783,7 @@ public class PurpurWorldConfig { +@@ -1731,6 +1788,7 @@ public class PurpurWorldConfig { llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); llamaJoinCaravans = getBoolean("mobs.llama.join-caravans", llamaJoinCaravans); @@ -1619,7 +1619,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean magmaCubeRidable = false; -@@ -1736,6 +1794,7 @@ public class PurpurWorldConfig { +@@ -1741,6 +1799,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1750,6 +1809,7 @@ public class PurpurWorldConfig { +@@ -1755,6 +1814,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean mooshroomRidable = false; -@@ -1758,6 +1818,7 @@ public class PurpurWorldConfig { +@@ -1763,6 +1823,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1770,6 +1831,7 @@ public class PurpurWorldConfig { +@@ -1775,6 +1836,7 @@ public class PurpurWorldConfig { mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); mooshroomTakeDamageFromWater = getBoolean("mobs.mooshroom.takes-damage-from-water", mooshroomTakeDamageFromWater); @@ -1651,7 +1651,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean muleRidableInWater = false; -@@ -1781,6 +1843,7 @@ public class PurpurWorldConfig { +@@ -1786,6 +1848,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1798,6 +1861,7 @@ public class PurpurWorldConfig { +@@ -1803,6 +1866,7 @@ public class PurpurWorldConfig { muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); muleTakeDamageFromWater = getBoolean("mobs.mule.takes-damage-from-water", muleTakeDamageFromWater); @@ -1667,7 +1667,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean ocelotRidable = false; -@@ -1806,6 +1870,7 @@ public class PurpurWorldConfig { +@@ -1811,6 +1875,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1818,6 +1883,7 @@ public class PurpurWorldConfig { +@@ -1823,6 +1888,7 @@ public class PurpurWorldConfig { ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); @@ -1683,7 +1683,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean pandaRidable = false; -@@ -1826,6 +1892,7 @@ public class PurpurWorldConfig { +@@ -1831,6 +1897,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1838,6 +1905,7 @@ public class PurpurWorldConfig { +@@ -1843,6 +1910,7 @@ public class PurpurWorldConfig { pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); pandaTakeDamageFromWater = getBoolean("mobs.panda.takes-damage-from-water", pandaTakeDamageFromWater); @@ -1699,7 +1699,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean parrotRidable = false; -@@ -1847,6 +1915,7 @@ public class PurpurWorldConfig { +@@ -1852,6 +1920,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1860,6 +1929,7 @@ public class PurpurWorldConfig { +@@ -1865,6 +1934,7 @@ public class PurpurWorldConfig { parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); parrotBreedable = getBoolean("mobs.parrot.can-breed", parrotBreedable); @@ -1715,7 +1715,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean phantomRidable = false; -@@ -1893,6 +1963,7 @@ public class PurpurWorldConfig { +@@ -1898,6 +1968,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1934,6 +2005,7 @@ public class PurpurWorldConfig { +@@ -1939,6 +2010,7 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); @@ -1731,7 +1731,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean pigRidable = false; -@@ -1943,6 +2015,7 @@ public class PurpurWorldConfig { +@@ -1948,6 +2020,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1956,6 +2029,7 @@ public class PurpurWorldConfig { +@@ -1961,6 +2034,7 @@ public class PurpurWorldConfig { pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); pigTakeDamageFromWater = getBoolean("mobs.pig.takes-damage-from-water", pigTakeDamageFromWater); @@ -1747,7 +1747,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean piglinRidable = false; -@@ -1965,6 +2039,7 @@ public class PurpurWorldConfig { +@@ -1970,6 +2044,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1978,6 +2053,7 @@ public class PurpurWorldConfig { +@@ -1983,6 +2058,7 @@ public class PurpurWorldConfig { piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); @@ -1763,7 +1763,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean piglinBruteRidable = false; -@@ -1985,6 +2061,7 @@ public class PurpurWorldConfig { +@@ -1990,6 +2066,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1996,6 +2073,7 @@ public class PurpurWorldConfig { +@@ -2001,6 +2078,7 @@ public class PurpurWorldConfig { } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater); @@ -1779,7 +1779,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean pillagerRidable = false; -@@ -2004,6 +2082,7 @@ public class PurpurWorldConfig { +@@ -2009,6 +2087,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2016,6 +2095,7 @@ public class PurpurWorldConfig { +@@ -2021,6 +2100,7 @@ public class PurpurWorldConfig { pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); pillagerTakeDamageFromWater = getBoolean("mobs.pillager.takes-damage-from-water", pillagerTakeDamageFromWater); @@ -1795,7 +1795,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean polarBearRidable = false; -@@ -2026,6 +2106,7 @@ public class PurpurWorldConfig { +@@ -2031,6 +2111,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2041,12 +2122,14 @@ public class PurpurWorldConfig { +@@ -2046,12 +2127,14 @@ public class PurpurWorldConfig { if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); polarBearTakeDamageFromWater = getBoolean("mobs.polar_bear.takes-damage-from-water", polarBearTakeDamageFromWater); @@ -1818,7 +1818,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2057,6 +2140,7 @@ public class PurpurWorldConfig { +@@ -2062,6 +2145,7 @@ public class PurpurWorldConfig { } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater); @@ -1826,7 +1826,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean rabbitRidable = false; -@@ -2068,6 +2152,7 @@ public class PurpurWorldConfig { +@@ -2073,6 +2157,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2083,6 +2168,7 @@ public class PurpurWorldConfig { +@@ -2088,6 +2173,7 @@ public class PurpurWorldConfig { rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); rabbitTakeDamageFromWater = getBoolean("mobs.rabbit.takes-damage-from-water", rabbitTakeDamageFromWater); @@ -1842,7 +1842,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean ravagerRidable = false; -@@ -2092,6 +2178,7 @@ public class PurpurWorldConfig { +@@ -2097,6 +2183,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2121,12 +2208,14 @@ public class PurpurWorldConfig { +@@ -2126,12 +2213,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2137,6 +2226,7 @@ public class PurpurWorldConfig { +@@ -2142,6 +2231,7 @@ public class PurpurWorldConfig { } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater); @@ -1873,7 +1873,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean sheepRidable = false; -@@ -2146,6 +2236,7 @@ public class PurpurWorldConfig { +@@ -2151,6 +2241,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2159,6 +2250,7 @@ public class PurpurWorldConfig { +@@ -2164,6 +2255,7 @@ public class PurpurWorldConfig { sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); @@ -1889,7 +1889,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean shulkerRidable = false; -@@ -2172,6 +2264,7 @@ public class PurpurWorldConfig { +@@ -2177,6 +2269,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2189,6 +2282,7 @@ public class PurpurWorldConfig { +@@ -2194,6 +2287,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); shulkerChangeColorWithDye = getBoolean("mobs.shulker.change-color-with-dye", shulkerChangeColorWithDye); @@ -1905,7 +1905,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean silverfishRidable = false; -@@ -2197,6 +2291,7 @@ public class PurpurWorldConfig { +@@ -2202,6 +2296,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2209,6 +2304,7 @@ public class PurpurWorldConfig { +@@ -2214,6 +2309,7 @@ public class PurpurWorldConfig { silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater); @@ -1921,7 +1921,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean skeletonRidable = false; -@@ -2216,6 +2312,7 @@ public class PurpurWorldConfig { +@@ -2221,6 +2317,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2227,6 +2324,7 @@ public class PurpurWorldConfig { +@@ -2232,6 +2329,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean skeletonHorseRidableInWater = true; -@@ -2238,6 +2336,7 @@ public class PurpurWorldConfig { +@@ -2243,6 +2341,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -2254,6 +2353,7 @@ public class PurpurWorldConfig { +@@ -2259,6 +2358,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean slimeRidable = false; -@@ -2264,6 +2364,7 @@ public class PurpurWorldConfig { +@@ -2269,6 +2369,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2278,6 +2379,7 @@ public class PurpurWorldConfig { +@@ -2283,6 +2384,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean snowGolemRidable = false; -@@ -2293,6 +2395,7 @@ public class PurpurWorldConfig { +@@ -2298,6 +2400,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2312,6 +2415,7 @@ public class PurpurWorldConfig { +@@ -2317,6 +2420,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean squidRidable = false; -@@ -2321,6 +2425,7 @@ public class PurpurWorldConfig { +@@ -2326,6 +2430,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2334,6 +2439,7 @@ public class PurpurWorldConfig { +@@ -2339,6 +2444,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean spiderRidable = false; -@@ -2341,6 +2447,7 @@ public class PurpurWorldConfig { +@@ -2346,6 +2452,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2352,6 +2459,7 @@ public class PurpurWorldConfig { +@@ -2357,6 +2464,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean strayRidable = false; -@@ -2359,6 +2467,7 @@ public class PurpurWorldConfig { +@@ -2364,6 +2472,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2370,6 +2479,7 @@ public class PurpurWorldConfig { +@@ -2375,6 +2484,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean striderRidable = false; -@@ -2379,6 +2489,7 @@ public class PurpurWorldConfig { +@@ -2384,6 +2494,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2392,6 +2503,7 @@ public class PurpurWorldConfig { +@@ -2397,6 +2508,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean traderLlamaRidable = false; -@@ -2405,6 +2517,7 @@ public class PurpurWorldConfig { +@@ -2410,6 +2522,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2424,12 +2537,14 @@ public class PurpurWorldConfig { +@@ -2429,12 +2542,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2440,6 +2555,7 @@ public class PurpurWorldConfig { +@@ -2445,6 +2560,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean turtleRidable = false; -@@ -2448,6 +2564,7 @@ public class PurpurWorldConfig { +@@ -2453,6 +2569,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2460,6 +2577,7 @@ public class PurpurWorldConfig { +@@ -2465,6 +2582,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean vexRidable = false; -@@ -2468,6 +2586,7 @@ public class PurpurWorldConfig { +@@ -2473,6 +2591,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2480,6 +2599,7 @@ public class PurpurWorldConfig { +@@ -2485,6 +2604,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean villagerRidable = false; -@@ -2497,6 +2617,7 @@ public class PurpurWorldConfig { +@@ -2502,6 +2622,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2518,6 +2639,7 @@ public class PurpurWorldConfig { +@@ -2523,6 +2644,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean vindicatorRidable = false; -@@ -2526,6 +2648,7 @@ public class PurpurWorldConfig { +@@ -2531,6 +2653,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2538,6 +2661,7 @@ public class PurpurWorldConfig { +@@ -2543,6 +2666,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean wanderingTraderRidable = false; -@@ -2548,6 +2672,7 @@ public class PurpurWorldConfig { +@@ -2553,6 +2677,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2562,6 +2687,7 @@ public class PurpurWorldConfig { +@@ -2567,6 +2692,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean witchRidable = false; -@@ -2569,6 +2695,7 @@ public class PurpurWorldConfig { +@@ -2574,6 +2700,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2580,6 +2707,7 @@ public class PurpurWorldConfig { +@@ -2585,6 +2712,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean witherRidable = false; -@@ -2594,6 +2722,7 @@ public class PurpurWorldConfig { +@@ -2599,6 +2727,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2616,6 +2745,7 @@ public class PurpurWorldConfig { +@@ -2621,6 +2750,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean witherSkeletonRidable = false; -@@ -2623,6 +2753,7 @@ public class PurpurWorldConfig { +@@ -2628,6 +2758,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2634,6 +2765,7 @@ public class PurpurWorldConfig { +@@ -2639,6 +2770,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean wolfRidable = false; -@@ -2645,6 +2777,7 @@ public class PurpurWorldConfig { +@@ -2650,6 +2782,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2664,6 +2797,7 @@ public class PurpurWorldConfig { +@@ -2669,6 +2802,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean zoglinRidable = false; -@@ -2671,6 +2805,7 @@ public class PurpurWorldConfig { +@@ -2676,6 +2810,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2682,6 +2817,7 @@ public class PurpurWorldConfig { +@@ -2687,6 +2822,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean zombieRidable = false; -@@ -2695,6 +2831,7 @@ public class PurpurWorldConfig { +@@ -2700,6 +2836,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2712,6 +2849,7 @@ public class PurpurWorldConfig { +@@ -2717,6 +2854,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean zombieHorseRidableInWater = false; -@@ -2724,6 +2862,7 @@ public class PurpurWorldConfig { +@@ -2729,6 +2867,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2741,6 +2880,7 @@ public class PurpurWorldConfig { +@@ -2746,6 +2885,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean zombieVillagerRidable = false; -@@ -2755,6 +2895,7 @@ public class PurpurWorldConfig { +@@ -2760,6 +2900,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2773,6 +2914,7 @@ public class PurpurWorldConfig { +@@ -2778,6 +2919,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 dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf } public boolean zombifiedPiglinRidable = false; -@@ -2785,6 +2927,7 @@ public class PurpurWorldConfig { +@@ -2790,6 +2932,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index dad9ee9b52a152bd64f116e83ed95e29c62003ad..2c3c65c9eed0a21d33c7e1958a7660cf private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2801,6 +2944,7 @@ public class PurpurWorldConfig { +@@ -2806,6 +2949,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); diff --git a/patches/server/0244-Option-to-prevent-spiders-from-climbing-world-border.patch b/patches/server/0244-Option-to-prevent-spiders-from-climbing-world-border.patch index 043a58baf..b83e56c69 100644 --- a/patches/server/0244-Option-to-prevent-spiders-from-climbing-world-border.patch +++ b/patches/server/0244-Option-to-prevent-spiders-from-climbing-world-border.patch @@ -39,10 +39,10 @@ index bdd4fc3072f7a5ea504ba35f6a08ae971e83b69f..b9ac8cefefe1f47548166330b7c889df } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2c3c65c9eed0a21d33c7e1958a7660cfb75d57f8..19822b3807a08c75d2d8039d0783ec7cc371aca9 100644 +index df4f916efd84cec23ae66cf2ed6d62e6b5e61398..50b2f53d349df590c82086bd1dda24628d3f32c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2448,6 +2448,7 @@ public class PurpurWorldConfig { +@@ -2453,6 +2453,7 @@ public class PurpurWorldConfig { public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; public boolean spiderAlwaysDropExp = false; @@ -50,7 +50,7 @@ index 2c3c65c9eed0a21d33c7e1958a7660cfb75d57f8..19822b3807a08c75d2d8039d0783ec7c private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2460,6 +2461,7 @@ public class PurpurWorldConfig { +@@ -2465,6 +2466,7 @@ public class PurpurWorldConfig { spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); spiderAlwaysDropExp = getBoolean("mobs.spider.always-drop-exp", spiderAlwaysDropExp); diff --git a/patches/server/0246-Shearing-jeb-produces-random-color-wool.patch b/patches/server/0246-Shearing-jeb-produces-random-color-wool.patch index 9aaf34669..e06b52f4a 100644 --- a/patches/server/0246-Shearing-jeb-produces-random-color-wool.patch +++ b/patches/server/0246-Shearing-jeb-produces-random-color-wool.patch @@ -18,10 +18,10 @@ index 63aeab7204ac954b2908207dc6e743d17aa27f2e..aa6f6e252f6f2933825b97bf1b9679fe if (entityitem != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 881ce9d1f084f8de86daa7669ce0badff4e582c2..98eb49d68ffa866247fc7672c087cbd955d76867 100644 +index 1f30405dc250d02b7670b3d0c8b126a4449a2cdc..b63c3664b99227eaccb4721bbae269bf1e25c47a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2241,6 +2241,7 @@ public class PurpurWorldConfig { +@@ -2246,6 +2246,7 @@ public class PurpurWorldConfig { public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; public boolean sheepAlwaysDropExp = false; @@ -29,7 +29,7 @@ index 881ce9d1f084f8de86daa7669ce0badff4e582c2..98eb49d68ffa866247fc7672c087cbd9 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2255,6 +2256,7 @@ public class PurpurWorldConfig { +@@ -2260,6 +2261,7 @@ public class PurpurWorldConfig { sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp); diff --git a/patches/server/0248-Mob-head-visibility-percent.patch b/patches/server/0248-Mob-head-visibility-percent.patch index f8c4ada5f..ab7574159 100644 --- a/patches/server/0248-Mob-head-visibility-percent.patch +++ b/patches/server/0248-Mob-head-visibility-percent.patch @@ -29,7 +29,7 @@ index 6e7af1939df4ff99d6d4645f7ed270110d9d0373..d120c8808c6a8df2c8615fe02f2c8a5b // Purpur start if (entity instanceof LivingEntity entityliving) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5dfab4b06ac52424a4a45a12ec435d6d6330cbcc..16652ffffb714a232ef1ca6ca877adf312888e9b 100644 +index 66cc1e13182874e9265a81c80a8b9ff3daaf8fc4..57a3e2822b587180f0c6210eaffa1b192419c62e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1242,6 +1242,7 @@ public class PurpurWorldConfig { @@ -48,7 +48,7 @@ index 5dfab4b06ac52424a4a45a12ec435d6d6330cbcc..16652ffffb714a232ef1ca6ca877adf3 } public boolean dolphinRidable = false; -@@ -2321,6 +2323,7 @@ public class PurpurWorldConfig { +@@ -2326,6 +2328,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -56,7 +56,7 @@ index 5dfab4b06ac52424a4a45a12ec435d6d6330cbcc..16652ffffb714a232ef1ca6ca877adf3 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2333,6 +2336,7 @@ public class PurpurWorldConfig { +@@ -2338,6 +2341,7 @@ public class PurpurWorldConfig { skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); @@ -64,7 +64,7 @@ index 5dfab4b06ac52424a4a45a12ec435d6d6330cbcc..16652ffffb714a232ef1ca6ca877adf3 } public boolean skeletonHorseRidableInWater = true; -@@ -2842,6 +2846,7 @@ public class PurpurWorldConfig { +@@ -2847,6 +2851,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -72,7 +72,7 @@ index 5dfab4b06ac52424a4a45a12ec435d6d6330cbcc..16652ffffb714a232ef1ca6ca877adf3 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2860,6 +2865,7 @@ public class PurpurWorldConfig { +@@ -2865,6 +2870,7 @@ public class PurpurWorldConfig { zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); diff --git a/patches/server/0257-Configurable-phantom-size.patch b/patches/server/0257-Configurable-phantom-size.patch index 26585729f..6e575f20a 100644 --- a/patches/server/0257-Configurable-phantom-size.patch +++ b/patches/server/0257-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index 33b347474b7485633ca77bdff28e4b32580b51b8..bfca1101025e473c97cd4804e74bed04 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e37d31a008c46eabd07b034df6c1df6e30df459d..653958f965833f1bd8c0375fdac422af9b52a2b9 100644 +index 52708f60b0b13d550777cbe23b9c97cc5cae5fe6..ac842c9b9da59f530ec0c7ff64693763e807c24f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1980,6 +1980,8 @@ public class PurpurWorldConfig { +@@ -1985,6 +1985,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index e37d31a008c46eabd07b034df6c1df6e30df459d..653958f965833f1bd8c0375fdac422af private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2022,6 +2024,13 @@ public class PurpurWorldConfig { +@@ -2027,6 +2029,13 @@ public class PurpurWorldConfig { phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp); diff --git a/patches/server/0260-Configurable-minimum-demand-for-trades.patch b/patches/server/0260-Configurable-minimum-demand-for-trades.patch index 63fbb0eba..6ba2b1ff2 100644 --- a/patches/server/0260-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0260-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 8a9a701baabdaf066cd9b28c05430f673fcafb4e..17cc3237c7fc8ceda136b2371fabf6f0 public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 653958f965833f1bd8c0375fdac422af9b52a2b9..28174727b1c0b117b2f189cf6b088ef0d5c9a73f 100644 +index ac842c9b9da59f530ec0c7ff64693763e807c24f..17300a6bf04036c6df45841fc1ebdf6d776fc9df 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2649,6 +2649,7 @@ public class PurpurWorldConfig { +@@ -2654,6 +2654,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 653958f965833f1bd8c0375fdac422af9b52a2b9..28174727b1c0b117b2f189cf6b088ef0 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2671,6 +2672,7 @@ public class PurpurWorldConfig { +@@ -2676,6 +2677,7 @@ public class PurpurWorldConfig { villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); diff --git a/patches/server/0261-Lobotomize-stuck-villagers.patch b/patches/server/0261-Lobotomize-stuck-villagers.patch index bc9fe5029..f54e1a917 100644 --- a/patches/server/0261-Lobotomize-stuck-villagers.patch +++ b/patches/server/0261-Lobotomize-stuck-villagers.patch @@ -111,10 +111,10 @@ index f0b910df1ee471b4d72d97c6197ab14f2854976e..6ce32a52d621a0c2629568ea07e445f5 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 28174727b1c0b117b2f189cf6b088ef0d5c9a73f..d30840676acecd8f40952359ba10ecf8567d54ab 100644 +index 17300a6bf04036c6df45841fc1ebdf6d776fc9df..a6349da9538bad97f4909a0359adee09200928ff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2650,6 +2650,8 @@ public class PurpurWorldConfig { +@@ -2655,6 +2655,8 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -123,7 +123,7 @@ index 28174727b1c0b117b2f189cf6b088ef0d5c9a73f..d30840676acecd8f40952359ba10ecf8 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2673,6 +2675,17 @@ public class PurpurWorldConfig { +@@ -2678,6 +2680,17 @@ public class PurpurWorldConfig { villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); diff --git a/patches/server/0262-Option-for-villager-display-trade-item.patch b/patches/server/0262-Option-for-villager-display-trade-item.patch index abfb08a47..6eb2eff79 100644 --- a/patches/server/0262-Option-for-villager-display-trade-item.patch +++ b/patches/server/0262-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 385f3df7044e3f03f17c3ec7484b268004a3def9..90ba6a3abf62e4b272fada96b554ca31 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d30840676acecd8f40952359ba10ecf8567d54ab..4847a19105125d5083fe6bd990c85f2d3f874c82 100644 +index a6349da9538bad97f4909a0359adee09200928ff..e33d4a02162cc8a1d6ea0b6c264de2a629c28450 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2652,6 +2652,7 @@ public class PurpurWorldConfig { +@@ -2657,6 +2657,7 @@ public class PurpurWorldConfig { public int villagerMinimumDemand = 0; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; @@ -28,7 +28,7 @@ index d30840676acecd8f40952359ba10ecf8567d54ab..4847a19105125d5083fe6bd990c85f2d private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2686,6 +2687,7 @@ public class PurpurWorldConfig { +@@ -2691,6 +2692,7 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); diff --git a/patches/server/0270-Config-to-prevent-horses-from-standing-when-hurt.patch b/patches/server/0270-Config-to-prevent-horses-from-standing-when-hurt.patch index 747b1ecea..497e11d11 100644 --- a/patches/server/0270-Config-to-prevent-horses-from-standing-when-hurt.patch +++ b/patches/server/0270-Config-to-prevent-horses-from-standing-when-hurt.patch @@ -21,10 +21,10 @@ index 7466c437b2e996f16a08aaefc5c2b7cba216a14c..205ce2bd91a98a0c67d3c5dd640eb88c } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ccf56c1a804dad02faa16a8ba8efad2c3b3a59a2..7ff3ed217a9e4eaa9427c75993aff33515649e6a 100644 +index 7c4dd0e91cf060850e46b52a0e82280e9d0eb8d7..6ab90d6945d44335505cb30678f8a4c65ce6fbdc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1672,6 +1672,7 @@ public class PurpurWorldConfig { +@@ -1677,6 +1677,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; @@ -32,7 +32,7 @@ index ccf56c1a804dad02faa16a8ba8efad2c3b3a59a2..7ff3ed217a9e4eaa9427c75993aff335 public boolean horseAlwaysDropExp = false; private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); -@@ -1691,6 +1692,7 @@ public class PurpurWorldConfig { +@@ -1696,6 +1697,7 @@ public class PurpurWorldConfig { horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider); diff --git a/patches/server/0272-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0272-Implement-configurable-search-radius-for-villagers-t.patch index c95b57ec0..c6ce3123b 100644 --- a/patches/server/0272-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0272-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index ace39b0585c67b2764d75ff9e64d132347157a51..20668d53625ec88ba3eb2a655ad3f6bc AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); List list = world.getEntitiesOfClass(Villager.class, axisalignedbb); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7ff3ed217a9e4eaa9427c75993aff33515649e6a..3d83e4124c827acf19db788af2b02afd11150df4 100644 +index 6ab90d6945d44335505cb30678f8a4c65ce6fbdc..e59a0eadd24748969802b2d4fac2306264345668 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2665,6 +2665,8 @@ public class PurpurWorldConfig { +@@ -2670,6 +2670,8 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index 7ff3ed217a9e4eaa9427c75993aff33515649e6a..3d83e4124c827acf19db788af2b02afd private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2700,6 +2702,8 @@ public class PurpurWorldConfig { +@@ -2705,6 +2707,8 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);