Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@55a16d8 Fix Varint21FrameDecoder cached length buf usage
PaperMC/Paper@e6e37ba Add api to resolve components (#7648)
PaperMC/Paper@7168438 [ci skip] Rework workflows to support optional paperclip build (#8583)
PaperMC/Paper@da230d5 More vanilla friendly methods to update trades (#8478)
PaperMC/Paper@8aff07a Add /paper dumplisteners command (#8507)
PaperMC/Paper@b8919a7 pr command action fixes (#8591)
PaperMC/Paper@185fa48 Fix chest relooting mechanics (#8580)
PaperMC/Paper@b4beac0 Fixes potential issues arising from optimizing getPlayerByUUID (#8585)
PaperMC/Paper@f637b1a Fix async entity add due to fungus trees (#7626)
PaperMC/Paper@414ea80 ItemStack damage API (#7801)
PaperMC/Paper@d98c370 Add displayName methods for advancements (#8584)
PaperMC/Paper@44bb599 Add Tick TemporalUnit (#5445)
PaperMC/Paper@9f7eef8 Friction API (#6611)
PaperMC/Paper@4048d3e Allow using degrees for ArmorStand rotations (#7847)
PaperMC/Paper@f59c802 Schoolable Fish API (#7089)
PaperMC/Paper@21b964a Added ability to control player's insomnia and phantoms spawning (#6500)
PaperMC/Paper@f1583fc Add `/paper dumplisteners tofile` and increase detail of command output (#8592)
This commit is contained in:
BillyGalbreath
2022-11-26 18:48:36 -06:00
parent a8b26671d1
commit 47dc2e92f5
90 changed files with 546 additions and 565 deletions

View File

@@ -101,7 +101,7 @@ index 5b79d821e8b55c8876eadcbe811a2c0584e7e02b..de70208403ef6c6c9c82ca4c1fd3b641
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index c7947a476a9986e3849c74f74b4b2135c6cf5984..eb7f9df2246813f74d09102d97579c2ffe63f5fb 100644
index 204b027e4dba081ac492416d4b13c5bf520fb9bc..c09952d2d5bd1240ed36cd5b03ec071d6a2b87ab 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -80,6 +80,11 @@ public class Cow extends Animal {
@@ -389,7 +389,7 @@ index d5a029db2831ea817071830ba30d0f50fd001f8d..539e3d66bb3cf088799625a2b20ab87d
public void setHomePos(BlockPos pos) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index ed33573a96e96d557156fbe2f725e3d65c7d5ec4..22a66e59687ca889965536464b628f45b0e88ec0 100644
index 60ec90b128a7a9f7862f4705b15dad142cc193f7..80f9788d11a5161c3020837befbebb06172e86e5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -212,6 +212,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -1029,7 +1029,7 @@ index 0d8495a73df5b1b6cd2c7e5cf18cb3eb15bbb729..66b824ac3c24c46014d615b355a8a04e
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 38014afb40ac5781f6724a942d593aee1f060ad8..ef92a631f71a8d44741a46ef7f6b599b4c061c47 100644
index f86ff39a7b1890624c9bf731a07706307316366f..31b1715a5b62e4bd36d672ad21a3bdfbec8af7d1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -143,6 +143,11 @@ public class Zombie extends Monster {
@@ -1045,7 +1045,7 @@ index 38014afb40ac5781f6724a942d593aee1f060ad8..ef92a631f71a8d44741a46ef7f6b599b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 780f7d8a44acea8987736544c1991fec4e6ecc84..fa9c48aa10d74d4de8f28fd7b99b82d9ce87bde5 100644
index dd05c4770abe65069148fcccfd1b33e781c237ce..1d0bad8da3d48dce629bfab3cb536358d818a97e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -123,6 +123,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -1125,7 +1125,7 @@ index a44f9a59fbec146df95d89c26df12efb79f6179a..760015f7a98e70b735707c77472c084d
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index f04778287545e9619ee0359f1e51151d87fca092..b0674eeea341a725ed774c5de040fe173a6fb833 100644
index 2df655ddf394149e32e00f3f2a352bff41091a1e..1d3e10d7cd27257e8fd83c3e882b05b9d4374c56 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -193,6 +193,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1141,7 +1141,7 @@ index f04778287545e9619ee0359f1e51151d87fca092..b0674eeea341a725ed774c5de040fe17
@Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 7231230823573c7d00dd82bee480cc787270c383..18e3589a46daa3fc0abf7e6f8bfdc18670edd315 100644
index 8214506faf26bc973594f1bd8a19e0458be9b544..558884b68263f4fd89e5b7e6226faa2b268168da 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -96,6 +96,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -1157,7 +1157,7 @@ index 7231230823573c7d00dd82bee480cc787270c383..18e3589a46daa3fc0abf7e6f8bfdc186
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee114495e056535 100644
index 2943a6d00d5cc5cbfac00fe7031a473db600606f..22ba2f2c8a83e4372867c251256a4d885dcdb8fd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1004,12 +1004,14 @@ public class PurpurWorldConfig {
@@ -1715,7 +1715,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean phantomRidable = false;
@@ -1903,6 +1973,7 @@ public class PurpurWorldConfig {
@@ -1897,6 +1967,7 @@ public class PurpurWorldConfig {
public boolean phantomBurnInDaylight = true;
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
@@ -1723,7 +1723,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1944,6 +2015,7 @@ public class PurpurWorldConfig {
@@ -1932,6 +2003,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean pigRidable = false;
@@ -1953,6 +2025,7 @@ public class PurpurWorldConfig {
@@ -1941,6 +2013,7 @@ public class PurpurWorldConfig {
public boolean pigGiveSaddleBack = false;
public int pigBreedingTicks = 6000;
public boolean pigTakeDamageFromWater = false;
@@ -1739,7 +1739,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1966,6 +2039,7 @@ public class PurpurWorldConfig {
@@ -1954,6 +2027,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean piglinRidable = false;
@@ -1975,6 +2049,7 @@ public class PurpurWorldConfig {
@@ -1963,6 +2037,7 @@ public class PurpurWorldConfig {
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
@@ -1755,7 +1755,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1988,6 +2063,7 @@ public class PurpurWorldConfig {
@@ -1976,6 +2051,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean piglinBruteRidable = false;
@@ -1995,6 +2071,7 @@ public class PurpurWorldConfig {
@@ -1983,6 +2059,7 @@ public class PurpurWorldConfig {
public boolean piglinBruteControllable = true;
public double piglinBruteMaxHealth = 50.0D;
public boolean piglinBruteTakeDamageFromWater = false;
@@ -1771,7 +1771,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void piglinBruteSettings() {
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
@@ -2006,6 +2083,7 @@ public class PurpurWorldConfig {
@@ -1994,6 +2071,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean pillagerRidable = false;
@@ -2014,6 +2092,7 @@ public class PurpurWorldConfig {
@@ -2002,6 +2080,7 @@ public class PurpurWorldConfig {
public double pillagerMaxHealth = 24.0D;
public boolean pillagerBypassMobGriefing = false;
public boolean pillagerTakeDamageFromWater = false;
@@ -1787,7 +1787,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -2026,6 +2105,7 @@ public class PurpurWorldConfig {
@@ -2014,6 +2093,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean polarBearRidable = false;
@@ -2036,6 +2116,7 @@ public class PurpurWorldConfig {
@@ -2024,6 +2104,7 @@ public class PurpurWorldConfig {
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
public boolean polarBearTakeDamageFromWater = false;
@@ -1803,7 +1803,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -2051,12 +2132,14 @@ public class PurpurWorldConfig {
@@ -2039,12 +2120,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void pufferfishSettings() {
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable);
@@ -2067,6 +2150,7 @@ public class PurpurWorldConfig {
@@ -2055,6 +2138,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean rabbitRidable = false;
@@ -2078,6 +2162,7 @@ public class PurpurWorldConfig {
@@ -2066,6 +2150,7 @@ public class PurpurWorldConfig {
public int rabbitBreedingTicks = 6000;
public boolean rabbitBypassMobGriefing = false;
public boolean rabbitTakeDamageFromWater = false;
@@ -1834,7 +1834,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -2093,6 +2178,7 @@ public class PurpurWorldConfig {
@@ -2081,6 +2166,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean ravagerRidable = false;
@@ -2102,6 +2188,7 @@ public class PurpurWorldConfig {
@@ -2090,6 +2176,7 @@ public class PurpurWorldConfig {
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
public List<Block> ravagerGriefableBlocks = new ArrayList<>();
@@ -1850,7 +1850,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -2131,12 +2218,14 @@ public class PurpurWorldConfig {
@@ -2119,12 +2206,14 @@ public class PurpurWorldConfig {
ravagerGriefableBlocks.add(block);
}
});
@@ -1865,7 +1865,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void salmonSettings() {
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable);
@@ -2147,6 +2236,7 @@ public class PurpurWorldConfig {
@@ -2135,6 +2224,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean sheepRidable = false;
@@ -2156,6 +2246,7 @@ public class PurpurWorldConfig {
@@ -2144,6 +2234,7 @@ public class PurpurWorldConfig {
public int sheepBreedingTicks = 6000;
public boolean sheepBypassMobGriefing = false;
public boolean sheepTakeDamageFromWater = false;
@@ -1881,7 +1881,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -2169,6 +2260,7 @@ public class PurpurWorldConfig {
@@ -2157,6 +2248,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean shulkerRidable = false;
@@ -2182,6 +2274,7 @@ public class PurpurWorldConfig {
@@ -2170,6 +2262,7 @@ public class PurpurWorldConfig {
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
public boolean shulkerChangeColorWithDye = false;
@@ -1897,7 +1897,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2199,6 +2292,7 @@ public class PurpurWorldConfig {
@@ -2187,6 +2280,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean silverfishRidable = false;
@@ -2207,6 +2301,7 @@ public class PurpurWorldConfig {
@@ -2195,6 +2289,7 @@ public class PurpurWorldConfig {
public double silverfishMaxHealth = 8.0D;
public boolean silverfishBypassMobGriefing = false;
public boolean silverfishTakeDamageFromWater = false;
@@ -1913,7 +1913,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -2219,6 +2314,7 @@ public class PurpurWorldConfig {
@@ -2207,6 +2302,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean skeletonRidable = false;
@@ -2226,6 +2322,7 @@ public class PurpurWorldConfig {
@@ -2214,6 +2310,7 @@ public class PurpurWorldConfig {
public boolean skeletonControllable = true;
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
@@ -1929,7 +1929,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2237,6 +2334,7 @@ public class PurpurWorldConfig {
@@ -2225,6 +2322,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean skeletonHorseRidableInWater = true;
@@ -2248,6 +2346,7 @@ public class PurpurWorldConfig {
@@ -2236,6 +2334,7 @@ public class PurpurWorldConfig {
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
public boolean skeletonHorseTakeDamageFromWater = false;
@@ -1945,7 +1945,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -2264,6 +2363,7 @@ public class PurpurWorldConfig {
@@ -2252,6 +2351,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean slimeRidable = false;
@@ -2274,6 +2374,7 @@ public class PurpurWorldConfig {
@@ -2262,6 +2362,7 @@ public class PurpurWorldConfig {
public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
public Map<Integer, Double> slimeAttackDamageCache = new HashMap<>();
public boolean slimeTakeDamageFromWater = false;
@@ -1961,7 +1961,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -2288,6 +2389,7 @@ public class PurpurWorldConfig {
@@ -2276,6 +2377,7 @@ public class PurpurWorldConfig {
slimeMaxHealthCache.clear();
slimeAttackDamageCache.clear();
slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater);
@@ -1969,7 +1969,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean snowGolemRidable = false;
@@ -2303,6 +2405,7 @@ public class PurpurWorldConfig {
@@ -2291,6 +2393,7 @@ public class PurpurWorldConfig {
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
public boolean snowGolemTakeDamageFromWater = true;
@@ -1977,7 +1977,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -2322,6 +2425,7 @@ public class PurpurWorldConfig {
@@ -2310,6 +2413,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean squidRidable = false;
@@ -2331,6 +2435,7 @@ public class PurpurWorldConfig {
@@ -2319,6 +2423,7 @@ public class PurpurWorldConfig {
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
public boolean squidTakeDamageFromWater = false;
@@ -1993,7 +1993,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -2344,6 +2449,7 @@ public class PurpurWorldConfig {
@@ -2332,6 +2437,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean spiderRidable = false;
@@ -2351,6 +2457,7 @@ public class PurpurWorldConfig {
@@ -2339,6 +2445,7 @@ public class PurpurWorldConfig {
public boolean spiderControllable = true;
public double spiderMaxHealth = 16.0D;
public boolean spiderTakeDamageFromWater = false;
@@ -2009,7 +2009,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -2362,6 +2469,7 @@ public class PurpurWorldConfig {
@@ -2350,6 +2457,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean strayRidable = false;
@@ -2369,6 +2477,7 @@ public class PurpurWorldConfig {
@@ -2357,6 +2465,7 @@ public class PurpurWorldConfig {
public boolean strayControllable = true;
public double strayMaxHealth = 20.0D;
public boolean strayTakeDamageFromWater = false;
@@ -2025,7 +2025,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -2380,6 +2489,7 @@ public class PurpurWorldConfig {
@@ -2368,6 +2477,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean striderRidable = false;
@@ -2389,6 +2499,7 @@ public class PurpurWorldConfig {
@@ -2377,6 +2487,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
public boolean striderTakeDamageFromWater = true;
@@ -2041,7 +2041,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -2402,6 +2513,7 @@ public class PurpurWorldConfig {
@@ -2390,6 +2501,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean tadpoleRidable = false;
@@ -2424,6 +2536,7 @@ public class PurpurWorldConfig {
@@ -2412,6 +2524,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
public boolean traderLlamaTakeDamageFromWater = false;
@@ -2057,7 +2057,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -2443,12 +2556,14 @@ public class PurpurWorldConfig {
@@ -2431,12 +2544,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -2459,6 +2574,7 @@ public class PurpurWorldConfig {
@@ -2447,6 +2562,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean turtleRidable = false;
@@ -2467,6 +2583,7 @@ public class PurpurWorldConfig {
@@ -2455,6 +2571,7 @@ public class PurpurWorldConfig {
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
public boolean turtleTakeDamageFromWater = false;
@@ -2088,7 +2088,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -2479,6 +2596,7 @@ public class PurpurWorldConfig {
@@ -2467,6 +2584,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean vexRidable = false;
@@ -2487,6 +2605,7 @@ public class PurpurWorldConfig {
@@ -2475,6 +2593,7 @@ public class PurpurWorldConfig {
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
public boolean vexTakeDamageFromWater = false;
@@ -2104,7 +2104,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -2499,6 +2618,7 @@ public class PurpurWorldConfig {
@@ -2487,6 +2606,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean villagerRidable = false;
@@ -2516,6 +2636,7 @@ public class PurpurWorldConfig {
@@ -2504,6 +2624,7 @@ public class PurpurWorldConfig {
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
@@ -2120,7 +2120,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2537,6 +2658,7 @@ public class PurpurWorldConfig {
@@ -2525,6 +2646,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean vindicatorRidable = false;
@@ -2545,6 +2667,7 @@ public class PurpurWorldConfig {
@@ -2533,6 +2655,7 @@ public class PurpurWorldConfig {
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
public boolean vindicatorTakeDamageFromWater = false;
@@ -2136,7 +2136,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -2557,6 +2680,7 @@ public class PurpurWorldConfig {
@@ -2545,6 +2668,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean wanderingTraderRidable = false;
@@ -2567,6 +2691,7 @@ public class PurpurWorldConfig {
@@ -2555,6 +2679,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
public boolean wanderingTraderAllowTrading = true;
@@ -2152,7 +2152,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2581,6 +2706,7 @@ public class PurpurWorldConfig {
@@ -2569,6 +2694,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean wardenRidable = false;
@@ -2597,6 +2723,7 @@ public class PurpurWorldConfig {
@@ -2585,6 +2711,7 @@ public class PurpurWorldConfig {
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
public boolean witchTakeDamageFromWater = false;
@@ -2168,7 +2168,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -2608,6 +2735,7 @@ public class PurpurWorldConfig {
@@ -2596,6 +2723,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean witherRidable = false;
@@ -2622,6 +2750,7 @@ public class PurpurWorldConfig {
@@ -2610,6 +2738,7 @@ public class PurpurWorldConfig {
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
public boolean witherPlaySpawnSound = true;
@@ -2184,7 +2184,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2644,6 +2773,7 @@ public class PurpurWorldConfig {
@@ -2632,6 +2761,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean witherSkeletonRidable = false;
@@ -2651,6 +2781,7 @@ public class PurpurWorldConfig {
@@ -2639,6 +2769,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonControllable = true;
public double witherSkeletonMaxHealth = 20.0D;
public boolean witherSkeletonTakeDamageFromWater = false;
@@ -2200,7 +2200,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2662,6 +2793,7 @@ public class PurpurWorldConfig {
@@ -2650,6 +2781,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean wolfRidable = false;
@@ -2673,6 +2805,7 @@ public class PurpurWorldConfig {
@@ -2661,6 +2793,7 @@ public class PurpurWorldConfig {
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
public boolean wolfTakeDamageFromWater = false;
@@ -2216,7 +2216,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2692,6 +2825,7 @@ public class PurpurWorldConfig {
@@ -2680,6 +2813,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean zoglinRidable = false;
@@ -2699,6 +2833,7 @@ public class PurpurWorldConfig {
@@ -2687,6 +2821,7 @@ public class PurpurWorldConfig {
public boolean zoglinControllable = true;
public double zoglinMaxHealth = 40.0D;
public boolean zoglinTakeDamageFromWater = false;
@@ -2232,7 +2232,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2710,6 +2845,7 @@ public class PurpurWorldConfig {
@@ -2698,6 +2833,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean zombieRidable = false;
@@ -2723,6 +2859,7 @@ public class PurpurWorldConfig {
@@ -2711,6 +2847,7 @@ public class PurpurWorldConfig {
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
@@ -2248,7 +2248,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2740,6 +2877,7 @@ public class PurpurWorldConfig {
@@ -2728,6 +2865,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean zombieHorseRidableInWater = false;
@@ -2752,6 +2890,7 @@ public class PurpurWorldConfig {
@@ -2740,6 +2878,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
public boolean zombieHorseTakeDamageFromWater = false;
@@ -2264,7 +2264,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2769,6 +2908,7 @@ public class PurpurWorldConfig {
@@ -2757,6 +2896,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean zombieVillagerRidable = false;
@@ -2783,6 +2923,7 @@ public class PurpurWorldConfig {
@@ -2771,6 +2911,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true;
@@ -2280,7 +2280,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2801,6 +2942,7 @@ public class PurpurWorldConfig {
@@ -2789,6 +2930,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 f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
}
public boolean zombifiedPiglinRidable = false;
@@ -2813,6 +2955,7 @@ public class PurpurWorldConfig {
@@ -2801,6 +2943,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
public boolean zombifiedPiglinTakeDamageFromWater = false;
@@ -2296,7 +2296,7 @@ index f0d0538c9ea3c3f3119c67c306886dfacbfdc7de..229b4c97f2b05660a5564e4d3ee11449
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2829,6 +2972,7 @@ public class PurpurWorldConfig {
@@ -2817,6 +2960,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);