From 0d25d391e3e620faa070e91069ce8a935ee87940 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 25 Mar 2021 12:54:05 -0500 Subject: [PATCH] Add cache for slime max health (resolves #234) --- ...-Configurable-entity-base-attributes.patch | 51 +++++++++++-------- .../server/0151-Phantom-flames-on-swoop.patch | 2 +- ...s-to-open-even-with-a-solid-block-on.patch | 2 +- .../0154-Striders-give-saddle-back.patch | 4 +- ...therite-armor-grants-fire-resistance.patch | 2 +- ...iefing-bypass-to-everything-affected.patch | 14 ++--- ...allow-Note-Block-sounds-when-blocked.patch | 2 +- ...0161-Add-EntityTeleportHinderedEvent.patch | 4 +- .../0163-Farmland-trampling-changes.patch | 2 +- ...64-Movement-options-for-armor-stands.patch | 2 +- .../server/0165-Fix-stuck-in-portals.patch | 2 +- ...-to-use-infinity-bows-without-arrows.patch | 2 +- ...oggle-for-water-sensitive-mob-damage.patch | 10 ++-- ...69-Config-to-always-tame-in-Creative.patch | 2 +- .../0170-End-crystal-explosion-options.patch | 4 +- ...0172-Add-ghast-allow-griefing-option.patch | 2 +- ...ither-Ender-Dragon-can-ride-vehicles.patch | 6 +-- .../server/0174-Dont-run-with-scissors.patch | 2 +- patches/server/0175-One-Punch-Man.patch | 2 +- ...0176-Add-config-for-snow-on-blue-ice.patch | 2 +- ...er-Pearl-cooldown-damage-and-Endermi.patch | 2 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 2 +- ...Enderman-to-aggro-spawned-Endermites.patch | 2 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 2 +- patches/server/0182-Tick-fluids-config.patch | 2 +- ...183-Config-to-disable-Llama-caravans.patch | 2 +- ...ig-to-make-Creepers-explode-on-death.patch | 2 +- ...urable-ravager-griefable-blocks-list.patch | 2 +- ...0186-Sneak-to-bulk-process-composter.patch | 2 +- .../0187-Config-for-skipping-night.patch | 2 +- ...0188-Add-config-for-villager-trading.patch | 10 ++-- patches/server/0190-Drowning-Settings.patch | 4 +- ...Break-individual-slabs-when-sneaking.patch | 2 +- ...-to-disable-hostile-mob-spawn-on-ice.patch | 2 +- ...ig-to-show-Armor-Stand-arms-on-spawn.patch | 2 +- ...Option-to-make-doors-require-restone.patch | 2 +- .../0196-Configurable-sponge-absorption.patch | 2 +- .../0197-Projectile-offset-config.patch | 2 +- 38 files changed, 86 insertions(+), 79 deletions(-) diff --git a/patches/server/0150-Configurable-entity-base-attributes.patch b/patches/server/0150-Configurable-entity-base-attributes.patch index 4d27cee80..5cc12530f 100644 --- a/patches/server/0150-Configurable-entity-base-attributes.patch +++ b/patches/server/0150-Configurable-entity-base-attributes.patch @@ -1078,7 +1078,7 @@ index cb52c4e63ac487d55dc16accca6976f44f904112..62f1808a456f46a6c7fbb5e030d9ed65 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java -index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..b80b426acd8aec61c5e970ca039c8c47bc97f9e4 100644 +index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..ce0d52a501dbff7c4eb70270bafa3e2a77599107 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java +++ b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java @@ -51,6 +51,7 @@ import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent; @@ -1097,7 +1097,7 @@ index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..b80b426acd8aec61c5e970ca039c8c47 public float b; public float c; public float d; -@@ -104,6 +106,25 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -104,6 +106,30 @@ public class EntitySlime extends EntityInsentient implements IMonster { } return true; // do not jump() in wasd controller, let vanilla controller handle } @@ -1113,17 +1113,22 @@ index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..b80b426acd8aec61c5e970ca039c8c47 + + public double generateMaxHealth() { + int size = getSize(); -+ try { -+ scriptEngine.eval("size = " + size); -+ return (double) scriptEngine.eval(getMaxHealthEquation()); -+ } catch (Exception e) { -+ return size * size; ++ Double maxHealth = world.purpurConfig.slimeMaxHealthCache.get(size); ++ if (maxHealth == null) { ++ try { ++ scriptEngine.eval("size = " + size); ++ maxHealth = (double) scriptEngine.eval(getMaxHealthEquation()); ++ } catch (Exception e) { ++ maxHealth = (double) size * size; ++ } ++ world.purpurConfig.slimeMaxHealthCache.put(size, maxHealth); + } ++ return maxHealth; + } // Purpur end @Override -@@ -130,7 +151,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -130,7 +156,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { this.datawatcher.set(EntitySlime.bo, i); this.af(); this.updateSize(); @@ -1402,7 +1407,7 @@ index 90cbef7fe8803295f82bddd6709fdf303aedcaba..b84916c0c58fd208ef5547299f8db846 @Nullable diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d4507787f 100644 +index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..c423bc6a535a61dc7deed0b2c5f94eb1633aa1a3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -496,30 +496,58 @@ public class PurpurWorldConfig { @@ -2145,7 +2150,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean rabbitRidable = false; -@@ -936,68 +1292,142 @@ public class PurpurWorldConfig { +@@ -936,68 +1292,144 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -2276,6 +2281,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d public boolean slimeRidable = false; public boolean slimeRidableInWater = false; + public String slimeMaxHealth = "size * size"; ++ public Map slimeMaxHealthCache = new HashMap<>(); private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); @@ -2285,10 +2291,11 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d + set("mobs.slime.attributes.max_health", oldValue); + } + slimeMaxHealth = getString("mobs.slime.attributes.max_health", slimeMaxHealth); ++ slimeMaxHealthCache.clear(); } public boolean snowGolemRidable = false; -@@ -1009,6 +1439,7 @@ public class PurpurWorldConfig { +@@ -1009,6 +1441,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -2296,7 +2303,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1019,63 +1450,118 @@ public class PurpurWorldConfig { +@@ -1019,63 +1452,118 @@ 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); @@ -2415,7 +2422,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean villagerRidable = false; -@@ -1093,6 +1579,7 @@ public class PurpurWorldConfig { +@@ -1093,6 +1581,7 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheck = 60; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -2423,7 +2430,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1114,33 +1601,60 @@ public class PurpurWorldConfig { +@@ -1114,33 +1603,60 @@ public class PurpurWorldConfig { villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -2484,7 +2491,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean witherRidable = false; -@@ -1157,19 +1671,30 @@ public class PurpurWorldConfig { +@@ -1157,19 +1673,30 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); if (PurpurConfig.version < 8) { double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth); @@ -2517,7 +2524,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean wolfRidable = false; -@@ -1178,6 +1703,7 @@ public class PurpurWorldConfig { +@@ -1178,6 +1705,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2525,7 +2532,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1189,13 +1715,26 @@ public class PurpurWorldConfig { +@@ -1189,13 +1717,26 @@ 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); @@ -2552,7 +2559,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean zombieRidable = false; -@@ -1205,6 +1744,8 @@ public class PurpurWorldConfig { +@@ -1205,6 +1746,8 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD; @@ -2561,7 +2568,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1217,15 +1758,40 @@ public class PurpurWorldConfig { +@@ -1217,15 +1760,40 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { zombieBreakDoorMinDifficulty = EnumDifficulty.HARD; } @@ -2602,7 +2609,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean zombifiedPiglinRidable = false; -@@ -1234,6 +1800,8 @@ public class PurpurWorldConfig { +@@ -1234,6 +1802,8 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2611,7 +2618,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1241,6 +1809,13 @@ public class PurpurWorldConfig { +@@ -1241,6 +1811,13 @@ 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); @@ -2625,7 +2632,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d } public boolean zombieVillagerRidable = false; -@@ -1248,11 +1823,20 @@ public class PurpurWorldConfig { +@@ -1248,11 +1825,20 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; diff --git a/patches/server/0151-Phantom-flames-on-swoop.patch b/patches/server/0151-Phantom-flames-on-swoop.patch index b8aaadf14..65f380735 100644 --- a/patches/server/0151-Phantom-flames-on-swoop.patch +++ b/patches/server/0151-Phantom-flames-on-swoop.patch @@ -17,7 +17,7 @@ index 902b26d609aef8dd46e8875cb7c06f187511e8d5..4f3d4f2596c69881f0653bddcc3bf2b9 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 894c0e86dbbd7bcbdbd7af48cd50d38d4507787f..572fcffa3c09cb55abe3799575a1e2cbfbeda186 100644 +index c423bc6a535a61dc7deed0b2c5f94eb1633aa1a3..0740dbce49417bc8788bb61bc9c079ef2d98d68a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1160,6 +1160,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0152-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0152-Option-for-chests-to-open-even-with-a-solid-block-on.patch index c13461d28..720448d36 100644 --- a/patches/server/0152-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0152-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,7 +17,7 @@ index a45ee959f41e7f349ff2c309f21fa44ec671cb87..cddf8e3d34385eb264cd28ba6b4392d6 return iblockaccess.getType(blockposition1).isOccluding(iblockaccess, blockposition1); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 572fcffa3c09cb55abe3799575a1e2cbfbeda186..53fbe648404aa1681c1fe9116247d267ca461b28 100644 +index 0740dbce49417bc8788bb61bc9c079ef2d98d68a..a675a19b123e3d8aa2010aa6aaa93344bc301a50 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -393,6 +393,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0154-Striders-give-saddle-back.patch b/patches/server/0154-Striders-give-saddle-back.patch index a101d8381..74175e848 100644 --- a/patches/server/0154-Striders-give-saddle-back.patch +++ b/patches/server/0154-Striders-give-saddle-back.patch @@ -28,10 +28,10 @@ index 892aa844a98ae0d192737c6fc6df0a219256a47b..5e4cc99a746d98231bbb71672fbc0243 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 53fbe648404aa1681c1fe9116247d267ca461b28..7f9720b4d3239dcbd2bba4d8fb61680600647f25 100644 +index a675a19b123e3d8aa2010aa6aaa93344bc301a50..57779ceb3c1e2ff27130e5eba204370a3eb0fe14 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1514,11 +1514,13 @@ public class PurpurWorldConfig { +@@ -1516,11 +1516,13 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; public int striderBreedingTicks = 6000; diff --git a/patches/server/0156-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0156-Full-netherite-armor-grants-fire-resistance.patch index 6abfb46ba..edde57cd6 100644 --- a/patches/server/0156-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0156-Full-netherite-armor-grants-fire-resistance.patch @@ -26,7 +26,7 @@ index 907bfe42bd866188639f7d25150fcde039c1e5f7..b63019f40b28a2e543528a7919bbc08a protected ItemCooldown i() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7f9720b4d3239dcbd2bba4d8fb61680600647f25..ea9b5be83f65eee0651c0ca5afd514b41944bb85 100644 +index 57779ceb3c1e2ff27130e5eba204370a3eb0fe14..b8c9c8e5ed7f3ffea4dc2cbe29d308afe0069773 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -310,6 +310,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0159-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0159-Add-mobGriefing-bypass-to-everything-affected.patch index 89fb47570..2c29643e0 100644 --- a/patches/server/0159-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0159-Add-mobGriefing-bypass-to-everything-affected.patch @@ -338,7 +338,7 @@ index 04504901b1933ed760b34b8abb994de8ec340a4e..e18be05c9a9230105ec54395d4391c86 return true; // Purpur end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec77acdd23e 100644 +index b8c9c8e5ed7f3ffea4dc2cbe29d308afe0069773..a5086549c5cb034b47989141efabeaf9980ad2ff 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -252,6 +252,7 @@ public class PurpurWorldConfig { @@ -509,7 +509,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7 if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.silverfish.attributes.max-health", silverfishMaxHealth); set("mobs.silverfish.attributes.max-health", null); -@@ -1453,6 +1477,7 @@ public class PurpurWorldConfig { +@@ -1455,6 +1479,7 @@ public class PurpurWorldConfig { public boolean snowGolemRidable = false; public boolean snowGolemRidableInWater = false; public boolean snowGolemLeaveTrailWhenRidden = false; @@ -517,7 +517,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7 public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; public int snowGolemSnowBallMin = 20; -@@ -1464,6 +1489,7 @@ public class PurpurWorldConfig { +@@ -1466,6 +1491,7 @@ public class PurpurWorldConfig { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden); @@ -525,7 +525,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7 snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); snowGolemSnowBallMin = getInt("mobs.snow_golem.min-shoot-interval-ticks", snowGolemSnowBallMin); -@@ -1682,6 +1708,7 @@ public class PurpurWorldConfig { +@@ -1684,6 +1710,7 @@ public class PurpurWorldConfig { public boolean witherRidable = false; public boolean witherRidableInWater = false; public double witherMaxY = 256D; @@ -533,7 +533,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7 public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public double witherMaxHealth = 300.0D; -@@ -1689,6 +1716,7 @@ public class PurpurWorldConfig { +@@ -1691,6 +1718,7 @@ public class PurpurWorldConfig { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherMaxY = getDouble("mobs.wither.ridable-max-y", witherMaxY); @@ -541,7 +541,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7 witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); if (PurpurConfig.version < 8) { -@@ -1761,6 +1789,7 @@ public class PurpurWorldConfig { +@@ -1763,6 +1791,7 @@ public class PurpurWorldConfig { public boolean zombieRidable = false; public boolean zombieRidableInWater = false; @@ -549,7 +549,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7 public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; -@@ -1771,6 +1800,7 @@ public class PurpurWorldConfig { +@@ -1773,6 +1802,7 @@ public class PurpurWorldConfig { private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); diff --git a/patches/server/0160-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0160-Config-to-allow-Note-Block-sounds-when-blocked.patch index 1154898d6..42a376c95 100644 --- a/patches/server/0160-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0160-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,7 +22,7 @@ index 148718f8f96d94e76a4a7a96d5955b624c2dc661..075987567cd4412c8f0fb4e31b786394 org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.get(BlockNote.INSTRUMENT), data.get(BlockNote.NOTE)); if (!event.isCancelled()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7c9c425b6917f3fbcdecdff718421ec77acdd23e..08cc40919630e942578507bbd11b73666c68c3ef 100644 +index a5086549c5cb034b47989141efabeaf9980ad2ff..6bea16303dbcee4f8523547c44e4ee282fdb44ae 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -254,6 +254,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0161-Add-EntityTeleportHinderedEvent.patch b/patches/server/0161-Add-EntityTeleportHinderedEvent.patch index bcc422b54..b607563a7 100644 --- a/patches/server/0161-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0161-Add-EntityTeleportHinderedEvent.patch @@ -94,10 +94,10 @@ index 936933ab4c9e78877e1a2fc250721c2158e3810c..c47c98480572e83b1385fcd62940d4c6 public void a(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) {} diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 08cc40919630e942578507bbd11b73666c68c3ef..559f79dd4280ed513c4a2aa320d2a80342a4cd9f 100644 +index 6bea16303dbcee4f8523547c44e4ee282fdb44ae..05a473104d1108f529243de032a9500093ce2959 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1893,4 +1893,9 @@ public class PurpurWorldConfig { +@@ -1895,4 +1895,9 @@ public class PurpurWorldConfig { zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); } diff --git a/patches/server/0163-Farmland-trampling-changes.patch b/patches/server/0163-Farmland-trampling-changes.patch index 1f811f2bc..496a29daa 100644 --- a/patches/server/0163-Farmland-trampling-changes.patch +++ b/patches/server/0163-Farmland-trampling-changes.patch @@ -54,7 +54,7 @@ index d3fd0b418b9088b621e44f5da452db74b433efe8..e7e5ee52cb7ac7e406c837db686d0a96 if (CraftEventFactory.callEntityChangeBlockEvent(entity, blockposition, Blocks.DIRT.getBlockData()).isCancelled()) { return; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 559f79dd4280ed513c4a2aa320d2a80342a4cd9f..61a8525667951ec777134dc0b38f079ace407c6f 100644 +index 05a473104d1108f529243de032a9500093ce2959..4343e7536fa5320579496f6c116fb93c938b34e5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -425,10 +425,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0164-Movement-options-for-armor-stands.patch b/patches/server/0164-Movement-options-for-armor-stands.patch index beb86df72..0d6783c2c 100644 --- a/patches/server/0164-Movement-options-for-armor-stands.patch +++ b/patches/server/0164-Movement-options-for-armor-stands.patch @@ -74,7 +74,7 @@ index 43dc0925887e2e9e86445cccff57be7994ca0d58..ecb797e67554d30e35b3aca4d0fc9b0e + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 61a8525667951ec777134dc0b38f079ace407c6f..28648fc6cfd5592071d3f0674e6e72bcadb0b7f1 100644 +index 4343e7536fa5320579496f6c116fb93c938b34e5..a3e6844602b8baea643ec1ae65ef7161789cac6c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -111,10 +111,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0165-Fix-stuck-in-portals.patch b/patches/server/0165-Fix-stuck-in-portals.patch index aec3ff082..b463400a8 100644 --- a/patches/server/0165-Fix-stuck-in-portals.patch +++ b/patches/server/0165-Fix-stuck-in-portals.patch @@ -37,7 +37,7 @@ index ee1f0ccce5c5c920b2595ced9e72fd1544e2459a..fcbbf100990faf60250357b744cbd587 this.inPortal = true; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 28648fc6cfd5592071d3f0674e6e72bcadb0b7f1..f75838c6b1f5788b2e18a6f7af5bee8023fd37e7 100644 +index a3e6844602b8baea643ec1ae65ef7161789cac6c..8e4843e47abf4a084653b0e338eb72f1e5c1e1b3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -362,6 +362,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0167-Config-to-use-infinity-bows-without-arrows.patch b/patches/server/0167-Config-to-use-infinity-bows-without-arrows.patch index 5a20f0acb..9909c7e00 100644 --- a/patches/server/0167-Config-to-use-infinity-bows-without-arrows.patch +++ b/patches/server/0167-Config-to-use-infinity-bows-without-arrows.patch @@ -20,7 +20,7 @@ index c7e20b25b4d09463fa54c66e62208e90515013e2..59b803ec4552058f2dda269e9435daf6 } else { entityhuman.c(enumhand); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f75838c6b1f5788b2e18a6f7af5bee8023fd37e7..a103dbcf9c91204b1993cc3d33fc726f2a9083fb 100644 +index 8e4843e47abf4a084653b0e338eb72f1e5c1e1b3..b701402cf9109aa9729bd3ab5585d24532147246 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -209,10 +209,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0168-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0168-Toggle-for-water-sensitive-mob-damage.patch index 8685f8a1c..768a33d34 100644 --- a/patches/server/0168-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0168-Toggle-for-water-sensitive-mob-damage.patch @@ -83,7 +83,7 @@ index 5e4cc99a746d98231bbb71672fbc02431e4fab48..f52ae7446c16d5b8ac51bd2e12bb51d2 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab8452871dfd4788 100644 +index b701402cf9109aa9729bd3ab5585d24532147246..6036f39cd3aaeee459cbb45d9e3bd7450b6f08b0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -583,6 +583,7 @@ public class PurpurWorldConfig { @@ -118,7 +118,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287 } public boolean endermiteRidable = false; -@@ -1506,6 +1510,7 @@ public class PurpurWorldConfig { +@@ -1508,6 +1512,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public double snowGolemMaxHealth = 4.0D; @@ -126,7 +126,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1523,6 +1528,7 @@ public class PurpurWorldConfig { +@@ -1525,6 +1530,7 @@ public class PurpurWorldConfig { set("mobs.snow_golem.attributes.max_health", oldValue); } snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); @@ -134,7 +134,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287 } public boolean squidRidable = false; -@@ -1576,6 +1582,7 @@ public class PurpurWorldConfig { +@@ -1578,6 +1584,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public double striderMaxHealth = 20.0D; @@ -142,7 +142,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1587,6 +1594,7 @@ public class PurpurWorldConfig { +@@ -1589,6 +1596,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); diff --git a/patches/server/0169-Config-to-always-tame-in-Creative.patch b/patches/server/0169-Config-to-always-tame-in-Creative.patch index d714aca4e..758043a48 100644 --- a/patches/server/0169-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0169-Config-to-always-tame-in-Creative.patch @@ -59,7 +59,7 @@ index 090903fbc8f6cd1522c7afb358f708f5ae3395f4..884a3f03c73efb8fb0863976615fba5e this.navigation.o(); this.setGoalTarget((EntityLiving) null); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d28a19721a700f8fe706c90eab8452871dfd4788..c9ef027ed3785de20155e27c6e8cc8e3f7112ce0 100644 +index 6036f39cd3aaeee459cbb45d9e3bd7450b6f08b0..71566df66d763c2e05442a75a940cc50011fee7a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -255,6 +255,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0170-End-crystal-explosion-options.patch b/patches/server/0170-End-crystal-explosion-options.patch index df1f191b4..e587883b9 100644 --- a/patches/server/0170-End-crystal-explosion-options.patch +++ b/patches/server/0170-End-crystal-explosion-options.patch @@ -52,10 +52,10 @@ index 2c983e6a092464d1867fcbe875b2e1461ec8556b..a92c900a6092c07b34711428fac268f4 this.a(damagesource); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c9ef027ed3785de20155e27c6e8cc8e3f7112ce0..593dfa8fdfbceb74bcc78072ac5c6e7df8ded242 100644 +index 71566df66d763c2e05442a75a940cc50011fee7a..535d30e65fcdf59aa42af0564aa8747504b804d5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1927,4 +1927,33 @@ public class PurpurWorldConfig { +@@ -1929,4 +1929,33 @@ public class PurpurWorldConfig { private void imposeTeleportRestrictionsOnGateways() { imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways); } diff --git a/patches/server/0172-Add-ghast-allow-griefing-option.patch b/patches/server/0172-Add-ghast-allow-griefing-option.patch index 08459e4b2..7cf863de9 100644 --- a/patches/server/0172-Add-ghast-allow-griefing-option.patch +++ b/patches/server/0172-Add-ghast-allow-griefing-option.patch @@ -38,7 +38,7 @@ index 61f06eacb4ea4ef869b60c9014cc23b25583eead..627915ee205fdcc93c5424ad7d7ea057 // CraftBukkit start - fire ExplosionPrimeEvent ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 593dfa8fdfbceb74bcc78072ac5c6e7df8ded242..fcf3f156ac8a2ec9078a00c326105888a8412df9 100644 +index 535d30e65fcdf59aa42af0564aa8747504b804d5..3ea3c35865e0a467f86b93377dd069c3cf59ceb4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -880,6 +880,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0173-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0173-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index a0642d0fd..74ba71503 100644 --- a/patches/server/0173-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0173-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -42,7 +42,7 @@ index fa6b72c7a12b20f8ccffa360a3895e4d8f4277e4..4a3e0f7f59ca4fd64be62a580d08b6ab } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fcf3f156ac8a2ec9078a00c326105888a8412df9..292ae9b4196654b2aff9e959a9c39da5f4076b86 100644 +index 3ea3c35865e0a467f86b93377dd069c3cf59ceb4..7afc05f54f4b2fda3b250cb8fd1973247be5933f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -787,6 +787,7 @@ public class PurpurWorldConfig { @@ -61,7 +61,7 @@ index fcf3f156ac8a2ec9078a00c326105888a8412df9..292ae9b4196654b2aff9e959a9c39da5 } public boolean endermanRidable = false; -@@ -1745,6 +1747,7 @@ public class PurpurWorldConfig { +@@ -1747,6 +1749,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public double witherMaxHealth = 300.0D; @@ -69,7 +69,7 @@ index fcf3f156ac8a2ec9078a00c326105888a8412df9..292ae9b4196654b2aff9e959a9c39da5 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1762,6 +1765,7 @@ public class PurpurWorldConfig { +@@ -1764,6 +1767,7 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); diff --git a/patches/server/0174-Dont-run-with-scissors.patch b/patches/server/0174-Dont-run-with-scissors.patch index fb39565bd..c09e109cb 100644 --- a/patches/server/0174-Dont-run-with-scissors.patch +++ b/patches/server/0174-Dont-run-with-scissors.patch @@ -22,7 +22,7 @@ index c7c26cd1b99c911efd12e325e0ca09d9ac98c6f4..bdcc8ced52a858d2dd0bbfaab5a21197 this.o = this.player.locX(); this.p = this.player.locY(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 292ae9b4196654b2aff9e959a9c39da5f4076b86..4beb7c5f2f2782d032348f491c04fda050f97bae 100644 +index 7afc05f54f4b2fda3b250cb8fd1973247be5933f..bd3a7b45746ec2981cd4f6373e7af11ac668bba6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -168,6 +168,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0175-One-Punch-Man.patch b/patches/server/0175-One-Punch-Man.patch index e1ce4d997..444f4e09e 100644 --- a/patches/server/0175-One-Punch-Man.patch +++ b/patches/server/0175-One-Punch-Man.patch @@ -45,7 +45,7 @@ index 132972755ac74838f3386e0fac5033380b71fce5..26fff0540e3d8863e83b0a60df220542 Object object; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4beb7c5f2f2782d032348f491c04fda050f97bae..7adae0150198a35f3e7cec8916b38a998e2bd43e 100644 +index bd3a7b45746ec2981cd4f6373e7af11ac668bba6..2299ad06b89fc22832285be745de40192987dce2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -274,6 +274,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0176-Add-config-for-snow-on-blue-ice.patch b/patches/server/0176-Add-config-for-snow-on-blue-ice.patch index 69fa9b57a..88ee393d1 100644 --- a/patches/server/0176-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0176-Add-config-for-snow-on-blue-ice.patch @@ -29,7 +29,7 @@ index d44b88185ce58346007c6ef70b76f8e0df23e95c..4b7497acc5b26da48375625b4a31fb05 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7adae0150198a35f3e7cec8916b38a998e2bd43e..e4b1019b89febf04e544208ccabc43798ccd44ef 100644 +index 2299ad06b89fc22832285be745de40192987dce2..e1af2d86660f28798e5da8932f5b97b731eefbc7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -431,6 +431,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0177-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0177-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index dc8c8f151..58cc111d4 100644 --- a/patches/server/0177-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0177-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -43,7 +43,7 @@ index 9896d77381e7fadf1ef2619210713e190c1445d0..61512c6755f29cb2c228ae3e80b1e083 // Paper end if (entityhuman instanceof net.minecraft.server.level.EntityPlayer) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e4b1019b89febf04e544208ccabc43798ccd44ef..db4f818982d7f920b1083c25f1272f88a719302f 100644 +index e1af2d86660f28798e5da8932f5b97b731eefbc7..6d0a017eec94b85f3d033c7cb494a82bdd18a2d0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -170,6 +170,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0178-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0178-Config-to-ignore-nearby-mobs-when-sleeping.patch index 334ec5b3a..d1855d41d 100644 --- a/patches/server/0178-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0178-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -18,7 +18,7 @@ index ccee67df065dcdee5e0e24ab12476572ca696687..b4dbc59faff3fd6ceb74d829762eb68e } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index db4f818982d7f920b1083c25f1272f88a719302f..dc6eb1a7bda92d28fafa722b4a1ccb4cf0319fd2 100644 +index 6d0a017eec94b85f3d033c7cb494a82bdd18a2d0..a7cbfb08f3e855bff3acbdd6e8064a00b192ad88 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -283,6 +283,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0179-Config-for-Enderman-to-aggro-spawned-Endermites.patch b/patches/server/0179-Config-for-Enderman-to-aggro-spawned-Endermites.patch index 44765d844..52b2bc61b 100644 --- a/patches/server/0179-Config-for-Enderman-to-aggro-spawned-Endermites.patch +++ b/patches/server/0179-Config-for-Enderman-to-aggro-spawned-Endermites.patch @@ -19,7 +19,7 @@ index d290787f74579dd4c138eb827e44544814bfe315..46143a710e057378ebe0ad644de27560 private int br = Integer.MIN_VALUE; private int bs; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index dc6eb1a7bda92d28fafa722b4a1ccb4cf0319fd2..b770d490868b2bf4691fbb8f3a7843e405d39093 100644 +index a7cbfb08f3e855bff3acbdd6e8064a00b192ad88..0f3b0bfef14c5533a45bd44eaa6899779b5820d0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -835,6 +835,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0180-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0180-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 9c6b80c8b..b8a7973b6 100644 --- a/patches/server/0180-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0180-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -28,7 +28,7 @@ index 46143a710e057378ebe0ad644de275604b11d886..0ed19429c1a9021e636fdfffa582b4e0 } else { Vec3D vec3d = entityhuman.f(1.0F).d(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b770d490868b2bf4691fbb8f3a7843e405d39093..9699b9fa71a70df64b31b9313d3a24164b3abf44 100644 +index 0f3b0bfef14c5533a45bd44eaa6899779b5820d0..6e26a462e8b376d3a8fe12d2f14df226fc5d1a49 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -836,6 +836,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0182-Tick-fluids-config.patch b/patches/server/0182-Tick-fluids-config.patch index 022a9e8fd..d1c0fb452 100644 --- a/patches/server/0182-Tick-fluids-config.patch +++ b/patches/server/0182-Tick-fluids-config.patch @@ -36,7 +36,7 @@ index 0ed8d938b8fafdb03e01a00a201ba3f8597ac6e9..0eff89bf9e114271c34c37cad1b98691 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9699b9fa71a70df64b31b9313d3a24164b3abf44..0d970ee7a6a38d2ecd920176acd7b43831d776bc 100644 +index 6e26a462e8b376d3a8fe12d2f14df226fc5d1a49..8491e9198c302bf62648498d84f62b505695cfef 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -261,6 +261,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0183-Config-to-disable-Llama-caravans.patch b/patches/server/0183-Config-to-disable-Llama-caravans.patch index 25a9f0590..7fb928c9c 100644 --- a/patches/server/0183-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0183-Config-to-disable-Llama-caravans.patch @@ -32,7 +32,7 @@ index 762fed5ba27474951c1962e6f034e8494b1035d6..567a1da3c167c20ae3fb86c2a1f3608e this.bB.bC = this; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0d970ee7a6a38d2ecd920176acd7b43831d776bc..bdfa0908692db012c437e78428bc5fa0e0c62c42 100644 +index 8491e9198c302bf62648498d84f62b505695cfef..61361ca712cdc92c76b64dd2a87cea0080edc02e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1075,6 +1075,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0184-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0184-Config-to-make-Creepers-explode-on-death.patch index 57ef2b2c5..ed80618c4 100644 --- a/patches/server/0184-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0184-Config-to-make-Creepers-explode-on-death.patch @@ -57,7 +57,7 @@ index 6461e09e05f9255a399a6ce65d8fb90789a2fd7f..5e70746494c5397d4d798d24b7292c57 private void createEffectCloud() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bdfa0908692db012c437e78428bc5fa0e0c62c42..cddab26ccdf6725538d93733774d472aaed0bc16 100644 +index 61361ca712cdc92c76b64dd2a87cea0080edc02e..1adedace256828ba34c643eaf2b480601ede1b2b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -711,12 +711,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0185-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0185-Configurable-ravager-griefable-blocks-list.patch index 6e8452839..8c06d7f80 100644 --- a/patches/server/0185-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0185-Configurable-ravager-griefable-blocks-list.patch @@ -31,7 +31,7 @@ index 5f8366beeaac7153a0421554f9bf91fbf265edca..7fca4d1713e8061d9de825cdae484012 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cddab26ccdf6725538d93733774d472aaed0bc16..ff26d61385981c9bac3fd9ceeee76068824d10a7 100644 +index 1adedace256828ba34c643eaf2b480601ede1b2b..58f2440498039bfa0af030f34372d0b1e6e82bed 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1416,6 +1416,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0186-Sneak-to-bulk-process-composter.patch b/patches/server/0186-Sneak-to-bulk-process-composter.patch index 7629f62b2..6c3535461 100644 --- a/patches/server/0186-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0186-Sneak-to-bulk-process-composter.patch @@ -44,7 +44,7 @@ index e4e519ba773388b8d26a8f794a6eff51e3d8f72e..c0b235d5edf3cd14021696d1b4f76ce3 // CraftBukkit start double rand = worldserver.getRandom().nextDouble(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ff26d61385981c9bac3fd9ceeee76068824d10a7..02d95020f24c02af7cda3937d7bc510d3c2e15f1 100644 +index 58f2440498039bfa0af030f34372d0b1e6e82bed..0e1f6e0bda27547a59c2116f9eec3e29be9f36eb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -456,6 +456,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0187-Config-for-skipping-night.patch b/patches/server/0187-Config-for-skipping-night.patch index 30f483434..d876083b2 100644 --- a/patches/server/0187-Config-for-skipping-night.patch +++ b/patches/server/0187-Config-for-skipping-night.patch @@ -18,7 +18,7 @@ index fc77904699bb75cf55e7ea77a55c8ad4a9412c18..5d8326b465458f1f4eeff9f17ef4fe3f })) { // CraftBukkit start diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 02d95020f24c02af7cda3937d7bc510d3c2e15f1..bcebbb0ada90236edc22602884076c47c68a49b1 100644 +index 0e1f6e0bda27547a59c2116f9eec3e29be9f36eb..8bb134ee7be7ff52cda4807f7c9a393f92b8fbc1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -289,6 +289,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0188-Add-config-for-villager-trading.patch b/patches/server/0188-Add-config-for-villager-trading.patch index f8cd3de54..9a9c16e7d 100644 --- a/patches/server/0188-Add-config-for-villager-trading.patch +++ b/patches/server/0188-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index b84916c0c58fd208ef5547299f8db8462d1c42fe..0b6b6aa6b358759c45bbcf4a9ffa5377 this.openTrade(entityhuman, this.getScoreboardDisplayName(), 1); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d8768026a37a9c 100644 +index 8bb134ee7be7ff52cda4807f7c9a393f92b8fbc1..e17bf229f8bca03f5a2c78203d1e95093ff9bac1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1724,6 +1724,7 @@ public class PurpurWorldConfig { +@@ -1726,6 +1726,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public double villagerMaxHealth = 20.0D; @@ -42,7 +42,7 @@ index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d87680 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1751,6 +1752,7 @@ public class PurpurWorldConfig { +@@ -1753,6 +1754,7 @@ public class PurpurWorldConfig { set("mobs.villager.attributes.max_health", oldValue); } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); @@ -50,7 +50,7 @@ index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d87680 } public boolean villagerTraderRidable = false; -@@ -1758,6 +1760,7 @@ public class PurpurWorldConfig { +@@ -1760,6 +1762,7 @@ public class PurpurWorldConfig { public boolean villagerTraderCanBeLeashed = false; public boolean villagerTraderFollowEmeraldBlock = false; public double villagerTraderMaxHealth = 20.0D; @@ -58,7 +58,7 @@ index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d87680 private void villagerTraderSettings() { villagerTraderRidable = getBoolean("mobs.wandering_trader.ridable", villagerTraderRidable); villagerTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", villagerTraderRidableInWater); -@@ -1769,6 +1772,7 @@ public class PurpurWorldConfig { +@@ -1771,6 +1774,7 @@ public class PurpurWorldConfig { set("mobs.wandering_trader.attributes.max_health", oldValue); } villagerTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", villagerTraderMaxHealth); diff --git a/patches/server/0190-Drowning-Settings.patch b/patches/server/0190-Drowning-Settings.patch index 5664be089..09e104fbc 100644 --- a/patches/server/0190-Drowning-Settings.patch +++ b/patches/server/0190-Drowning-Settings.patch @@ -40,10 +40,10 @@ index 659ccc8075945531ca714c43a034f2d5baa5defb..1d319ad82179ae261738d6e70aac3bbb } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ae2137017cd149812e3e51d513d8768026a37a9c..7eb1353adb100a73645ca63e012ee60afc53ae5e 100644 +index e17bf229f8bca03f5a2c78203d1e95093ff9bac1..c09c3a326e6ea80f3037a3d9fd6b78f03d8a7ecd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1999,6 +1999,15 @@ public class PurpurWorldConfig { +@@ -2001,6 +2001,15 @@ public class PurpurWorldConfig { imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways); } diff --git a/patches/server/0191-Break-individual-slabs-when-sneaking.patch b/patches/server/0191-Break-individual-slabs-when-sneaking.patch index fdbe925d8..08f94941f 100644 --- a/patches/server/0191-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0191-Break-individual-slabs-when-sneaking.patch @@ -57,7 +57,7 @@ index 12c0fa5072755fd2a4f575b0cc5e4222617490ce..94965b216d50b29b95f09fa9019c177b + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7eb1353adb100a73645ca63e012ee60afc53ae5e..c5988ff57622eb64922e447d9387068097377c98 100644 +index c09c3a326e6ea80f3037a3d9fd6b78f03d8a7ecd..8054d6242358dc2bf212c7aff55ebf011c22e474 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -529,6 +529,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0192-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0192-Config-to-disable-hostile-mob-spawn-on-ice.patch index 8a94a5354..87dfbbf07 100644 --- a/patches/server/0192-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0192-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -22,7 +22,7 @@ index c484e27650364b6537fe6b2e8e14de98382b86a3..096a7b76e0ae42ba8b859159e20fb72e return false; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c5988ff57622eb64922e447d9387068097377c98..d82bb5bc5d4ba9fafcbbfaa1a4fcede3118e5562 100644 +index 8054d6242358dc2bf212c7aff55ebf011c22e474..aa401d246373fba0d6c66bff5fda5febdc59480a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -449,8 +449,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0193-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0193-Config-to-show-Armor-Stand-arms-on-spawn.patch index 3f4ee7a27..26dab0094 100644 --- a/patches/server/0193-Config-to-show-Armor-Stand-arms-on-spawn.patch +++ b/patches/server/0193-Config-to-show-Armor-Stand-arms-on-spawn.patch @@ -17,7 +17,7 @@ index ecb797e67554d30e35b3aca4d0fc9b0e3f6c1a50..ddc1c3383cdc32fa832485f3922c7418 public EntityArmorStand(World world, double d0, double d1, double d2) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d82bb5bc5d4ba9fafcbbfaa1a4fcede3118e5562..327adbf000c6b6e22126d0a8a0df661fc555a702 100644 +index aa401d246373fba0d6c66bff5fda5febdc59480a..40771bafbcf3b65e3a9d6397d492296eee01c85b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -114,6 +114,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0194-Option-to-make-doors-require-restone.patch b/patches/server/0194-Option-to-make-doors-require-restone.patch index ce626ed43..5a33c543a 100644 --- a/patches/server/0194-Option-to-make-doors-require-restone.patch +++ b/patches/server/0194-Option-to-make-doors-require-restone.patch @@ -70,7 +70,7 @@ index 453b46851f021d4285be123bedc8982fc8844da2..2a7695c899b12c87ab89d00116b6f0dd + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 327adbf000c6b6e22126d0a8a0df661fc555a702..eb91425fa9bdbb2bd2a25e7362b99e2b6687da80 100644 +index 40771bafbcf3b65e3a9d6397d492296eee01c85b..be6637a7de0dc9514af5f0d30e1095c95652e26b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -450,6 +450,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0196-Configurable-sponge-absorption.patch b/patches/server/0196-Configurable-sponge-absorption.patch index b64565efc..d4d059d45 100644 --- a/patches/server/0196-Configurable-sponge-absorption.patch +++ b/patches/server/0196-Configurable-sponge-absorption.patch @@ -43,7 +43,7 @@ index d80eee47390ab202eea0368571421bbc94655ab1..b36536d4cc95797c59549f5db1f67b34 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eb91425fa9bdbb2bd2a25e7362b99e2b6687da80..a4cf0231861e6554df912cea77eaff2200c65c5f 100644 +index be6637a7de0dc9514af5f0d30e1095c95652e26b..1584d1e5d0ae6adda1ace0fb8abeb9bb92771bed 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -555,6 +555,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0197-Projectile-offset-config.patch b/patches/server/0197-Projectile-offset-config.patch index 652857652..3b224d82a 100644 --- a/patches/server/0197-Projectile-offset-config.patch +++ b/patches/server/0197-Projectile-offset-config.patch @@ -96,7 +96,7 @@ index 0711d195c654edef5875f587e391bacfdea096da..2341c98859faa61662d7ed343e6ed157 entitythrowntrident.fromPlayer = EntityArrow.PickupStatus.CREATIVE_ONLY; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a4cf0231861e6554df912cea77eaff2200c65c5f..99b2b34f38e289f277a291220217cae4205d2c4e 100644 +index 1584d1e5d0ae6adda1ace0fb8abeb9bb92771bed..adbb934ce58a0ece9839d35369f830e4028c197c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -273,6 +273,23 @@ public class PurpurWorldConfig {