From 18f97a99e24b9521407f7ba013c374801d009c38 Mon Sep 17 00:00:00 2001 From: jmp Date: Mon, 22 Feb 2021 23:44:15 -0800 Subject: [PATCH] Make fox breeding cooldown work, add villager breeding cooldown config --- ...-entity-breeding-times-configurable.patch} | 54 +++++++++++++++++-- ...mes-from-item-forms-of-entities-to-e.patch | 2 +- ...-when-using-a-Name-Tag-on-an-Armor-S.patch | 2 +- ...sting-and-weeping-vines-growth-rates.patch | 2 +- ...-twisting-vines-configurable-max-gro.patch | 2 +- ...llowing-Endermen-to-despawn-even-whi.patch | 2 +- ...131-Add-configurable-snowball-damage.patch | 2 +- ...break-door-minimum-difficulty-option.patch | 6 +-- ...36-Changeable-Mob-Left-Handed-Chance.patch | 2 +- .../0137-Add-boat-fall-damage-config.patch | 2 +- ...-disable-saving-projectiles-to-disk-.patch | 2 +- .../0139-Snow-Golem-rate-of-fire-config.patch | 2 +- ...-climbing-should-not-bypass-cramming.patch | 2 +- .../0143-Lobotomize-stuck-villagers.patch | 10 ++-- ...Villager-Clerics-to-farm-Nether-Wart.patch | 8 +-- ...fied-Piglin-death-always-counting-as.patch | 4 +- ...ble-chance-for-wolves-to-spawn-rabid.patch | 4 +- ...nfigurable-default-wolf-collar-color.patch | 4 +- ...-Configurable-entity-base-attributes.patch | 24 ++++----- .../server/0150-Phantom-flames-on-swoop.patch | 2 +- ...s-to-open-even-with-a-solid-block-on.patch | 2 +- .../0153-Striders-give-saddle-back.patch | 2 +- ...therite-armor-grants-fire-resistance.patch | 2 +- ...iefing-bypass-to-everything-affected.patch | 12 ++--- ...allow-Note-Block-sounds-when-blocked.patch | 2 +- ...0160-Add-EntityTeleportHinderedEvent.patch | 4 +- .../0162-Farmland-trampling-changes.patch | 2 +- ...3-Movement-options-for-armour-stands.patch | 2 +- .../server/0164-Fix-stuck-in-portals.patch | 2 +- ...-to-use-infinity-bows-without-arrows.patch | 2 +- ...oggle-for-water-sensitive-mob-damage.patch | 2 +- ...68-Config-to-always-tame-in-Creative.patch | 2 +- .../0169-End-crystal-explosion-options.patch | 4 +- ...0171-Add-ghast-allow-griefing-option.patch | 2 +- ...ither-Ender-Dragon-can-ride-vehicles.patch | 6 +-- 35 files changed, 116 insertions(+), 70 deletions(-) rename patches/server/{0124-Make-animal-breeding-times-configurable.patch => 0124-Make-entity-breeding-times-configurable.patch} (90%) diff --git a/patches/server/0124-Make-animal-breeding-times-configurable.patch b/patches/server/0124-Make-entity-breeding-times-configurable.patch similarity index 90% rename from patches/server/0124-Make-animal-breeding-times-configurable.patch rename to patches/server/0124-Make-entity-breeding-times-configurable.patch index 5ef28d3ec..972220e1d 100644 --- a/patches/server/0124-Make-animal-breeding-times-configurable.patch +++ b/patches/server/0124-Make-entity-breeding-times-configurable.patch @@ -1,9 +1,26 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: jmp Date: Sun, 15 Nov 2020 02:18:15 -0800 -Subject: [PATCH] Make animal breeding times configurable +Subject: [PATCH] Make entity breeding times configurable +diff --git a/src/main/java/net/minecraft/server/BehaviorMakeLove.java b/src/main/java/net/minecraft/server/BehaviorMakeLove.java +index 7bdcc7bb26a1f7c8fc2562016af8598b9a7b4de3..d22b1742e2bf9c390590851de45b2e66f1444b47 100644 +--- a/src/main/java/net/minecraft/server/BehaviorMakeLove.java ++++ b/src/main/java/net/minecraft/server/BehaviorMakeLove.java +@@ -102,8 +102,10 @@ public class BehaviorMakeLove extends Behavior { + if (entityvillager2 == null) { + return Optional.empty(); + } else { +- entityvillager.setAgeRaw(6000); +- entityvillager1.setAgeRaw(6000); ++ // Purpur start ++ entityvillager.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks); ++ entityvillager1.setAgeRaw(worldserver.purpurConfig.villagerBreedingTicks); ++ // Purpur end + entityvillager2.setAgeRaw(-24000); + entityvillager2.setPositionRotation(entityvillager.locX(), entityvillager.locY(), entityvillager.locZ(), 0.0F, 0.0F); + worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac0556060e0eb41 100644 --- a/src/main/java/net/minecraft/server/EntityAnimal.java @@ -94,7 +111,7 @@ index 1219b0aa9c62bc9a1bda45cc9e9a27f14a28fe2e..63497ca0266073dc0a16b7dc22641d08 @Override diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index f5defe4713c6be7d32fb2116110516717460284e..e87f5aeb97fc35ff2b3464f31a2ec18432774cd4 100644 +index f5defe4713c6be7d32fb2116110516717460284e..b5f036af81ddd3c1b0e388a28383f0b6a63d128c 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -86,6 +86,11 @@ public class EntityFox extends EntityAnimal { @@ -109,6 +126,19 @@ index f5defe4713c6be7d32fb2116110516717460284e..e87f5aeb97fc35ff2b3464f31a2ec184 // Purpur end @Override +@@ -1300,8 +1305,10 @@ public class EntityFox extends EntityAnimal { + CriterionTriggers.o.a(entityplayer2, this.animal, this.partner, (EntityAgeable) entityfox); + } + +- this.animal.setAgeRaw(6000); +- this.partner.setAgeRaw(6000); ++ // Purpur start ++ this.animal.setAgeRaw(this.animal.getPurpurBreedTime()); ++ this.partner.setAgeRaw(this.partner.getPurpurBreedTime()); ++ // Purpur end + this.animal.resetLove(); + this.partner.resetLove(); + entityfox.setAgeRaw(-24000); diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java index 548ff4449faca0abdf72487276fe49207bacfe17..a1578aade4a535144b5e40277c902f2e9ab9e940 100644 --- a/src/main/java/net/minecraft/server/EntityHoglin.java @@ -398,7 +428,7 @@ index 9ae7168595dd66860e09ef87f946b18b010e54b1..6c25f667eecdf345289a0dbf885c9d71 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 84b2b8618162f81369dac9e8341374447d9b1737..2b68f25b6a589de13c534e10f9f24a45f7274963 100644 +index 84b2b8618162f81369dac9e8341374447d9b1737..abc9b4fc27fdef37e3444cc3d885acab9f4d3f23 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -434,10 +434,12 @@ public class PurpurWorldConfig { @@ -625,7 +655,23 @@ index 84b2b8618162f81369dac9e8341374447d9b1737..2b68f25b6a589de13c534e10f9f24a45 } public boolean vexRidable = false; -@@ -1040,9 +1078,11 @@ public class PurpurWorldConfig { +@@ -969,6 +1007,7 @@ public class PurpurWorldConfig { + public int villagerSpawnIronGolemRadius = 0; + public int villagerSpawnIronGolemLimit = 0; + public boolean villagerCanBreed = true; ++ public int villagerBreedingTicks = 6000; + private void villagerSettings() { + villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); + villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); +@@ -980,6 +1019,7 @@ public class PurpurWorldConfig { + villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); + villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); + villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); ++ villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); + } + + public boolean villagerTraderRidable = false; +@@ -1040,9 +1080,11 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0125-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0125-Apply-display-names-from-item-forms-of-entities-to-e.patch index f2c3325e5..b31460e84 100644 --- a/patches/server/0125-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0125-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -154,7 +154,7 @@ index a4edfb02fd350433020b0f3699726b6127ab9933..3f9062d8eca3ce53c0fb9e9e40330aa4 NBTTagCompound nbttagcompound = this.a("display"); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2b68f25b6a589de13c534e10f9f24a45f7274963..a3f4e6ccf8d8099ddde37ca774ca14e270005c51 100644 +index abc9b4fc27fdef37e3444cc3d885acab9f4d3f23..7915a0204597a3711c1f177cf504a1c3c603e91e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -83,8 +83,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0126-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0126-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index 3dceabb3d..d6fd12b91 100644 --- a/patches/server/0126-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0126-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -21,7 +21,7 @@ index 01163ce38602f9345f00ee0535b4e73be7c6d735..a7efce97318fcf95d98f33ad4ac2da69 ((EntityInsentient) entityliving).setPersistent(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a3f4e6ccf8d8099ddde37ca774ca14e270005c51..bb39abc44c7151a57b9af66cb77f2ed8e043a4f0 100644 +index 7915a0204597a3711c1f177cf504a1c3c603e91e..9a419e2e591113015bd122202aba2a8aa8494f63 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -84,9 +84,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0127-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0127-Add-twisting-and-weeping-vines-growth-rates.patch index 0481d42f5..e2de87ecb 100644 --- a/patches/server/0127-Add-twisting-and-weeping-vines-growth-rates.patch +++ b/patches/server/0127-Add-twisting-and-weeping-vines-growth-rates.patch @@ -67,7 +67,7 @@ index 23dca1940375d243531fc4a891f04e937ae2f48f..94ffadb91fec65a721cf0c8fa98bad70 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bb39abc44c7151a57b9af66cb77f2ed8e043a4f0..ceaf3e4716262eaa3b29c63ca041bafa8b30efbc 100644 +index 9a419e2e591113015bd122202aba2a8aa8494f63..8f59e8412c2d82211274abdc9fc9bb94f117960d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -419,6 +419,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0128-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0128-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index eeb2c63b1..2391f3b11 100644 --- a/patches/server/0128-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0128-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -89,7 +89,7 @@ index 94ffadb91fec65a721cf0c8fa98bad708a2ca269..067df63ab27ecb9fe0a0d012b16efbd5 // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ceaf3e4716262eaa3b29c63ca041bafa8b30efbc..732773250e70cfcb7fda55758d73305e2b97cd97 100644 +index 8f59e8412c2d82211274abdc9fc9bb94f117960d..84172893cb5dd9aa61296d9bfb4cf0ea1ff91e9d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -366,6 +366,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0129-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0129-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index bb011122b..a934c9f17 100644 --- a/patches/server/0129-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0129-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,7 +21,7 @@ index 995849212c25568d3aa28ada78babf8b8e669960..acb2b3ed04ea0bf19335415310ce22cd static class PathfinderGoalEndermanPickupBlock extends PathfinderGoal { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 732773250e70cfcb7fda55758d73305e2b97cd97..89bea8f3889d2d2f1469ad1dc5af5cda70153a17 100644 +index 84172893cb5dd9aa61296d9bfb4cf0ea1ff91e9d..6c7e898dd42e958553d929b94ce5ddb9542001ee 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -588,10 +588,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0131-Add-configurable-snowball-damage.patch b/patches/server/0131-Add-configurable-snowball-damage.patch index 7b4a4cc72..18bcc048f 100644 --- a/patches/server/0131-Add-configurable-snowball-damage.patch +++ b/patches/server/0131-Add-configurable-snowball-damage.patch @@ -18,7 +18,7 @@ index 34a5f481e6ed1357861dca15fb4013ec8484a292..d7bab4446a5a8eef98c10b1f6eb89de9 entity.damageEntity(DamageSource.projectile(this, this.getShooter()), (float) i); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 89bea8f3889d2d2f1469ad1dc5af5cda70153a17..5290b84281d68ac6fb15c997983507aee85e58f7 100644 +index 6c7e898dd42e958553d929b94ce5ddb9542001ee..9dcbce33274f599e4846588afc6d38b8353d6422 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -214,6 +214,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0132-Zombie-break-door-minimum-difficulty-option.patch b/patches/server/0132-Zombie-break-door-minimum-difficulty-option.patch index 8f13d01f0..f2a946933 100644 --- a/patches/server/0132-Zombie-break-door-minimum-difficulty-option.patch +++ b/patches/server/0132-Zombie-break-door-minimum-difficulty-option.patch @@ -40,7 +40,7 @@ index 7488a12926c5ee4adc3bc1fa3973988350381544..23870a271b759a953a095df835e08ea2 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5290b84281d68ac6fb15c997983507aee85e58f7..4e80fab96f7c9f0192bcda91acf761750cf8621c 100644 +index 9dcbce33274f599e4846588afc6d38b8353d6422..4801be1715f70655ee3aed53e5db10ac18dc7a82 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -2,6 +2,7 @@ package net.pl3x.purpur; @@ -51,7 +51,7 @@ index 5290b84281d68ac6fb15c997983507aee85e58f7..4e80fab96f7c9f0192bcda91acf76175 import net.minecraft.server.Explosion; import net.minecraft.server.IRegistry; import net.minecraft.server.Item; -@@ -1130,6 +1131,7 @@ public class PurpurWorldConfig { +@@ -1132,6 +1133,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -59,7 +59,7 @@ index 5290b84281d68ac6fb15c997983507aee85e58f7..4e80fab96f7c9f0192bcda91acf76175 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1137,6 +1139,11 @@ public class PurpurWorldConfig { +@@ -1139,6 +1141,11 @@ public class PurpurWorldConfig { zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); diff --git a/patches/server/0136-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0136-Changeable-Mob-Left-Handed-Chance.patch index 04688cc18..5d11d2dde 100644 --- a/patches/server/0136-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0136-Changeable-Mob-Left-Handed-Chance.patch @@ -18,7 +18,7 @@ index df337fbdb042d98ac1c41532c358ba3f860b3281..70982f55becd9417e0d3d3b827edc63e } else { this.setLeftHanded(false); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4e80fab96f7c9f0192bcda91acf761750cf8621c..da99f39a17513be21222c7c1289f638b36b1ca58 100644 +index 4801be1715f70655ee3aed53e5db10ac18dc7a82..f9c43a764a609e8c4339868cb0088b3c09ec29f4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -129,8 +129,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0137-Add-boat-fall-damage-config.patch b/patches/server/0137-Add-boat-fall-damage-config.patch index 0bef58039..e63a530be 100644 --- a/patches/server/0137-Add-boat-fall-damage-config.patch +++ b/patches/server/0137-Add-boat-fall-damage-config.patch @@ -27,7 +27,7 @@ index f22fcc41a20f2be14a05d418a6345234418d6199..0e5581e363f80735549cfbc5259eb044 if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index da99f39a17513be21222c7c1289f638b36b1ca58..e6e31aa9cc9df9e4810f5bed22500e6590cffb6c 100644 +index f9c43a764a609e8c4339868cb0088b3c09ec29f4..684a2fa594176a5f456d5f203a47aba15469c727 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -224,6 +224,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0138-Config-migration-disable-saving-projectiles-to-disk-.patch b/patches/server/0138-Config-migration-disable-saving-projectiles-to-disk-.patch index a3bd742ac..8fc65175c 100644 --- a/patches/server/0138-Config-migration-disable-saving-projectiles-to-disk-.patch +++ b/patches/server/0138-Config-migration-disable-saving-projectiles-to-disk-.patch @@ -36,7 +36,7 @@ index fa03879f52f89988d1f43a6cab9e202c88ff6d8d..d25d2e43c2dc3588b98b1d76f84ab10c public static String afkBroadcastBack = "§e§o%s is no longer AFK"; public static String afkTabListPrefix = "[AFK] "; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e6e31aa9cc9df9e4810f5bed22500e6590cffb6c..d4f90fc2f48df7d7be38086285754e8be9e006f5 100644 +index 684a2fa594176a5f456d5f203a47aba15469c727..6d64e78e2a06dbc40863b34de6bdb8d019334f7f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0139-Snow-Golem-rate-of-fire-config.patch b/patches/server/0139-Snow-Golem-rate-of-fire-config.patch index b744d7009..20c999516 100644 --- a/patches/server/0139-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0139-Snow-Golem-rate-of-fire-config.patch @@ -23,7 +23,7 @@ index 66a90507aaf16bb8512a77f3c9aa501697e49862..4c083bcfe7d083713b418486f0918f39 this.goalSelector.a(3, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F)); this.goalSelector.a(4, new PathfinderGoalRandomLookaround(this)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d4f90fc2f48df7d7be38086285754e8be9e006f5..cb8646621dcbf6683b5bc980c1c46f1ad629de05 100644 +index 6d64e78e2a06dbc40863b34de6bdb8d019334f7f..c51cca18eb13a0743d9c7748c58a3669d6178216 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -981,12 +981,20 @@ public class PurpurWorldConfig { diff --git a/patches/server/0142-Config-migration-climbing-should-not-bypass-cramming.patch b/patches/server/0142-Config-migration-climbing-should-not-bypass-cramming.patch index c82fb50c7..6952ea14d 100644 --- a/patches/server/0142-Config-migration-climbing-should-not-bypass-cramming.patch +++ b/patches/server/0142-Config-migration-climbing-should-not-bypass-cramming.patch @@ -28,7 +28,7 @@ index 12196850591679cae87575ad25d4d061af65848b..5d75481660d5e11abe263f2a6343b87c public static String afkBroadcastBack = "§e§o%s is no longer AFK"; public static String afkTabListPrefix = "[AFK] "; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cb8646621dcbf6683b5bc980c1c46f1ad629de05..7f51df85a93765bb2e6130b96c832fdecc0c3915 100644 +index c51cca18eb13a0743d9c7748c58a3669d6178216..4b291b6bd8e74a4affd6a6ea7e1ace50d78ff7eb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -96,6 +96,17 @@ public class PurpurWorldConfig { diff --git a/patches/server/0143-Lobotomize-stuck-villagers.patch b/patches/server/0143-Lobotomize-stuck-villagers.patch index 036da028e..855ddbcd8 100644 --- a/patches/server/0143-Lobotomize-stuck-villagers.patch +++ b/patches/server/0143-Lobotomize-stuck-villagers.patch @@ -88,22 +88,22 @@ index b92ca4a6de01f3f86367fb8dfe3591b08a3e9218..1208464fba96daf276c9cc0c1c9b18db // Paper start - add target parameter return this.a(blockposition, null, i); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7f51df85a93765bb2e6130b96c832fdecc0c3915..c42b76c449c55ece8ca08e596253e20aab3ecb09 100644 +index 4b291b6bd8e74a4affd6a6ea7e1ace50d78ff7eb..dd8c9cd8e45b49bcee4825abb4e30537ef3dafd4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1075,6 +1075,8 @@ public class PurpurWorldConfig { - public int villagerSpawnIronGolemRadius = 0; +@@ -1076,6 +1076,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; + public int villagerBreedingTicks = 6000; + public boolean villagerLobotomizeEnabled = false; + public int villagerLobotomizeCheck = 60; private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1086,6 +1088,13 @@ public class PurpurWorldConfig { - villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); +@@ -1088,6 +1090,13 @@ public class PurpurWorldConfig { villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); + villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); + if (PurpurConfig.version < 9) { + boolean oldValue = getBoolean("mobs.villager.lobotomize-1x1", villagerLobotomizeEnabled); + set("mobs.villager.lobotomize.enabled", oldValue); diff --git a/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 50376db02..e5071de0b 100644 --- a/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -234,11 +234,11 @@ index 3c60da7ac6faebe9d964e893974e42613c59b4c1..6493f220a0cf627e82e5f3f3c85e9934 public static final VillagerProfession FISHERMAN = a("fisherman", VillagePlaceType.i, SoundEffects.ENTITY_VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = a("fletcher", VillagePlaceType.j, SoundEffects.ENTITY_VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c42b76c449c55ece8ca08e596253e20aab3ecb09..c690238bb16d7172ba53321f9512a7bb9c5683fd 100644 +index dd8c9cd8e45b49bcee4825abb4e30537ef3dafd4..12c54e4874d8cd687c1680e9184a3f01fab11b39 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1077,6 +1077,8 @@ public class PurpurWorldConfig { - public boolean villagerCanBreed = true; +@@ -1078,6 +1078,8 @@ public class PurpurWorldConfig { + public int villagerBreedingTicks = 6000; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheck = 60; + public boolean villagerClericsFarmWarts = false; @@ -246,7 +246,7 @@ index c42b76c449c55ece8ca08e596253e20aab3ecb09..c690238bb16d7172ba53321f9512a7bb private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1095,6 +1097,8 @@ public class PurpurWorldConfig { +@@ -1097,6 +1099,8 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); diff --git a/patches/server/0145-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0145-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index e80bb2ece..75b428a56 100644 --- a/patches/server/0145-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0145-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 3327dbbf87d8f43cbc7cd728df2f4c6a33dae40d..57f3358b8dfd53f5b1d2e976d64b809f } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c690238bb16d7172ba53321f9512a7bb9c5683fd..27f053eb3929de9baa2f20c95fff3e6413ddc4ee 100644 +index 12c54e4874d8cd687c1680e9184a3f01fab11b39..f7ccf7ce209c047dbfe18539fba6a12ca3765c78 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1208,12 +1208,14 @@ public class PurpurWorldConfig { +@@ -1210,12 +1210,14 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; diff --git a/patches/server/0147-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0147-Configurable-chance-for-wolves-to-spawn-rabid.patch index c7f3acee2..2da19934a 100644 --- a/patches/server/0147-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0147-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -201,10 +201,10 @@ index 9a4819815c7a4bf2fd4a92c4169ace35f2261704..da29898574d30d5fecc5a44ad7b36556 public PathfinderGoalAvoidTarget(EntityCreature entitycreature, Class oclass, Predicate predicate, float f, double d0, double d1, Predicate predicate1) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 27f053eb3929de9baa2f20c95fff3e6413ddc4ee..56e1af807e3f2763c0878c5003bc062bdf50355e 100644 +index f7ccf7ce209c047dbfe18539fba6a12ca3765c78..aea3e3ae09d2df797d284104eafb957e8f11a109 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1159,10 +1159,14 @@ public class PurpurWorldConfig { +@@ -1161,10 +1161,14 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0148-Configurable-default-wolf-collar-color.patch b/patches/server/0148-Configurable-default-wolf-collar-color.patch index 4d1a50bf4..121be503d 100644 --- a/patches/server/0148-Configurable-default-wolf-collar-color.patch +++ b/patches/server/0148-Configurable-default-wolf-collar-color.patch @@ -24,7 +24,7 @@ index 5fe2e9f4bfbdc08690eacd6196e59529dc7953e8..fd62dc51258876275adbe02f750fd881 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 56e1af807e3f2763c0878c5003bc062bdf50355e..f025bc73be48716310f1716d2cabbd5af5c39727 100644 +index aea3e3ae09d2df797d284104eafb957e8f11a109..3790fcea3a556a979eacaf5b03e5ebc4c3a02925 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -3,6 +3,7 @@ package net.pl3x.purpur; @@ -35,7 +35,7 @@ index 56e1af807e3f2763c0878c5003bc062bdf50355e..f025bc73be48716310f1716d2cabbd5a import net.minecraft.server.EnumDifficulty; import net.minecraft.server.Explosion; import net.minecraft.server.IRegistry; -@@ -1159,12 +1160,18 @@ public class PurpurWorldConfig { +@@ -1161,12 +1162,18 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0149-Configurable-entity-base-attributes.patch b/patches/server/0149-Configurable-entity-base-attributes.patch index 5c0e0985a..97ca72a24 100644 --- a/patches/server/0149-Configurable-entity-base-attributes.patch +++ b/patches/server/0149-Configurable-entity-base-attributes.patch @@ -252,7 +252,7 @@ index c75dc75611991028e9de6db7c57304e913251a6b..f0ecc6e6ef5843714a6423af5d661985 @Override diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index e87f5aeb97fc35ff2b3464f31a2ec18432774cd4..c63878087ff0414602c4e7ed768a62f8e4899a3a 100644 +index b5f036af81ddd3c1b0e388a28383f0b6a63d128c..7a3fb7a41e987adee675fbfd11f2648cf5de3e53 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -91,6 +91,11 @@ public class EntityFox extends EntityAnimal { @@ -1314,7 +1314,7 @@ index 0c47477b416980d2e932321730525bf5a8feda4f..dc850677c29c16805f28af00b2a63363 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7ddb84db4 100644 +index 3790fcea3a556a979eacaf5b03e5ebc4c3a02925..31114da5cc21c5f3b59ea97e34bddfd09c2a5198 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -484,30 +484,58 @@ public class PurpurWorldConfig { @@ -2327,7 +2327,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 } public boolean villagerRidable = false; -@@ -1080,6 +1566,7 @@ public class PurpurWorldConfig { +@@ -1081,6 +1567,7 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheck = 60; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -2335,7 +2335,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1100,33 +1587,60 @@ public class PurpurWorldConfig { +@@ -1102,33 +1589,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); @@ -2396,7 +2396,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 } public boolean witherRidable = false; -@@ -1143,19 +1657,30 @@ public class PurpurWorldConfig { +@@ -1145,19 +1659,30 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); if (PurpurConfig.version < 8) { double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth); @@ -2429,7 +2429,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 } public boolean wolfRidable = false; -@@ -1164,6 +1689,7 @@ public class PurpurWorldConfig { +@@ -1166,6 +1691,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2437,7 +2437,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1175,13 +1701,26 @@ public class PurpurWorldConfig { +@@ -1177,13 +1703,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); @@ -2464,7 +2464,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 } public boolean zombieRidable = false; -@@ -1191,6 +1730,8 @@ public class PurpurWorldConfig { +@@ -1193,6 +1732,8 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD; @@ -2473,7 +2473,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1203,15 +1744,40 @@ public class PurpurWorldConfig { +@@ -1205,15 +1746,40 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { zombieBreakDoorMinDifficulty = EnumDifficulty.HARD; } @@ -2514,7 +2514,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 } public boolean zombifiedPiglinRidable = false; -@@ -1220,6 +1786,8 @@ public class PurpurWorldConfig { +@@ -1222,6 +1788,8 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2523,7 +2523,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1227,6 +1795,13 @@ public class PurpurWorldConfig { +@@ -1229,6 +1797,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); @@ -2537,7 +2537,7 @@ index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7 } public boolean zombieVillagerRidable = false; -@@ -1234,11 +1809,20 @@ public class PurpurWorldConfig { +@@ -1236,11 +1811,20 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; diff --git a/patches/server/0150-Phantom-flames-on-swoop.patch b/patches/server/0150-Phantom-flames-on-swoop.patch index 9054095e2..1f996c38b 100644 --- a/patches/server/0150-Phantom-flames-on-swoop.patch +++ b/patches/server/0150-Phantom-flames-on-swoop.patch @@ -17,7 +17,7 @@ index 80cc4467d601b653583e387eb4be6f3b739058e6..52a3ae1eda874b41e5d71c16b8ab24d3 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 72d1ccb375496ffaa3d02d7c65f3cfb7ddb84db4..1b0e8f2fbdfe6d48ed86ae49f296bbf6ebd0bd23 100644 +index 31114da5cc21c5f3b59ea97e34bddfd09c2a5198..b630887b4ba9288e9724e97658d903ab334c3f8b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1148,6 +1148,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0151-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0151-Option-for-chests-to-open-even-with-a-solid-block-on.patch index 1072f5261..a30732549 100644 --- a/patches/server/0151-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0151-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,7 +17,7 @@ index c4ff93a6b908c1bd157c7fe45b504909b189d09c..71a32a317e38b9c8f802fd5dd9ae546f 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 1b0e8f2fbdfe6d48ed86ae49f296bbf6ebd0bd23..9c6992fe621065151238281fe101566b6e634ad4 100644 +index b630887b4ba9288e9724e97658d903ab334c3f8b..98211b159564f1674c84a5ec7cce37a1f077af5e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -381,6 +381,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0153-Striders-give-saddle-back.patch b/patches/server/0153-Striders-give-saddle-back.patch index baee10735..816796217 100644 --- a/patches/server/0153-Striders-give-saddle-back.patch +++ b/patches/server/0153-Striders-give-saddle-back.patch @@ -28,7 +28,7 @@ index 1bca386b7dea01af88a6c8d8e87ff11a0b21cc7a..964956a0027bf0941ff75d658be760b7 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9c6992fe621065151238281fe101566b6e634ad4..31c902edfec4a69dfa36cd31ec1a82f3ac0fc621 100644 +index 98211b159564f1674c84a5ec7cce37a1f077af5e..f19da65bcc79bd70bf9b5ac33867e49b6838cb7d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1502,11 +1502,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0155-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0155-Full-netherite-armor-grants-fire-resistance.patch index 42b819967..1cf46b4a1 100644 --- a/patches/server/0155-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0155-Full-netherite-armor-grants-fire-resistance.patch @@ -26,7 +26,7 @@ index b6bfd8f5073ce481dfe2b1667ece42d32eaeb227..81f7d5bc581b42289a79121da1586899 protected ItemCooldown i() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 31c902edfec4a69dfa36cd31ec1a82f3ac0fc621..f6d4ac90f9bad65743a02be21b0f7b52f6772659 100644 +index f19da65bcc79bd70bf9b5ac33867e49b6838cb7d..af33ee28276ac9848805765af6d51bf4b9f3c372 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/0158-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0158-Add-mobGriefing-bypass-to-everything-affected.patch index e2873237b..c18d19599 100644 --- a/patches/server/0158-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0158-Add-mobGriefing-bypass-to-everything-affected.patch @@ -106,7 +106,7 @@ index f0ecc6e6ef5843714a6423af5d6619856ef23977..5f24c36bf45a656e2204754491137867 } else { List list = EntityEvoker.this.world.a(EntitySheep.class, this.e, EntityEvoker.this, EntityEvoker.this.getBoundingBox().grow(16.0D, 4.0D, 16.0D)); diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index c63878087ff0414602c4e7ed768a62f8e4899a3a..18d14aca159db9c82a2f56020f503b5d3c4aae59 100644 +index 7a3fb7a41e987adee675fbfd11f2648cf5de3e53..ff78bd607f19a1b9f37281946db3f705c844f7cc 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -1002,7 +1002,7 @@ public class EntityFox extends EntityAnimal { @@ -338,7 +338,7 @@ index c03ebbc933197be3e7097ea3f7b7cd08c90db7bb..37c1d1ac1bfcaf84d00135ad3c9d9e9b } else if (this.c > 0) { --this.c; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f6d4ac90f9bad65743a02be21b0f7b52f6772659..106240d48b6bd472545bb46fdada3e023d3cfdca 100644 +index af33ee28276ac9848805765af6d51bf4b9f3c372..f9cd952ebddab8c963a8cc51755e3019c9286bd0 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 { @@ -525,7 +525,7 @@ index f6d4ac90f9bad65743a02be21b0f7b52f6772659..106240d48b6bd472545bb46fdada3e02 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); -@@ -1668,6 +1694,7 @@ public class PurpurWorldConfig { +@@ -1670,6 +1696,7 @@ public class PurpurWorldConfig { public boolean witherRidable = false; public boolean witherRidableInWater = false; public double witherMaxY = 256D; @@ -533,7 +533,7 @@ index f6d4ac90f9bad65743a02be21b0f7b52f6772659..106240d48b6bd472545bb46fdada3e02 public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public double witherMaxHealth = 300.0D; -@@ -1675,6 +1702,7 @@ public class PurpurWorldConfig { +@@ -1677,6 +1704,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 f6d4ac90f9bad65743a02be21b0f7b52f6772659..106240d48b6bd472545bb46fdada3e02 witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); if (PurpurConfig.version < 8) { -@@ -1747,6 +1775,7 @@ public class PurpurWorldConfig { +@@ -1749,6 +1777,7 @@ public class PurpurWorldConfig { public boolean zombieRidable = false; public boolean zombieRidableInWater = false; @@ -549,7 +549,7 @@ index f6d4ac90f9bad65743a02be21b0f7b52f6772659..106240d48b6bd472545bb46fdada3e02 public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; -@@ -1757,6 +1786,7 @@ public class PurpurWorldConfig { +@@ -1759,6 +1788,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/0159-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0159-Config-to-allow-Note-Block-sounds-when-blocked.patch index c5a066023..039f187f8 100644 --- a/patches/server/0159-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0159-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,7 +22,7 @@ index df69d00d3a38417e53f433cd1eb1f6cf3ec9b55b..6bb6e229c8734d7b9f4e3cd3dd1b4b64 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 106240d48b6bd472545bb46fdada3e023d3cfdca..2b25d505a5b5d8799177beacfaa9a5bcddb939ef 100644 +index f9cd952ebddab8c963a8cc51755e3019c9286bd0..e1b2a39ea8847716c44d265a62492b5e6cbe262d 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/0160-Add-EntityTeleportHinderedEvent.patch b/patches/server/0160-Add-EntityTeleportHinderedEvent.patch index 17e051a98..9fc3d593e 100644 --- a/patches/server/0160-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0160-Add-EntityTeleportHinderedEvent.patch @@ -94,10 +94,10 @@ index ed8e91bf6c8b9d410d439bdddd5067d346a20a7e..127b5d8215f2bb4c5c523c5a77ebccfb if (this.exitPortal == null && this.world.getTypeKey() == DimensionManager.THE_END) { // CraftBukkit - work in alternate worlds this.a((WorldServer) this.world); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2b25d505a5b5d8799177beacfaa9a5bcddb939ef..31d011ad08b2756fb236099cb92cd37b6a2934ff 100644 +index e1b2a39ea8847716c44d265a62492b5e6cbe262d..2391e1ddbe062dde5cb9a240b0a6a85ed793e569 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1879,4 +1879,9 @@ public class PurpurWorldConfig { +@@ -1881,4 +1881,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/0162-Farmland-trampling-changes.patch b/patches/server/0162-Farmland-trampling-changes.patch index a61229262..8ad046e7d 100644 --- a/patches/server/0162-Farmland-trampling-changes.patch +++ b/patches/server/0162-Farmland-trampling-changes.patch @@ -28,7 +28,7 @@ index 73dc0f499c456c21d298013fbab8c79ebcdecd6b..6b65a4b1845c6770f92ceebd04827595 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 31d011ad08b2756fb236099cb92cd37b6a2934ff..92f16b14a0da17da7a731301892535982605347a 100644 +index 2391e1ddbe062dde5cb9a240b0a6a85ed793e569..e248681fc8d1c91077e2135a70347bf4c5282686 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -413,10 +413,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0163-Movement-options-for-armour-stands.patch b/patches/server/0163-Movement-options-for-armour-stands.patch index d3fd10e7a..5410f947a 100644 --- a/patches/server/0163-Movement-options-for-armour-stands.patch +++ b/patches/server/0163-Movement-options-for-armour-stands.patch @@ -66,7 +66,7 @@ index 759a8f95038778aead2f33a65a2d8f2d6b26a765..74fda434ed7beb6612f46ed75fdccad5 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 92f16b14a0da17da7a731301892535982605347a..2c555ac0bee9e0a37fada8c04e75699f2cb311bc 100644 +index e248681fc8d1c91077e2135a70347bf4c5282686..a494a9e15456cf684c62957e8563ef06627695f9 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/0164-Fix-stuck-in-portals.patch b/patches/server/0164-Fix-stuck-in-portals.patch index 6d3ac9573..3aa5ebd3e 100644 --- a/patches/server/0164-Fix-stuck-in-portals.patch +++ b/patches/server/0164-Fix-stuck-in-portals.patch @@ -37,7 +37,7 @@ index 0e5581e363f80735549cfbc5259eb044828e483b..67f822e64013540dd890e0269c8f770f // CraftBukkit end this.spawnIn(worldserver); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2c555ac0bee9e0a37fada8c04e75699f2cb311bc..3df5798e91b767aa0843a3cc520116c02b5e277e 100644 +index a494a9e15456cf684c62957e8563ef06627695f9..c268ec1b3b3e558283d869629079049343b2f15d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -350,6 +350,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0166-Config-to-use-infinity-bows-without-arrows.patch b/patches/server/0166-Config-to-use-infinity-bows-without-arrows.patch index 344d04bd5..56ead80d2 100644 --- a/patches/server/0166-Config-to-use-infinity-bows-without-arrows.patch +++ b/patches/server/0166-Config-to-use-infinity-bows-without-arrows.patch @@ -20,7 +20,7 @@ index 8241f3dafa5852bed7a3967e7260b36f47198dba..edfb09fe673a9a7fe4e0410c0c0eeeda } 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 3df5798e91b767aa0843a3cc520116c02b5e277e..200ac6aff09a38198b13d4cb91b5c08fddf83261 100644 +index c268ec1b3b3e558283d869629079049343b2f15d..2db8241602382927ae9365a5026451e199f48d36 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/0167-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch index 0ca8923d2..7c75f4ac4 100644 --- a/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch @@ -83,7 +83,7 @@ index 964956a0027bf0941ff75d658be760b754772fa0..7c5472a5138011a3376b7b6ec2467bdf @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 200ac6aff09a38198b13d4cb91b5c08fddf83261..2d379971fbe5c90c5e2e518bdae1d2e74f7ebc52 100644 +index 2db8241602382927ae9365a5026451e199f48d36..9973677fb2ebce985b25efddc1015c6d5f0758a8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -569,6 +569,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0168-Config-to-always-tame-in-Creative.patch b/patches/server/0168-Config-to-always-tame-in-Creative.patch index da9633deb..bcd4e1ef8 100644 --- a/patches/server/0168-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0168-Config-to-always-tame-in-Creative.patch @@ -59,7 +59,7 @@ index fc831dc26eaeab802d5fee456d5c662fe3f8bdfd..76dda6f777fbdf515990651594b5b3fa return; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2d379971fbe5c90c5e2e518bdae1d2e74f7ebc52..5d1f77c20429f74590d22e9c5dec3f45056664d5 100644 +index 9973677fb2ebce985b25efddc1015c6d5f0758a8..6481f8a964846ee835c2196197bd765d013377a4 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/0169-End-crystal-explosion-options.patch b/patches/server/0169-End-crystal-explosion-options.patch index 49143400f..ec6d27066 100644 --- a/patches/server/0169-End-crystal-explosion-options.patch +++ b/patches/server/0169-End-crystal-explosion-options.patch @@ -52,10 +52,10 @@ index 1942fae27051af79b6eb1d790a219da100bf889e..0e2f9777fe1b62f8da20bf7559150e1d this.a(damagesource); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5d1f77c20429f74590d22e9c5dec3f45056664d5..73ff19d8aed27e6717c201ef59b17f4b26056aa4 100644 +index 6481f8a964846ee835c2196197bd765d013377a4..20c4cd5ffe4d132012f1e55401e08cb894b80294 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1911,4 +1911,33 @@ public class PurpurWorldConfig { +@@ -1913,4 +1913,33 @@ public class PurpurWorldConfig { private void imposeTeleportRestrictionsOnGateways() { imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways); } diff --git a/patches/server/0171-Add-ghast-allow-griefing-option.patch b/patches/server/0171-Add-ghast-allow-griefing-option.patch index 43bd290dc..c5cf04e4d 100644 --- a/patches/server/0171-Add-ghast-allow-griefing-option.patch +++ b/patches/server/0171-Add-ghast-allow-griefing-option.patch @@ -38,7 +38,7 @@ index 3f3be1b2ded6ad118ae7860c1231c7affc0715b6..48174610518af8d053149e609c1b140e // 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 73ff19d8aed27e6717c201ef59b17f4b26056aa4..99853bbf5d5a173bb109bfb863476464cb0bee1f 100644 +index 20c4cd5ffe4d132012f1e55401e08cb894b80294..64657c3c9250d8767702a54bb0ee3a23f43da04a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -866,6 +866,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 97ed45280..2c976e072 100644 --- a/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -42,7 +42,7 @@ index 014de51f9b803cda27e735d30cde5c869947a31b..aee6891c92c9a2c558b9c96ed544be0a } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 99853bbf5d5a173bb109bfb863476464cb0bee1f..8b31c09a2913bda69c02f44db292d42d19887f86 100644 +index 64657c3c9250d8767702a54bb0ee3a23f43da04a..958b0ee8af21e4176e9d35af88294919c509a2c1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -773,6 +773,7 @@ public class PurpurWorldConfig { @@ -61,7 +61,7 @@ index 99853bbf5d5a173bb109bfb863476464cb0bee1f..8b31c09a2913bda69c02f44db292d42d } public boolean endermanRidable = false; -@@ -1729,6 +1731,7 @@ public class PurpurWorldConfig { +@@ -1731,6 +1733,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public double witherMaxHealth = 300.0D; @@ -69,7 +69,7 @@ index 99853bbf5d5a173bb109bfb863476464cb0bee1f..8b31c09a2913bda69c02f44db292d42d private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1746,6 +1749,7 @@ public class PurpurWorldConfig { +@@ -1748,6 +1751,7 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);