From adcd1d28478e736190afb38451b042e6843831ae Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 15 Jan 2021 10:18:43 -0600 Subject: [PATCH] Add item immunities option for cactus --- patches/api/0027-Item-entity-immunities.patch | 11 +++- .../server/0078-Item-entity-immunities.patch | 37 +++++++++---- .../0080-Configurable-jockey-options.patch | 8 +-- ...ed-to-crystals-and-crystals-shoot-ph.patch | 4 +- .../0082-Add-phantom-spawning-options.patch | 4 +- ...0083-Implement-bed-explosion-options.patch | 4 +- ...ent-respawn-anchor-explosion-options.patch | 4 +- patches/server/0087-Entity-lifespan.patch | 4 +- ...leport-to-spawn-if-outside-world-bor.patch | 4 +- patches/server/0089-Squid-EAR-immunity.patch | 4 +- .../server/0092-Phantoms-burn-in-light.patch | 6 +-- .../0093-Configurable-villager-breeding.patch | 6 +-- .../0094-Redstone-deactivates-spawners.patch | 4 +- .../0095-Totems-work-in-inventory.patch | 4 +- ...9-Add-vindicator-johnny-spawn-chance.patch | 2 +- .../0102-Dispensers-place-anvils-option.patch | 4 +- patches/server/0103-Allow-anvil-colors.patch | 4 +- .../server/0104-Add-no-tick-block-list.patch | 4 +- ...o-disable-dolphin-treasure-searching.patch | 4 +- ...Stop-squids-floating-on-top-of-water.patch | 4 +- patches/server/0108-Ridables.patch | 18 +++---- ...tities-can-use-portals-configuration.patch | 6 +-- ...stomizable-wither-health-and-healing.patch | 4 +- ...ggling-special-MobSpawners-per-world.patch | 4 +- .../server/0115-Raid-cooldown-setting.patch | 6 +-- ...e-config-options-per-projectile-type.patch | 4 +- ...sable-zombie-aggressiveness-towards-.patch | 4 +- ...tent-TileEntity-Lore-and-DisplayName.patch | 6 +-- patches/server/0121-Flying-squids-Oh-my.patch | 4 +- .../server/0122-Infinity-bow-settings.patch | 4 +- patches/server/0123-Stonecutter-damage.patch | 4 +- .../0124-Configurable-daylight-cycle.patch | 2 +- .../server/0126-Infinite-fuel-furnace.patch | 4 +- ...re-add-farmland-mechanics-from-Alpha.patch | 4 +- ...justable-breeding-cooldown-to-config.patch | 6 +-- ...e-animal-breeding-times-configurable.patch | 34 ++++++------ ...mes-from-item-forms-of-entities-to-e.patch | 6 +-- ...-when-using-a-Name-Tag-on-an-Armor-S.patch | 2 +- ...sting-and-weeping-vines-growth-rates.patch | 4 +- ...-twisting-vines-configurable-max-gro.patch | 6 +-- ...llowing-Endermen-to-despawn-even-whi.patch | 4 +- ...138-Add-configurable-snowball-damage.patch | 4 +- ...break-door-minimum-difficulty-option.patch | 6 +-- ...43-Changeable-Mob-Left-Handed-Chance.patch | 4 +- .../0144-Add-boat-fall-damage-config.patch | 6 +-- ...-disable-saving-projectiles-to-disk-.patch | 2 +- .../0146-Snow-Golem-rate-of-fire-config.patch | 4 +- ...-climbing-should-not-bypass-cramming.patch | 2 +- .../0150-Lobotomize-stuck-villagers.patch | 6 +-- ...Villager-Clerics-to-farm-Nether-Wart.patch | 6 +-- ...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 | 54 +++++++++---------- .../server/0157-Phantom-flames-on-swoop.patch | 6 +-- ...s-to-open-even-with-a-solid-block-on.patch | 4 +- .../0160-Striders-give-saddle-back.patch | 4 +- ...therite-armor-grants-fire-resistance.patch | 4 +- patches/server/0164-Add-MC-4-fix-back.patch | 4 +- ...iefing-bypass-to-everything-affected.patch | 44 +++++++-------- ...allow-Note-Block-sounds-when-blocked.patch | 6 +-- ...0167-Add-EntityTeleportHinderedEvent.patch | 4 +- .../0169-Farmland-trampling-changes.patch | 4 +- ...0-Movement-options-for-armour-stands.patch | 2 +- .../server/0171-Fix-stuck-in-portals.patch | 4 +- 65 files changed, 239 insertions(+), 215 deletions(-) diff --git a/patches/api/0027-Item-entity-immunities.patch b/patches/api/0027-Item-entity-immunities.patch index 8605fffb7..dc1f8a275 100644 --- a/patches/api/0027-Item-entity-immunities.patch +++ b/patches/api/0027-Item-entity-immunities.patch @@ -5,16 +5,23 @@ Subject: [PATCH] Item entity immunities diff --git a/src/main/java/org/bukkit/entity/Item.java b/src/main/java/org/bukkit/entity/Item.java -index 0ee072645ecf1bf5feb74de6960947ef76db366e..bc1f3f1c6f7be2e478576740d119c8a36b032912 100644 +index 0ee072645ecf1bf5feb74de6960947ef76db366e..b96d2d8c9129b1a0363951fbb637815be3ce8d72 100644 --- a/src/main/java/org/bukkit/entity/Item.java +++ b/src/main/java/org/bukkit/entity/Item.java -@@ -120,4 +120,34 @@ public interface Item extends Entity { +@@ -120,4 +120,41 @@ public interface Item extends Entity { */ public void setWillAge(boolean willAge); // Paper end + + // Purpur start + /** ++ * Check if item is immune to cactus ++ * ++ * @return True if immune to cactus ++ */ ++ boolean isImmuneToCactus(); ++ ++ /** + * Set whether or not this item is immune to explosions + * + * @param immuneToExplosion True to make immune to explosions diff --git a/patches/server/0078-Item-entity-immunities.patch b/patches/server/0078-Item-entity-immunities.patch index 34494819b..59d60edf0 100644 --- a/patches/server/0078-Item-entity-immunities.patch +++ b/patches/server/0078-Item-entity-immunities.patch @@ -17,41 +17,47 @@ index 982b00049149bba1c49bb2a0ecaed38ad4c4a267..929b909f05fa226ea3305671a7932475 return this.O == tag; } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index d99cecc4075338d7b8f154ab94d8ac04190ba371..cbe03923d468bf75adc10245ebd9f63ff10987f9 100644 +index d99cecc4075338d7b8f154ab94d8ac04190ba371..ec37d2c3b0393c43097bdfc6064ebe3ab8bc28ce 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java -@@ -23,6 +23,8 @@ public class EntityItem extends Entity { +@@ -23,6 +23,9 @@ public class EntityItem extends Entity { public final float b; private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit public boolean canMobPickup = true; // Paper ++ public boolean immuneToCactus = false; // Purpur + public boolean immuneToExplosion = false; // Purpur + public boolean immuneToFire = false; // Purpur public EntityItem(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -274,6 +276,12 @@ public class EntityItem extends Entity { +@@ -274,6 +277,16 @@ public class EntityItem extends Entity { return false; } else if (!this.getItemStack().getItem().a(damagesource)) { return false; + // Purpur start ++ } else if (immuneToCactus && damagesource == DamageSource.CACTUS) { ++ respawnOnClient(); ++ return false; + } else if (immuneToFire && (damagesource.isFire() || damagesource == DamageSource.FIRE)) { + return false; + } else if (immuneToExplosion && damagesource.isExplosion()) { -+ respawnOnClient(); return false; ++ respawnOnClient(); ++ return false; + // Purpur end } else { // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) { -@@ -454,6 +462,8 @@ public class EntityItem extends Entity { +@@ -454,6 +467,9 @@ public class EntityItem extends Entity { com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit this.getDataWatcher().set(EntityItem.ITEM, itemstack); this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty ++ if (world.purpurConfig.itemImmuneToCactus.contains(itemstack.getItem())) immuneToCactus = true; // Purpur + if (world.purpurConfig.itemImmuneToExplosion.contains(itemstack.getItem())) immuneToExplosion = true; // Purpur + if (world.purpurConfig.itemImmuneToFire.contains(itemstack.getItem())) immuneToFire = true; // Purpur } @Override -@@ -535,4 +545,15 @@ public class EntityItem extends Entity { +@@ -535,4 +551,15 @@ public class EntityItem extends Entity { super.setPositionRaw(x, y, z); } // Paper end - fix MC-4 @@ -88,16 +94,22 @@ index 228236bce14bfdf930570b453862dcfaae9e4823..ad06bd81eded5d60f16c2d0ad1a4390f int i; int j; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 886c3b98d6bff04a93cd963a092654ef1c9729d1..793c43299e71526cca01dba3badf06dca52333c6 100644 +index 886c3b98d6bff04a93cd963a092654ef1c9729d1..75250392135f416e766e44ffdad7eecd06a89ae5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -101,6 +101,21 @@ public class PurpurWorldConfig { +@@ -101,6 +101,27 @@ public class PurpurWorldConfig { } } ++ public List itemImmuneToCactus = new ArrayList<>(); + public List itemImmuneToExplosion = new ArrayList<>(); + public List itemImmuneToFire = new ArrayList<>(); + private void itemSettings() { ++ itemImmuneToCactus.clear(); ++ getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { ++ Item item = IRegistry.ITEM.get(new MinecraftKey(key.toString())); ++ if (item != Items.AIR) itemImmuneToCactus.add(item); ++ }); + itemImmuneToExplosion.clear(); + getList("gameplay-mechanics.item.immune.explosion", new ArrayList<>()).forEach(key -> { + Item item = IRegistry.ITEM.get(new MinecraftKey(key.toString())); @@ -114,16 +126,21 @@ index 886c3b98d6bff04a93cd963a092654ef1c9729d1..793c43299e71526cca01dba3badf06dc public boolean idleTimeoutTickNearbyEntities = true; public boolean idleTimeoutCountAsSleeping = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index bcbaad11852a51436a00c8e172bdd841ba93ec3c..96628c39e315d57b0153266cee48ee85ee3a0841 100644 +index bcbaad11852a51436a00c8e172bdd841ba93ec3c..8e8eaa2df20773948ec160b94798fb8ca74c326a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -@@ -114,4 +114,26 @@ public class CraftItem extends CraftEntity implements Item { +@@ -114,4 +114,31 @@ public class CraftItem extends CraftEntity implements Item { public EntityType getType() { return EntityType.DROPPED_ITEM; } + + // Purpur start + @Override ++ public boolean isImmuneToCactus() { ++ return item.immuneToCactus; ++ } ++ ++ @Override + public void setImmuneToExplosion(boolean immuneToExplosion) { + item.immuneToExplosion = immuneToExplosion; + } diff --git a/patches/server/0080-Configurable-jockey-options.patch b/patches/server/0080-Configurable-jockey-options.patch index 3b4d8b1cb..8430f8c44 100644 --- a/patches/server/0080-Configurable-jockey-options.patch +++ b/patches/server/0080-Configurable-jockey-options.patch @@ -193,10 +193,10 @@ index e021c43b43839c00f81a01bfbec59c546d61ba50..505c83f3e3ad61c2d4d40c4df017e1f7 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 793c43299e71526cca01dba3badf06dca52333c6..b3deaaea159546509fc7cff2d843455461520dfa 100644 +index 75250392135f416e766e44ffdad7eecd06a89ae5..54afa5afa20f317d55b36df0aa325e0ac3e814a7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -257,6 +257,15 @@ public class PurpurWorldConfig { +@@ -263,6 +263,15 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); } @@ -212,7 +212,7 @@ index 793c43299e71526cca01dba3badf06dca52333c6..b3deaaea159546509fc7cff2d8434554 public boolean enderDragonAlwaysDropsEggBlock = false; public boolean enderDragonAlwaysDropsFullExp = false; private void enderDragonSettings() { -@@ -296,6 +305,15 @@ public class PurpurWorldConfig { +@@ -302,6 +311,15 @@ public class PurpurWorldConfig { giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth); } @@ -228,7 +228,7 @@ index 793c43299e71526cca01dba3badf06dca52333c6..b3deaaea159546509fc7cff2d8434554 public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; -@@ -371,8 +389,35 @@ public class PurpurWorldConfig { +@@ -377,8 +395,35 @@ public class PurpurWorldConfig { witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage); } diff --git a/patches/server/0081-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0081-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index eea6ed06d..d7caae421 100644 --- a/patches/server/0081-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0081-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -321,10 +321,10 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b3deaaea159546509fc7cff2d843455461520dfa..74aee0687cb8aa7e4b7efbf34d6374a516d873c0 100644 +index 54afa5afa20f317d55b36df0aa325e0ac3e814a7..4d12719b4b695328e364d4c39f5d54cd00522f09 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -333,6 +333,15 @@ public class PurpurWorldConfig { +@@ -339,6 +339,15 @@ public class PurpurWorldConfig { ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim); } diff --git a/patches/server/0082-Add-phantom-spawning-options.patch b/patches/server/0082-Add-phantom-spawning-options.patch index 5e64a1147..bdc5f5db4 100644 --- a/patches/server/0082-Add-phantom-spawning-options.patch +++ b/patches/server/0082-Add-phantom-spawning-options.patch @@ -245,10 +245,10 @@ index fb650c09dbcefa0ff021f7c508ff6811a48bee7a..68cce071c740c90149225b4a28af8492 public int c() { return this.d; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 74aee0687cb8aa7e4b7efbf34d6374a516d873c0..f60bc17cf25211bf0c9007307c54821aecc7bb96 100644 +index 4d12719b4b695328e364d4c39f5d54cd00522f09..7b3714ff8b7e6dafe1475c9fc176a69d60e8eef7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -336,10 +336,34 @@ public class PurpurWorldConfig { +@@ -342,10 +342,34 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; diff --git a/patches/server/0083-Implement-bed-explosion-options.patch b/patches/server/0083-Implement-bed-explosion-options.patch index 37a869a59..934fd52d1 100644 --- a/patches/server/0083-Implement-bed-explosion-options.patch +++ b/patches/server/0083-Implement-bed-explosion-options.patch @@ -18,7 +18,7 @@ index 24a5c64b65f0098b1395d352cc2f99bbbbaf9c94..738535d01adf8bfd895b5057e5950422 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f60bc17cf25211bf0c9007307c54821aecc7bb96..3b8d35ef70703f47f554cbbe6637924103595f6f 100644 +index 7b3714ff8b7e6dafe1475c9fc176a69d60e8eef7..240f1592b04848fc0c45c5ffe4c59145e043c16a 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; @@ -37,7 +37,7 @@ index f60bc17cf25211bf0c9007307c54821aecc7bb96..3b8d35ef70703f47f554cbbe66379241 import static net.pl3x.purpur.PurpurConfig.log; -@@ -194,6 +196,22 @@ public class PurpurWorldConfig { +@@ -200,6 +202,22 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0084-Implement-respawn-anchor-explosion-options.patch b/patches/server/0084-Implement-respawn-anchor-explosion-options.patch index b165e0480..7227c91f9 100644 --- a/patches/server/0084-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0084-Implement-respawn-anchor-explosion-options.patch @@ -30,10 +30,10 @@ index 21c5ad83a95bcd23071423c0e8336656b760fcde..521d161a3d015b641b61de21401c79ac public static boolean a(World world) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3b8d35ef70703f47f554cbbe6637924103595f6f..6a8b0cb12c9465e5047a4b5e4c2ee667c9a6c12f 100644 +index 240f1592b04848fc0c45c5ffe4c59145e043c16a..3d6f4de01409c70c5f4d2fcd7a52d158aa0fdf80 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -233,6 +233,22 @@ public class PurpurWorldConfig { +@@ -239,6 +239,22 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0087-Entity-lifespan.patch b/patches/server/0087-Entity-lifespan.patch index 221c8ef44..59674eb97 100644 --- a/patches/server/0087-Entity-lifespan.patch +++ b/patches/server/0087-Entity-lifespan.patch @@ -104,7 +104,7 @@ index 9b05adc3a834ce1f063c3b00505faed5e4ff66ba..5db09c913d7a0c6feef4e3fa22b22235 event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND); } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6a8b0cb12c9465e5047a4b5e4c2ee667c9a6c12f..681400a7010444019440ffaa98de1a50e2662485 100644 +index 3d6f4de01409c70c5f4d2fcd7a52d158aa0fdf80..d7635a3b2abb15407f55119bc29a5ee583ea714a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -103,6 +103,11 @@ public class PurpurWorldConfig { @@ -116,6 +116,6 @@ index 6a8b0cb12c9465e5047a4b5e4c2ee667c9a6c12f..681400a7010444019440ffaa98de1a50 + entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan); + } + + public List itemImmuneToCactus = new ArrayList<>(); public List itemImmuneToExplosion = new ArrayList<>(); public List itemImmuneToFire = new ArrayList<>(); - private void itemSettings() { diff --git a/patches/server/0088-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0088-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index ecf932f68..9d122ce45 100644 --- a/patches/server/0088-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0088-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -48,10 +48,10 @@ index a86e29ff086a4fe8aa4e8395ba420c0aff8f0be0..4134d9a1e649c70164a28df615bb43e8 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 681400a7010444019440ffaa98de1a50e2662485..4c878b65a271b0a014408034b0137b8d98f118ca 100644 +index d7635a3b2abb15407f55119bc29a5ee583ea714a..876aaf4fcfef01427a898dcf8c8db334334814b0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -178,6 +178,11 @@ public class PurpurWorldConfig { +@@ -184,6 +184,11 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0089-Squid-EAR-immunity.patch b/patches/server/0089-Squid-EAR-immunity.patch index 6ae442621..23db2e873 100644 --- a/patches/server/0089-Squid-EAR-immunity.patch +++ b/patches/server/0089-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4c878b65a271b0a014408034b0137b8d98f118ca..c66aa809024cc351d68693c899f7741516555f4e 100644 +index 876aaf4fcfef01427a898dcf8c8db334334814b0..5c22c9166c6f6d65e89325653b7ee959ebff6939 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -437,6 +437,11 @@ public class PurpurWorldConfig { +@@ -443,6 +443,11 @@ public class PurpurWorldConfig { snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); } diff --git a/patches/server/0092-Phantoms-burn-in-light.patch b/patches/server/0092-Phantoms-burn-in-light.patch index 4c0309d01..d0b80ba2a 100644 --- a/patches/server/0092-Phantoms-burn-in-light.patch +++ b/patches/server/0092-Phantoms-burn-in-light.patch @@ -70,10 +70,10 @@ index 4c379916d8d7797038d2980761c49f44c010dea8..ea6b61c9b88f33d29f7266d7614c8037 public static final Item dr = a(Blocks.JACK_O_LANTERN, CreativeModeTab.b); public static final Item ds = a(Blocks.OAK_TRAPDOOR, CreativeModeTab.d); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c66aa809024cc351d68693c899f7741516555f4e..3ce43e93f07cf728c9b0cf6f717d9ec7342bcb9e 100644 +index 5c22c9166c6f6d65e89325653b7ee959ebff6939..42399ce5b19f4e96087bde3c6902a5c8e78d6c50 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -392,6 +392,9 @@ public class PurpurWorldConfig { +@@ -398,6 +398,9 @@ public class PurpurWorldConfig { public int phantomSpawnOverheadRadius = 10; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -83,7 +83,7 @@ index c66aa809024cc351d68693c899f7741516555f4e..3ce43e93f07cf728c9b0cf6f717d9ec7 private void phantomSettings() { phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); -@@ -408,6 +411,9 @@ public class PurpurWorldConfig { +@@ -414,6 +417,9 @@ public class PurpurWorldConfig { phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); diff --git a/patches/server/0093-Configurable-villager-breeding.patch b/patches/server/0093-Configurable-villager-breeding.patch index 8d0972194..98c5a7f3a 100644 --- a/patches/server/0093-Configurable-villager-breeding.patch +++ b/patches/server/0093-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index 894089d665e97da31c04c82aaae344b22f83de89..5d37cb14f9cb7e3a1491a3dbcf212926 private boolean fr() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3ce43e93f07cf728c9b0cf6f717d9ec7342bcb9e..bf56ba540159525634309cfdf40842c0ebdaa517 100644 +index 42399ce5b19f4e96087bde3c6902a5c8e78d6c50..8c730d1ec0eebde4210f5c8eab55eb1b71f9584d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -455,6 +455,7 @@ public class PurpurWorldConfig { +@@ -461,6 +461,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -29,7 +29,7 @@ index 3ce43e93f07cf728c9b0cf6f717d9ec7342bcb9e..bf56ba540159525634309cfdf40842c0 private void villagerSettings() { villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); -@@ -463,6 +464,7 @@ public class PurpurWorldConfig { +@@ -469,6 +470,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); diff --git a/patches/server/0094-Redstone-deactivates-spawners.patch b/patches/server/0094-Redstone-deactivates-spawners.patch index be44d1c8c..a3262a100 100644 --- a/patches/server/0094-Redstone-deactivates-spawners.patch +++ b/patches/server/0094-Redstone-deactivates-spawners.patch @@ -26,10 +26,10 @@ index c2e830db7aa2944a477624e149a3ba66d112b68a..3b4cc9871c123cfd134783745145c407 public abstract BlockPosition b(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bf56ba540159525634309cfdf40842c0ebdaa517..be2ea6897e74440307561a81dd8ad4f74dd71a60 100644 +index 8c730d1ec0eebde4210f5c8eab55eb1b71f9584d..03de0b6385193b3ba571fd0f8f0bb316a7f158d0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -266,6 +266,11 @@ public class PurpurWorldConfig { +@@ -272,6 +272,11 @@ public class PurpurWorldConfig { signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); } diff --git a/patches/server/0095-Totems-work-in-inventory.patch b/patches/server/0095-Totems-work-in-inventory.patch index d84c9d03c..997680146 100644 --- a/patches/server/0095-Totems-work-in-inventory.patch +++ b/patches/server/0095-Totems-work-in-inventory.patch @@ -29,10 +29,10 @@ index 699afb9759083b42fd0608a3417fd3d17ce8f560..f1e1db97d611192ff2d4b635ef81cf59 event.setCancelled(itemstack == null); this.world.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index be2ea6897e74440307561a81dd8ad4f74dd71a60..9a9d56db381af4d99ebd0bfff54ce5ac04e2d768 100644 +index 03de0b6385193b3ba571fd0f8f0bb316a7f158d0..97bace9aac1d907730e991beb3fcd9aa7bbe480c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -183,6 +183,11 @@ public class PurpurWorldConfig { +@@ -189,6 +189,11 @@ public class PurpurWorldConfig { teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); } diff --git a/patches/server/0099-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0099-Add-vindicator-johnny-spawn-chance.patch index f3b34b249..c4bb7c890 100644 --- a/patches/server/0099-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0099-Add-vindicator-johnny-spawn-chance.patch @@ -22,7 +22,7 @@ index 4761ddfedeed54e79788a6f60f06a805efd60ab1..23b350f793539672b6990327ed52e9bb } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9a9d56db381af4d99ebd0bfff54ce5ac04e2d768..affab8e21b8643e9965959561d4f125f75b845b9 100644 +index 97bace9aac1d907730e991beb3fcd9aa7bbe480c..a2aa975ce17ceebee97afb9594ac9f403f162fce 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -40,6 +40,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0102-Dispensers-place-anvils-option.patch b/patches/server/0102-Dispensers-place-anvils-option.patch index f656cc3f0..22ede039e 100644 --- a/patches/server/0102-Dispensers-place-anvils-option.patch +++ b/patches/server/0102-Dispensers-place-anvils-option.patch @@ -61,10 +61,10 @@ index 7b8a470d97ccf0fdcdb8eef9368195486e09913b..d1f9d2884d055efbe72b01f86b0bdaf1 static void a(ISourceBlock isourceblock, Entity entity, EnumDirection enumdirection) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index affab8e21b8643e9965959561d4f125f75b845b9..73b96f608f4e388081f4d7372a0abaed537bf006 100644 +index a2aa975ce17ceebee97afb9594ac9f403f162fce..2d426d35a328ad3d5ce11615dc300bfacfef6df4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -233,8 +233,10 @@ public class PurpurWorldConfig { +@@ -239,8 +239,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0103-Allow-anvil-colors.patch b/patches/server/0103-Allow-anvil-colors.patch index 486a92cfb..05cd0b725 100644 --- a/patches/server/0103-Allow-anvil-colors.patch +++ b/patches/server/0103-Allow-anvil-colors.patch @@ -35,10 +35,10 @@ index 4aa6b035a6a8ea39401c6566cd286de39f60e942..5e4e59e5c8478b76078fdda14e5ced76 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 73b96f608f4e388081f4d7372a0abaed537bf006..40be126a94a56d2b8a6e8101bff9c74aae563c7d 100644 +index 2d426d35a328ad3d5ce11615dc300bfacfef6df4..a1da26acfc1aa6f367206223222bdeb877241ba3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -216,6 +216,11 @@ public class PurpurWorldConfig { +@@ -222,6 +222,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0104-Add-no-tick-block-list.patch b/patches/server/0104-Add-no-tick-block-list.patch index 8809681b8..a4b1cf2ec 100644 --- a/patches/server/0104-Add-no-tick-block-list.patch +++ b/patches/server/0104-Add-no-tick-block-list.patch @@ -43,7 +43,7 @@ index 689504bb79de406c783a0fb926ed1366cbd213e1..437ab11826d12d743d74f0161ba796b0 this.nextTickListFluid = new TickListServer<>(this, (fluidtype) -> { return fluidtype == null || fluidtype == FluidTypes.EMPTY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 40be126a94a56d2b8a6e8101bff9c74aae563c7d..a9fc19ea44e2a46c1f116632e208c57e54077ad8 100644 +index a1da26acfc1aa6f367206223222bdeb877241ba3..8c1842e38a617416040ad1c6776a84252004ff90 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -11,8 +11,10 @@ import org.bukkit.configuration.ConfigurationSection; @@ -57,7 +57,7 @@ index 40be126a94a56d2b8a6e8101bff9c74aae563c7d..a9fc19ea44e2a46c1f116632e208c57e import java.util.logging.Level; import static net.pl3x.purpur.PurpurConfig.log; -@@ -183,6 +185,16 @@ public class PurpurWorldConfig { +@@ -189,6 +191,16 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0105-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0105-Add-option-to-disable-dolphin-treasure-searching.patch index e5117b82e..df0626bda 100644 --- a/patches/server/0105-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0105-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index 2916ee89ef7a14619703dfbe7efd5c78a2f34337..664f9693368852bfb06a7a3bd0862a10 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a9fc19ea44e2a46c1f116632e208c57e54077ad8..b17b839af84c475a2141af5168ff5dd2de3c3c5d 100644 +index 8c1842e38a617416040ad1c6776a84252004ff90..5fe074cab7afdcb1a30801f2f59b5a3080d93759 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -335,6 +335,11 @@ public class PurpurWorldConfig { +@@ -341,6 +341,11 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); } diff --git a/patches/server/0107-Stop-squids-floating-on-top-of-water.patch b/patches/server/0107-Stop-squids-floating-on-top-of-water.patch index a18175397..b45feb0fd 100644 --- a/patches/server/0107-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0107-Stop-squids-floating-on-top-of-water.patch @@ -43,10 +43,10 @@ index b21605a62365fe24f315f35bd840b4740fc80f0e..148e4b158734f136832e5c17bdc69634 protected void initPathfinder() { this.goalSelector.a(0, new EntitySquid.PathfinderGoalSquid(this)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b17b839af84c475a2141af5168ff5dd2de3c3c5d..3502db47aa65fb2be8e83ce64b4eb8914cf17554 100644 +index 5fe074cab7afdcb1a30801f2f59b5a3080d93759..2a997302e1df398f9ca546a1acfa3a9cf70c7d54 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -483,8 +483,10 @@ public class PurpurWorldConfig { +@@ -489,8 +489,10 @@ public class PurpurWorldConfig { } public boolean squidImmuneToEAR = true; diff --git a/patches/server/0108-Ridables.patch b/patches/server/0108-Ridables.patch index 0231ca774..3e2240b7f 100644 --- a/patches/server/0108-Ridables.patch +++ b/patches/server/0108-Ridables.patch @@ -5071,7 +5071,7 @@ index c314a8c9a921a95cea43b748e2037521d948e1e7..59f3122aab9940cb3c3c1efb2664ab08 public static int dungeonSeed = -1; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504e82bf216 100644 +index 2a997302e1df398f9ca546a1acfa3a9cf70c7d54..2644fbcaa8be55b0c09b79baa0727d04d87a70e2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -42,11 +42,6 @@ public class PurpurWorldConfig { @@ -5086,7 +5086,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 private ConfigurationSection getConfigurationSection(String path) { ConfigurationSection section = PurpurConfig.config.getConfigurationSection("world-settings." + worldName + "." + path); return section != null ? section : PurpurConfig.config.getConfigurationSection("world-settings.default." + path); -@@ -309,63 +304,188 @@ public class PurpurWorldConfig { +@@ -315,63 +310,188 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } @@ -5275,7 +5275,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 public float giantStepHeight = 2.0F; public float giantJumpHeight = 1.0F; public double giantMovementSpeed = 0.5D; -@@ -374,6 +494,8 @@ public class PurpurWorldConfig { +@@ -380,6 +500,8 @@ public class PurpurWorldConfig { public boolean giantHaveHostileAI = false; public double giantMaxHealth = 100.0D; private void giantSettings() { @@ -5284,7 +5284,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed); -@@ -388,19 +510,44 @@ public class PurpurWorldConfig { +@@ -394,19 +516,44 @@ public class PurpurWorldConfig { giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth); } @@ -5329,7 +5329,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed); illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange); if (PurpurConfig.version < 8) { -@@ -411,11 +558,76 @@ public class PurpurWorldConfig { +@@ -417,11 +564,76 @@ public class PurpurWorldConfig { illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth); } @@ -5406,7 +5406,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; -@@ -435,6 +647,11 @@ public class PurpurWorldConfig { +@@ -441,6 +653,11 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; private void phantomSettings() { @@ -5418,7 +5418,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); -@@ -455,40 +672,184 @@ public class PurpurWorldConfig { +@@ -461,40 +678,184 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); } @@ -5603,7 +5603,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerCanBeLeashed = false; -@@ -498,6 +859,8 @@ public class PurpurWorldConfig { +@@ -504,6 +865,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; private void villagerSettings() { @@ -5612,7 +5612,7 @@ index 3502db47aa65fb2be8e83ce64b4eb8914cf17554..7ca7888d5e69c860f21ba51054ca1504 villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); -@@ -508,45 +871,108 @@ public class PurpurWorldConfig { +@@ -514,45 +877,108 @@ public class PurpurWorldConfig { villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); } diff --git a/patches/server/0111-Entities-can-use-portals-configuration.patch b/patches/server/0111-Entities-can-use-portals-configuration.patch index 21ffc2084..e19f9e65c 100644 --- a/patches/server/0111-Entities-can-use-portals-configuration.patch +++ b/patches/server/0111-Entities-can-use-portals-configuration.patch @@ -27,10 +27,10 @@ index 52325b6f212455dd19c7ee5b2d85a85f2d077418..d75d34700e7017b3d09f01f2e05ac1aa public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7ca7888d5e69c860f21ba51054ca1504e82bf216..bda0d06dd8d0fc07a313285d714eab55815310d1 100644 +index 2644fbcaa8be55b0c09b79baa0727d04d87a70e2..012246fa0dc596ce13819a33438940c52672e97a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -140,6 +140,7 @@ public class PurpurWorldConfig { +@@ -146,6 +146,7 @@ public class PurpurWorldConfig { public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; @@ -38,7 +38,7 @@ index 7ca7888d5e69c860f21ba51054ca1504e82bf216..bda0d06dd8d0fc07a313285d714eab55 public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; -@@ -148,6 +149,7 @@ public class PurpurWorldConfig { +@@ -154,6 +155,7 @@ public class PurpurWorldConfig { boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); diff --git a/patches/server/0113-Customizable-wither-health-and-healing.patch b/patches/server/0113-Customizable-wither-health-and-healing.patch index e0633625b..1253215f6 100644 --- a/patches/server/0113-Customizable-wither-health-and-healing.patch +++ b/patches/server/0113-Customizable-wither-health-and-healing.patch @@ -44,10 +44,10 @@ index f68cf834aa65cc4bbb1eb9901586395d41770955..71b6fc480617f040029b2201f24d05af //this.bossBattle.setProgress(this.getHealth() / this.getMaxHealth()); // Paper - Moved down diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bda0d06dd8d0fc07a313285d714eab55815310d1..6c50bcc45a4208b1709290944d57793e6f47dcd4 100644 +index 012246fa0dc596ce13819a33438940c52672e97a..8d7afc65bf8b399fa49944fb11d14168a351bb2e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -903,10 +903,21 @@ public class PurpurWorldConfig { +@@ -909,10 +909,21 @@ public class PurpurWorldConfig { public boolean witherRidable = false; public boolean witherRidableInWater = false; public double witherMaxY = 256D; diff --git a/patches/server/0114-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0114-Allow-toggling-special-MobSpawners-per-world.patch index fa3bf1452..96d5b5455 100644 --- a/patches/server/0114-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0114-Allow-toggling-special-MobSpawners-per-world.patch @@ -72,7 +72,7 @@ index d06c47484ea073695f8135a42c7985bfbafd6b9c..4fa3d50b4f9f2623ca9265db9afb9a36 this.worldDataServer = (WorldDataServer) iworlddataserver; worldDataServer.world = this; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6c50bcc45a4208b1709290944d57793e6f47dcd4..b0a0c6cc6b781130cbfd02edc6c5b511090099c0 100644 +index 8d7afc65bf8b399fa49944fb11d14168a351bb2e..853f55b91609df363d92cf403eb76e2353d377b1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -7,6 +7,8 @@ import net.minecraft.server.IRegistry; @@ -118,7 +118,7 @@ index 6c50bcc45a4208b1709290944d57793e6f47dcd4..b0a0c6cc6b781130cbfd02edc6c5b511 private double getDouble(String path, double def) { PurpurConfig.config.addDefault("world-settings.default." + path, def); return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path)); -@@ -155,6 +166,21 @@ public class PurpurWorldConfig { +@@ -161,6 +172,21 @@ public class PurpurWorldConfig { voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); } diff --git a/patches/server/0115-Raid-cooldown-setting.patch b/patches/server/0115-Raid-cooldown-setting.patch index 6178de8ce..92448f4f8 100644 --- a/patches/server/0115-Raid-cooldown-setting.patch +++ b/patches/server/0115-Raid-cooldown-setting.patch @@ -52,10 +52,10 @@ index 826dcf9f7eedc3664d66170b97b2a19552a0dc60..807910c60e6cad58b91474b0477e6fc1 if (!this.raids.containsKey(raid.getId())) { this.raids.put(raid.getId(), raid); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b0a0c6cc6b781130cbfd02edc6c5b511090099c0..8a2724489df13cf04200b1f34b3a76e0cdd679d3 100644 +index 853f55b91609df363d92cf403eb76e2353d377b1..649b1efbb8f637e91f554e6bbb92fd06c26683ae 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -155,6 +155,7 @@ public class PurpurWorldConfig { +@@ -161,6 +161,7 @@ public class PurpurWorldConfig { public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; @@ -63,7 +63,7 @@ index b0a0c6cc6b781130cbfd02edc6c5b511090099c0..8a2724489df13cf04200b1f34b3a76e0 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -164,6 +165,7 @@ public class PurpurWorldConfig { +@@ -170,6 +171,7 @@ public class PurpurWorldConfig { milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); diff --git a/patches/server/0116-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0116-Despawn-rate-config-options-per-projectile-type.patch index 65be246cc..3c8a36391 100644 --- a/patches/server/0116-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0116-Despawn-rate-config-options-per-projectile-type.patch @@ -300,10 +300,10 @@ index b9f8ed355421f24306e0cc2bb976589f4b72b548..58f03f1d2e2f9e4c072c727ae202a9e3 public boolean checkIfLeftOwner() { return this.h(); } // Purpur - OBFHELPER diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8a2724489df13cf04200b1f34b3a76e0cdd679d3..843c57d41106d31ae81f7e926c186db48462cf52 100644 +index 649b1efbb8f637e91f554e6bbb92fd06c26683ae..4e75bad4bb9cce557868152b9f2bc3e8cda4d826 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -147,6 +147,35 @@ public class PurpurWorldConfig { +@@ -153,6 +153,35 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } diff --git a/patches/server/0118-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0118-Add-option-to-disable-zombie-aggressiveness-towards-.patch index a7c30b50c..55f8b099f 100644 --- a/patches/server/0118-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0118-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -69,10 +69,10 @@ index d835ce3fe7c71333efeed5b9cf2a827bebae97f2..556f7a3ebb5c58a87471b2d098f29ffb this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo)); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 843c57d41106d31ae81f7e926c186db48462cf52..c6a09b44b5f7289d81a2fd82f91135a8c2932e1f 100644 +index 4e75bad4bb9cce557868152b9f2bc3e8cda4d826..d98ddaf02456ff5204a498bb6827bfad08cbc8d6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1005,12 +1005,14 @@ public class PurpurWorldConfig { +@@ -1011,12 +1011,14 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; diff --git a/patches/server/0119-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0119-Persistent-TileEntity-Lore-and-DisplayName.patch index 587f7d78f..9f54dc839 100644 --- a/patches/server/0119-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0119-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -165,10 +165,10 @@ index 58d958a88ac5af5b889d719d9f1ea90ce45cf184..8e8749095427b44e04582593114cae8c + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c6a09b44b5f7289d81a2fd82f91135a8c2932e1f..9f26c73dc6685ede1681a6b2ede8c35ccb2580f4 100644 +index d98ddaf02456ff5204a498bb6827bfad08cbc8d6..72a16f70bd5be8232b2bc6caf489c64e34a6694c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -182,6 +182,7 @@ public class PurpurWorldConfig { +@@ -188,6 +188,7 @@ public class PurpurWorldConfig { public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; @@ -176,7 +176,7 @@ index c6a09b44b5f7289d81a2fd82f91135a8c2932e1f..9f26c73dc6685ede1681a6b2ede8c35c public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; -@@ -192,6 +193,7 @@ public class PurpurWorldConfig { +@@ -198,6 +199,7 @@ public class PurpurWorldConfig { entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); diff --git a/patches/server/0121-Flying-squids-Oh-my.patch b/patches/server/0121-Flying-squids-Oh-my.patch index 25e6eeefe..4b91efb23 100644 --- a/patches/server/0121-Flying-squids-Oh-my.patch +++ b/patches/server/0121-Flying-squids-Oh-my.patch @@ -38,10 +38,10 @@ index 70b952f10a2af547f58069977ee135469d02f84d..cee226501690e1c00983a01ac82bc738 float f1 = MathHelper.cos(f) * 0.2F; float f2 = -0.1F + this.b.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9f26c73dc6685ede1681a6b2ede8c35ccb2580f4..de6b4d078c1b41300bf570d7b6fb0b02e979049c 100644 +index 72a16f70bd5be8232b2bc6caf489c64e34a6694c..ae2702c69620c5f30651bb0d52c1694a0dca22a3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -861,10 +861,12 @@ public class PurpurWorldConfig { +@@ -867,10 +867,12 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; diff --git a/patches/server/0122-Infinity-bow-settings.patch b/patches/server/0122-Infinity-bow-settings.patch index 6afd3d687..743be2f4f 100644 --- a/patches/server/0122-Infinity-bow-settings.patch +++ b/patches/server/0122-Infinity-bow-settings.patch @@ -26,10 +26,10 @@ index dd6a93dc78a4589f2c65d1738c432def1285f3e2..8241f3dafa5852bed7a3967e7260b36f entityhuman.b(StatisticList.ITEM_USED.b(this)); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index de6b4d078c1b41300bf570d7b6fb0b02e979049c..aa648cc1e1d05d38ce81d201e31541c49e9a05bb 100644 +index ae2702c69620c5f30651bb0d52c1694a0dca22a3..f2276203d15ab97af87d7bd235eabd84124c2ef3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -147,6 +147,15 @@ public class PurpurWorldConfig { +@@ -153,6 +153,15 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } diff --git a/patches/server/0123-Stonecutter-damage.patch b/patches/server/0123-Stonecutter-damage.patch index 00f27f7bc..c513c8b78 100644 --- a/patches/server/0123-Stonecutter-damage.patch +++ b/patches/server/0123-Stonecutter-damage.patch @@ -39,10 +39,10 @@ index 33804e68931e8b4145b896eedeab79bde78779f2..fabadcd7a21b0e4ad0e2eeadcd8926df } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index aa648cc1e1d05d38ce81d201e31541c49e9a05bb..e853f0e33313cbb7a8f72affebf82476f9eb7f5a 100644 +index f2276203d15ab97af87d7bd235eabd84124c2ef3..99b48db3431e9d328e8c293c5bd8dbd531058c17 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -365,6 +365,11 @@ public class PurpurWorldConfig { +@@ -371,6 +371,11 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0124-Configurable-daylight-cycle.patch b/patches/server/0124-Configurable-daylight-cycle.patch index ac476abd2..8a39e47d8 100644 --- a/patches/server/0124-Configurable-daylight-cycle.patch +++ b/patches/server/0124-Configurable-daylight-cycle.patch @@ -74,7 +74,7 @@ index 4fa3d50b4f9f2623ca9265db9afb9a36548b5753..802460402d546262fc50a07901b1d30d public void doMobSpawning(boolean flag, boolean flag1) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e853f0e33313cbb7a8f72affebf82476f9eb7f5a..bf403f3d02fe63df4e17ec461cc818861cc956a3 100644 +index 99b48db3431e9d328e8c293c5bd8dbd531058c17..8f4c9c367fa8101e163bd7497230b3b50398f0fc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -116,6 +116,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0126-Infinite-fuel-furnace.patch b/patches/server/0126-Infinite-fuel-furnace.patch index 2be0e3e44..1e5f480d5 100644 --- a/patches/server/0126-Infinite-fuel-furnace.patch +++ b/patches/server/0126-Infinite-fuel-furnace.patch @@ -41,10 +41,10 @@ index e75e676d196d9f5a3409ec50645fab611b0afdad..76ea1d003b43d822e2b85eec3b874015 if (flag1) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bf403f3d02fe63df4e17ec461cc818861cc956a3..07519a988c61b23904f5c70becbc6c525456c39f 100644 +index 8f4c9c367fa8101e163bd7497230b3b50398f0fc..4ad8e9abc52fcd0b46ff0e6153c2e52d6467f1f9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -333,6 +333,11 @@ public class PurpurWorldConfig { +@@ -339,6 +339,11 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0129-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0129-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index 8576a2ab5..cb14440e3 100644 --- a/patches/server/0129-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0129-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -24,10 +24,10 @@ index 8dd48669c29dd51ed4d535dad0b0319f4bb2250c..099e0d3df219408ebe2a741a02e53eb9 return; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 07519a988c61b23904f5c70becbc6c525456c39f..bdbf949e3cbef495bcbfb7d8b97a88107b7d110f 100644 +index 4ad8e9abc52fcd0b46ff0e6153c2e52d6467f1f9..12f7a05843b261483bf9e7eadab639bdcc0473cc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -329,8 +329,10 @@ public class PurpurWorldConfig { +@@ -335,8 +335,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0130-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0130-Add-adjustable-breeding-cooldown-to-config.patch index 26ddfea15..3824f5eb7 100644 --- a/patches/server/0130-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0130-Add-adjustable-breeding-cooldown-to-config.patch @@ -94,10 +94,10 @@ index aa1b037c0103552761b81318f1d2ad8215bd0370..91aa8a2bc111ee6935ada0ae471fe1a3 this.generator = gen; this.world = new CraftWorld((WorldServer) this, gen, env); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bdbf949e3cbef495bcbfb7d8b97a88107b7d110f..309d15804eb7e5087805724c401461375b4745cc 100644 +index 12f7a05843b261483bf9e7eadab639bdcc0473cc..3075467164d6ce4b5fc570297eb6ace27f9aee03 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -202,6 +202,7 @@ public class PurpurWorldConfig { +@@ -208,6 +208,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; @@ -105,7 +105,7 @@ index bdbf949e3cbef495bcbfb7d8b97a88107b7d110f..309d15804eb7e5087805724c40146137 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -213,6 +214,7 @@ public class PurpurWorldConfig { +@@ -219,6 +220,7 @@ public class PurpurWorldConfig { tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); diff --git a/patches/server/0131-Make-animal-breeding-times-configurable.patch b/patches/server/0131-Make-animal-breeding-times-configurable.patch index 583d0a407..eb1ee1141 100644 --- a/patches/server/0131-Make-animal-breeding-times-configurable.patch +++ b/patches/server/0131-Make-animal-breeding-times-configurable.patch @@ -398,10 +398,10 @@ 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 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a2fb2e530 100644 +index 3075467164d6ce4b5fc570297eb6ace27f9aee03..0f23e96dd6cc109eed3d6ec1c04ac9c36d462ed6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -416,10 +416,12 @@ public class PurpurWorldConfig { +@@ -422,10 +422,12 @@ public class PurpurWorldConfig { public boolean beeRidable = false; public boolean beeRidableInWater = false; public double beeMaxY = 256D; @@ -414,7 +414,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean blazeRidable = false; -@@ -436,12 +438,14 @@ public class PurpurWorldConfig { +@@ -442,12 +444,14 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -429,7 +429,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean caveSpiderRidable = false; -@@ -454,10 +458,12 @@ public class PurpurWorldConfig { +@@ -460,10 +464,12 @@ public class PurpurWorldConfig { public boolean chickenRidable = false; public boolean chickenRidableInWater = false; public boolean chickenRetaliate = false; @@ -442,7 +442,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean codRidable = false; -@@ -468,10 +474,12 @@ public class PurpurWorldConfig { +@@ -474,10 +480,12 @@ public class PurpurWorldConfig { public boolean cowRidable = false; public boolean cowRidableInWater = false; public int cowFeedMushrooms = 0; @@ -455,7 +455,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean creeperRidable = false; -@@ -499,8 +507,10 @@ public class PurpurWorldConfig { +@@ -505,8 +513,10 @@ public class PurpurWorldConfig { } public boolean donkeyRidableInWater = false; @@ -466,7 +466,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean drownedRidable = false; -@@ -560,10 +570,12 @@ public class PurpurWorldConfig { +@@ -566,10 +576,12 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; public boolean foxTypeChangesWithTulips = false; @@ -479,7 +479,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean ghastRidable = false; -@@ -608,14 +620,18 @@ public class PurpurWorldConfig { +@@ -614,14 +626,18 @@ public class PurpurWorldConfig { public boolean hoglinRidable = false; public boolean hoglinRidableInWater = false; @@ -498,7 +498,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean huskRidable = false; -@@ -660,9 +676,11 @@ public class PurpurWorldConfig { +@@ -666,9 +682,11 @@ public class PurpurWorldConfig { public boolean llamaRidable = false; public boolean llamaRidableInWater = false; @@ -510,7 +510,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean llamaTraderRidable = false; -@@ -681,28 +699,36 @@ public class PurpurWorldConfig { +@@ -687,28 +705,36 @@ public class PurpurWorldConfig { public boolean mooshroomRidable = false; public boolean mooshroomRidableInWater = false; @@ -547,7 +547,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean parrotRidable = false; -@@ -766,10 +792,12 @@ public class PurpurWorldConfig { +@@ -772,10 +798,12 @@ public class PurpurWorldConfig { public boolean pigRidable = false; public boolean pigRidableInWater = false; public boolean pigGiveSaddleBack = false; @@ -560,7 +560,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean piglinRidable = false; -@@ -797,12 +825,14 @@ public class PurpurWorldConfig { +@@ -803,12 +831,14 @@ public class PurpurWorldConfig { public boolean polarBearRidableInWater = false; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -575,7 +575,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean pufferfishRidable = false; -@@ -814,11 +844,13 @@ public class PurpurWorldConfig { +@@ -820,11 +850,13 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = false; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -589,7 +589,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean ravagerRidable = false; -@@ -835,9 +867,11 @@ public class PurpurWorldConfig { +@@ -841,9 +873,11 @@ public class PurpurWorldConfig { public boolean sheepRidable = false; public boolean sheepRidableInWater = false; @@ -601,7 +601,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean shulkerRidable = false; -@@ -915,9 +949,11 @@ public class PurpurWorldConfig { +@@ -921,9 +955,11 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; @@ -613,7 +613,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean tropicalFishRidable = false; -@@ -927,9 +963,11 @@ public class PurpurWorldConfig { +@@ -933,9 +969,11 @@ public class PurpurWorldConfig { public boolean turtleRidable = false; public boolean turtleRidableInWater = false; @@ -625,7 +625,7 @@ index 309d15804eb7e5087805724c401461375b4745cc..ef0c2320780c623df4dd638c9272110a } public boolean vexRidable = false; -@@ -1022,9 +1060,11 @@ public class PurpurWorldConfig { +@@ -1028,9 +1066,11 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0132-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0132-Apply-display-names-from-item-forms-of-entities-to-e.patch index 1010200fb..744da82c8 100644 --- a/patches/server/0132-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0132-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -188,7 +188,7 @@ index f5802f14b84a5b177ddbdb53a6c3ce892ef310f6..d65375f8849dcbcad4f0fbc456a00524 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 ef0c2320780c623df4dd638c9272110a2fb2e530..458aa1882da2015928c334e0f40b14ee36ba667d 100644 +index 0f23e96dd6cc109eed3d6ec1c04ac9c36d462ed6..d7d91d05127716210ddfd6ac3886995b3e821f81 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 { @@ -202,7 +202,7 @@ index ef0c2320780c623df4dd638c9272110a2fb2e530..458aa1882da2015928c334e0f40b14ee armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } -@@ -199,6 +201,7 @@ public class PurpurWorldConfig { +@@ -205,6 +207,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; public boolean persistentTileEntityDisplayNames = false; @@ -210,7 +210,7 @@ index ef0c2320780c623df4dd638c9272110a2fb2e530..458aa1882da2015928c334e0f40b14ee public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; -@@ -211,6 +214,7 @@ public class PurpurWorldConfig { +@@ -217,6 +220,7 @@ public class PurpurWorldConfig { entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); diff --git a/patches/server/0133-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0133-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index eb2daa954..1f718ce41 100644 --- a/patches/server/0133-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0133-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 458aa1882da2015928c334e0f40b14ee36ba667d..d4e876fb5dc5f405d5a06982589bf8b4e05b2394 100644 +index d7d91d05127716210ddfd6ac3886995b3e821f81..4b0c9b3e83bfdd92645888a15fa32ab147acc2de 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/0134-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0134-Add-twisting-and-weeping-vines-growth-rates.patch index 1e15b10cb..9f4d51a85 100644 --- a/patches/server/0134-Add-twisting-and-weeping-vines-growth-rates.patch +++ b/patches/server/0134-Add-twisting-and-weeping-vines-growth-rates.patch @@ -67,10 +67,10 @@ 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 d4e876fb5dc5f405d5a06982589bf8b4e05b2394..cf6fa370ce968a882311f1403556cea618c7c7fe 100644 +index 4b0c9b3e83bfdd92645888a15fa32ab147acc2de..172fd9bdf9d5e8030f1fcc356195b2889ccbfe3a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -401,6 +401,16 @@ public class PurpurWorldConfig { +@@ -407,6 +407,16 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } diff --git a/patches/server/0135-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0135-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index 1c3c2ec1e..c9d181400 100644 --- a/patches/server/0135-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0135-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -89,10 +89,10 @@ 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 cf6fa370ce968a882311f1403556cea618c7c7fe..91ba7f0b3ddb2846119e4b74ba501f6b40938702 100644 +index 172fd9bdf9d5e8030f1fcc356195b2889ccbfe3a..cf540ac9bc90ba49c3769a0d42fdf2a8e013e62c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -348,6 +348,11 @@ public class PurpurWorldConfig { +@@ -354,6 +354,11 @@ public class PurpurWorldConfig { furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel); } @@ -104,7 +104,7 @@ index cf6fa370ce968a882311f1403556cea618c7c7fe..91ba7f0b3ddb2846119e4b74ba501f6b public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; public int lavaSpeedNether = 10; -@@ -402,13 +407,17 @@ public class PurpurWorldConfig { +@@ -408,13 +413,17 @@ public class PurpurWorldConfig { } public double twistingVinesGrowthModifier = 0.10D; diff --git a/patches/server/0136-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0136-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 290afad73..bc2fdabdf 100644 --- a/patches/server/0136-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0136-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ 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 91ba7f0b3ddb2846119e4b74ba501f6b40938702..5df5f771dfcdd01386600531defa4ab1b612160b 100644 +index cf540ac9bc90ba49c3769a0d42fdf2a8e013e62c..c68f2cc8a67fabf0950ee31317fb612014123be5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -572,10 +572,12 @@ public class PurpurWorldConfig { +@@ -578,10 +578,12 @@ public class PurpurWorldConfig { public boolean endermanRidable = false; public boolean endermanRidableInWater = false; public boolean endermanAllowGriefing = true; diff --git a/patches/server/0138-Add-configurable-snowball-damage.patch b/patches/server/0138-Add-configurable-snowball-damage.patch index 00cd9891a..f5948910e 100644 --- a/patches/server/0138-Add-configurable-snowball-damage.patch +++ b/patches/server/0138-Add-configurable-snowball-damage.patch @@ -18,10 +18,10 @@ 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 5df5f771dfcdd01386600531defa4ab1b612160b..478184f94b146419f9a3107b4f8fd3b08e914588 100644 +index c68f2cc8a67fabf0950ee31317fb612014123be5..a2e558a2dcb813ce1f04fc96c1a874ed56361b22 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -196,6 +196,11 @@ public class PurpurWorldConfig { +@@ -202,6 +202,11 @@ public class PurpurWorldConfig { witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); } diff --git a/patches/server/0139-Zombie-break-door-minimum-difficulty-option.patch b/patches/server/0139-Zombie-break-door-minimum-difficulty-option.patch index d6e9c5ae4..f41c3979d 100644 --- a/patches/server/0139-Zombie-break-door-minimum-difficulty-option.patch +++ b/patches/server/0139-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 478184f94b146419f9a3107b4f8fd3b08e914588..e6ca3585b8b34311ae2596b610e85953f1cf2a13 100644 +index a2e558a2dcb813ce1f04fc96c1a874ed56361b22..7ccfce8887f9d241195b08797d141c4d78ab40b3 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 478184f94b146419f9a3107b4f8fd3b08e914588..e6ca3585b8b34311ae2596b610e85953 import net.minecraft.server.Explosion; import net.minecraft.server.IRegistry; import net.minecraft.server.Item; -@@ -1112,6 +1113,7 @@ public class PurpurWorldConfig { +@@ -1118,6 +1119,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -59,7 +59,7 @@ index 478184f94b146419f9a3107b4f8fd3b08e914588..e6ca3585b8b34311ae2596b610e85953 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1119,6 +1121,11 @@ public class PurpurWorldConfig { +@@ -1125,6 +1127,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/0143-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0143-Changeable-Mob-Left-Handed-Chance.patch index c64c4176b..6d2604868 100644 --- a/patches/server/0143-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0143-Changeable-Mob-Left-Handed-Chance.patch @@ -18,7 +18,7 @@ index d1ed9856d3362e1bed37d60c268b7e91c404d25d..d7ceb4ff6aa424d620817ddcc9201fc0 } 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 e6ca3585b8b34311ae2596b610e85953f1cf2a13..b426fffac370530ee8ae5c0134fc24bdfb9dcf39 100644 +index 7ccfce8887f9d241195b08797d141c4d78ab40b3..54205c55ef3314e06c60c64c1984baae21dbdd1d 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 { @@ -31,4 +31,4 @@ index e6ca3585b8b34311ae2596b610e85953f1cf2a13..b426fffac370530ee8ae5c0134fc24bd + entityLeftHandedChance = (float) getDouble("gameplay-mechanics.entity-left-handed-chance", entityLeftHandedChance); } - public List itemImmuneToExplosion = new ArrayList<>(); + public List itemImmuneToCactus = new ArrayList<>(); diff --git a/patches/server/0144-Add-boat-fall-damage-config.patch b/patches/server/0144-Add-boat-fall-damage-config.patch index d5ab56bf1..5cee2e15a 100644 --- a/patches/server/0144-Add-boat-fall-damage-config.patch +++ b/patches/server/0144-Add-boat-fall-damage-config.patch @@ -27,10 +27,10 @@ index d677b4477a871790377348a112fa267181a70cda..157300c0320a136d36994d463a69a5b0 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 b426fffac370530ee8ae5c0134fc24bdfb9dcf39..472db0b81c6b072941a64d2e2f0cf2aebd3408b7 100644 +index 54205c55ef3314e06c60c64c1984baae21dbdd1d..35ddda87a31df52ef594e33752afa2a39255b6df 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -206,6 +206,7 @@ public class PurpurWorldConfig { +@@ -212,6 +212,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; @@ -38,7 +38,7 @@ index b426fffac370530ee8ae5c0134fc24bdfb9dcf39..472db0b81c6b072941a64d2e2f0cf2ae public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesCanUsePortals = true; -@@ -219,6 +220,7 @@ public class PurpurWorldConfig { +@@ -225,6 +226,7 @@ public class PurpurWorldConfig { private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); diff --git a/patches/server/0145-Config-migration-disable-saving-projectiles-to-disk-.patch b/patches/server/0145-Config-migration-disable-saving-projectiles-to-disk-.patch index 18ffc4dc1..abdd86faa 100644 --- a/patches/server/0145-Config-migration-disable-saving-projectiles-to-disk-.patch +++ b/patches/server/0145-Config-migration-disable-saving-projectiles-to-disk-.patch @@ -36,7 +36,7 @@ index 9294bfab12ef88690e359ff90551c5c615cdd3dd..e928716d7a2dcb390507b746763e6f7e 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 472db0b81c6b072941a64d2e2f0cf2aebd3408b7..12a4a4b2874212a192ed05498a0238e3615cd548 100644 +index 35ddda87a31df52ef594e33752afa2a39255b6df..274fd6e16c96b38ba256ae9f2b537e2517c8b1e0 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/0146-Snow-Golem-rate-of-fire-config.patch b/patches/server/0146-Snow-Golem-rate-of-fire-config.patch index cbc0fcdc3..c9e9ed4ab 100644 --- a/patches/server/0146-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0146-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index e980da14cf4f34c87a88ffd2b908223808404966..e5b3d298f52006f39a36cfdd95097e7b 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 12a4a4b2874212a192ed05498a0238e3615cd548..823e72736110e3ef13aa763a1a94ce759a6d5f76 100644 +index 274fd6e16c96b38ba256ae9f2b537e2517c8b1e0..b67e1afe23edaeaef7fd10a2feb05cafc1ab3088 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -963,12 +963,20 @@ public class PurpurWorldConfig { +@@ -969,12 +969,20 @@ public class PurpurWorldConfig { public boolean snowGolemLeaveTrailWhenRidden = false; public boolean snowGolemDropsPumpkin = false; public boolean snowGolemPutPumpkinBack = false; diff --git a/patches/server/0149-Config-migration-climbing-should-not-bypass-cramming.patch b/patches/server/0149-Config-migration-climbing-should-not-bypass-cramming.patch index f306d2447..6e563380e 100644 --- a/patches/server/0149-Config-migration-climbing-should-not-bypass-cramming.patch +++ b/patches/server/0149-Config-migration-climbing-should-not-bypass-cramming.patch @@ -28,7 +28,7 @@ index 7aee1687571010da55e8bb776ec1c658748e979a..645213cacb6061f84da7a1c9d6f2fa94 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 823e72736110e3ef13aa763a1a94ce759a6d5f76..1c9aaf92e8c2f23f1d65f42fb044a2183b99e214 100644 +index b67e1afe23edaeaef7fd10a2feb05cafc1ab3088..860a2bd0d776edf65f51658379621762a496ddcd 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/0150-Lobotomize-stuck-villagers.patch b/patches/server/0150-Lobotomize-stuck-villagers.patch index dbb267d42..336c33cd5 100644 --- a/patches/server/0150-Lobotomize-stuck-villagers.patch +++ b/patches/server/0150-Lobotomize-stuck-villagers.patch @@ -88,10 +88,10 @@ 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 1c9aaf92e8c2f23f1d65f42fb044a2183b99e214..99e4cce00d644dd7bb2183058847380c2046889c 100644 +index 860a2bd0d776edf65f51658379621762a496ddcd..f4f1ff35f98d0ab461266aff82b2a913499a474d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1057,6 +1057,8 @@ public class PurpurWorldConfig { +@@ -1063,6 +1063,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; @@ -100,7 +100,7 @@ index 1c9aaf92e8c2f23f1d65f42fb044a2183b99e214..99e4cce00d644dd7bb2183058847380c private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1068,6 +1070,13 @@ public class PurpurWorldConfig { +@@ -1074,6 +1076,13 @@ 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); diff --git a/patches/server/0151-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0151-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 3909528f2..587426e6f 100644 --- a/patches/server/0151-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0151-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -234,10 +234,10 @@ 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 99e4cce00d644dd7bb2183058847380c2046889c..6ae81e9e118632a0f3fa77870bbe1ec65aa406eb 100644 +index f4f1ff35f98d0ab461266aff82b2a913499a474d..6ac735f818ab6f3b5ad61ee1e77fb8659891cee2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1059,6 +1059,8 @@ public class PurpurWorldConfig { +@@ -1065,6 +1065,8 @@ public class PurpurWorldConfig { public boolean villagerCanBreed = true; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheck = 60; @@ -246,7 +246,7 @@ index 99e4cce00d644dd7bb2183058847380c2046889c..6ae81e9e118632a0f3fa77870bbe1ec6 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1077,6 +1079,8 @@ public class PurpurWorldConfig { +@@ -1083,6 +1085,8 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); diff --git a/patches/server/0152-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0152-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index aa0c642e8..27d92873f 100644 --- a/patches/server/0152-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0152-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 6ae81e9e118632a0f3fa77870bbe1ec65aa406eb..fcb7042d55a8942ec9f2aa77f0a67591c179be12 100644 +index 6ac735f818ab6f3b5ad61ee1e77fb8659891cee2..17b4066ac9df4c38c277d115fb971b1f6ef67148 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1190,12 +1190,14 @@ public class PurpurWorldConfig { +@@ -1196,12 +1196,14 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; diff --git a/patches/server/0154-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0154-Configurable-chance-for-wolves-to-spawn-rabid.patch index 71c71dacd..1c3abf84c 100644 --- a/patches/server/0154-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0154-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 fcb7042d55a8942ec9f2aa77f0a67591c179be12..79bbe93e37d9bbdc531f92d94f43277c247111c1 100644 +index 17b4066ac9df4c38c277d115fb971b1f6ef67148..c24994c38a4f31ba294a7f232243102299e636a0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1141,10 +1141,14 @@ public class PurpurWorldConfig { +@@ -1147,10 +1147,14 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0155-Configurable-default-wolf-collar-color.patch b/patches/server/0155-Configurable-default-wolf-collar-color.patch index cc56b4467..8ad8e9fad 100644 --- a/patches/server/0155-Configurable-default-wolf-collar-color.patch +++ b/patches/server/0155-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 79bbe93e37d9bbdc531f92d94f43277c247111c1..d3235065b847993f38e0e4e781269d28313e23ba 100644 +index c24994c38a4f31ba294a7f232243102299e636a0..d0f8d2fb3b6bf65ae06a020b088d9e4ec348a673 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 79bbe93e37d9bbdc531f92d94f43277c247111c1..d3235065b847993f38e0e4e781269d28 import net.minecraft.server.EnumDifficulty; import net.minecraft.server.Explosion; import net.minecraft.server.IRegistry; -@@ -1141,12 +1142,18 @@ public class PurpurWorldConfig { +@@ -1147,12 +1148,18 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0156-Configurable-entity-base-attributes.patch b/patches/server/0156-Configurable-entity-base-attributes.patch index 1001d0fe3..f6c3e89d7 100644 --- a/patches/server/0156-Configurable-entity-base-attributes.patch +++ b/patches/server/0156-Configurable-entity-base-attributes.patch @@ -1314,10 +1314,10 @@ 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 d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc00d585270 100644 +index d0f8d2fb3b6bf65ae06a020b088d9e4ec348a673..112b8e595ac0562c490b82083452ef4ebfcb123e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -466,30 +466,58 @@ public class PurpurWorldConfig { +@@ -472,30 +472,58 @@ public class PurpurWorldConfig { public boolean batRidable = false; public boolean batRidableInWater = false; public double batMaxY = 256D; @@ -1376,7 +1376,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean catRidable = false; -@@ -498,6 +526,7 @@ public class PurpurWorldConfig { +@@ -504,6 +532,7 @@ public class PurpurWorldConfig { public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; @@ -1384,7 +1384,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -505,51 +534,92 @@ public class PurpurWorldConfig { +@@ -511,51 +540,92 @@ public class PurpurWorldConfig { catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); @@ -1477,7 +1477,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean dolphinRidable = false; -@@ -557,19 +627,45 @@ public class PurpurWorldConfig { +@@ -563,19 +633,45 @@ public class PurpurWorldConfig { public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; public boolean dolphinDisableTreasureSearching = false; @@ -1523,7 +1523,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean drownedRidable = false; -@@ -577,17 +673,33 @@ public class PurpurWorldConfig { +@@ -583,17 +679,33 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -1557,7 +1557,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean enderDragonRidable = false; -@@ -595,57 +707,103 @@ public class PurpurWorldConfig { +@@ -601,57 +713,103 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 256D; public boolean enderDragonAlwaysDropsEggBlock = false; public boolean enderDragonAlwaysDropsFullExp = false; @@ -1661,7 +1661,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean giantRidable = false; -@@ -668,31 +826,68 @@ public class PurpurWorldConfig { +@@ -674,31 +832,68 @@ public class PurpurWorldConfig { giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); if (PurpurConfig.version < 8) { double oldValue = getDouble("mobs.giant.max-health", giantMaxHealth); @@ -1732,7 +1732,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean huskRidable = false; -@@ -700,12 +895,21 @@ public class PurpurWorldConfig { +@@ -706,12 +901,21 @@ public class PurpurWorldConfig { public boolean huskJockeyOnlyBaby = true; public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; @@ -1754,7 +1754,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean illusionerRidable = false; -@@ -720,85 +924,188 @@ public class PurpurWorldConfig { +@@ -726,85 +930,188 @@ public class PurpurWorldConfig { illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange); if (PurpurConfig.version < 8) { double oldValue = getDouble("mobs.illusioner.max-health", illusionerMaxHealth); @@ -1945,7 +1945,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean phantomRidable = false; -@@ -824,6 +1131,7 @@ public class PurpurWorldConfig { +@@ -830,6 +1137,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -1953,7 +1953,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -848,38 +1156,72 @@ public class PurpurWorldConfig { +@@ -854,38 +1162,72 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); @@ -2026,7 +2026,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean polarBearRidable = false; -@@ -887,6 +1229,7 @@ public class PurpurWorldConfig { +@@ -893,6 +1235,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -2034,7 +2034,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -894,11 +1237,24 @@ public class PurpurWorldConfig { +@@ -900,11 +1243,24 @@ public class PurpurWorldConfig { Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -2059,7 +2059,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean rabbitRidable = false; -@@ -906,68 +1262,142 @@ public class PurpurWorldConfig { +@@ -912,68 +1268,142 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -2202,7 +2202,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean snowGolemRidable = false; -@@ -979,6 +1409,7 @@ public class PurpurWorldConfig { +@@ -985,6 +1415,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -2210,7 +2210,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -989,63 +1420,118 @@ public class PurpurWorldConfig { +@@ -995,63 +1426,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); @@ -2329,7 +2329,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean villagerRidable = false; -@@ -1062,6 +1548,7 @@ public class PurpurWorldConfig { +@@ -1068,6 +1554,7 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheck = 60; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -2337,7 +2337,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1082,33 +1569,60 @@ public class PurpurWorldConfig { +@@ -1088,33 +1575,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); @@ -2398,7 +2398,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean witherRidable = false; -@@ -1125,19 +1639,30 @@ public class PurpurWorldConfig { +@@ -1131,19 +1645,30 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); if (PurpurConfig.version < 8) { double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth); @@ -2431,7 +2431,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean wolfRidable = false; -@@ -1146,6 +1671,7 @@ public class PurpurWorldConfig { +@@ -1152,6 +1677,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2439,7 +2439,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1157,13 +1683,26 @@ public class PurpurWorldConfig { +@@ -1163,13 +1689,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); @@ -2466,7 +2466,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean zombieRidable = false; -@@ -1173,6 +1712,8 @@ public class PurpurWorldConfig { +@@ -1179,6 +1718,8 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD; @@ -2475,7 +2475,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1185,15 +1726,40 @@ public class PurpurWorldConfig { +@@ -1191,15 +1732,40 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { zombieBreakDoorMinDifficulty = EnumDifficulty.HARD; } @@ -2516,7 +2516,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean zombifiedPiglinRidable = false; -@@ -1202,6 +1768,8 @@ public class PurpurWorldConfig { +@@ -1208,6 +1774,8 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2525,7 +2525,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1209,6 +1777,13 @@ public class PurpurWorldConfig { +@@ -1215,6 +1783,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); @@ -2539,7 +2539,7 @@ index d3235065b847993f38e0e4e781269d28313e23ba..279b9677d724f1dbbdb7efe665c4ebc0 } public boolean zombieVillagerRidable = false; -@@ -1216,11 +1791,20 @@ public class PurpurWorldConfig { +@@ -1222,11 +1797,20 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; diff --git a/patches/server/0157-Phantom-flames-on-swoop.patch b/patches/server/0157-Phantom-flames-on-swoop.patch index 99a113744..1629c12f4 100644 --- a/patches/server/0157-Phantom-flames-on-swoop.patch +++ b/patches/server/0157-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 25345d8d585735af407787f2c26fe92674721239..087a91fedc49aaf6e74b81b90494849c @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 279b9677d724f1dbbdb7efe665c4ebc00d585270..0beaa5971f7e45b5ee51f22a62f10eb1bc78957a 100644 +index 112b8e595ac0562c490b82083452ef4ebfcb123e..0a3399a2bdfe9fca846233b60a09ca375e41927e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1131,6 +1131,7 @@ public class PurpurWorldConfig { +@@ -1137,6 +1137,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -28,7 +28,7 @@ index 279b9677d724f1dbbdb7efe665c4ebc00d585270..0beaa5971f7e45b5ee51f22a62f10eb1 public double phantomMaxHealth = 20.0D; private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); -@@ -1156,6 +1157,7 @@ public class PurpurWorldConfig { +@@ -1162,6 +1163,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); diff --git a/patches/server/0158-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0158-Option-for-chests-to-open-even-with-a-solid-block-on.patch index 09732f662..9fdeb38cd 100644 --- a/patches/server/0158-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0158-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,10 +17,10 @@ index 9e5e6de52efabe9126f6c47acb35fa1dc461ff4f..487b281cf53d3482853d56ee1e90a329 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 0beaa5971f7e45b5ee51f22a62f10eb1bc78957a..c8b0fc1353b56d696d72e5ca1203f5f9b690cf3e 100644 +index 0a3399a2bdfe9fca846233b60a09ca375e41927e..2a1ba055ee8ae733ed0958b143d7db71de3c091d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -363,6 +363,11 @@ public class PurpurWorldConfig { +@@ -369,6 +369,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0160-Striders-give-saddle-back.patch b/patches/server/0160-Striders-give-saddle-back.patch index 34f18c2ef..f5933ed50 100644 --- a/patches/server/0160-Striders-give-saddle-back.patch +++ b/patches/server/0160-Striders-give-saddle-back.patch @@ -28,10 +28,10 @@ index a0bb64bea373c678c519e3fae8f808fd36e1ee4f..11911b10ddc6e2a681f2eda313a6e7c6 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c8b0fc1353b56d696d72e5ca1203f5f9b690cf3e..c04771eb454a4d3c04ccda2dfb632d9e029cc02f 100644 +index 2a1ba055ee8ae733ed0958b143d7db71de3c091d..90c6c0d8303eec8f041b6c8f287d93aefe794f74 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1484,11 +1484,13 @@ public class PurpurWorldConfig { +@@ -1490,11 +1490,13 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; public int striderBreedingTicks = 6000; diff --git a/patches/server/0162-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0162-Full-netherite-armor-grants-fire-resistance.patch index 40a359c93..5c662482f 100644 --- a/patches/server/0162-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0162-Full-netherite-armor-grants-fire-resistance.patch @@ -26,10 +26,10 @@ index a72ce4ea5a45fce35a47fd5f9c21b9500adbe265..d9d7a5df16ae9854a69103a936de89b2 protected ItemCooldown i() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c04771eb454a4d3c04ccda2dfb632d9e029cc02f..dfac03988f3f6bc12f4d48941b3bcde1f2819593 100644 +index 90c6c0d8303eec8f041b6c8f287d93aefe794f74..cd2a585afc338f92e717613f956d8c49192d93fd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -292,6 +292,19 @@ public class PurpurWorldConfig { +@@ -298,6 +298,19 @@ public class PurpurWorldConfig { playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); } diff --git a/patches/server/0164-Add-MC-4-fix-back.patch b/patches/server/0164-Add-MC-4-fix-back.patch index 3f950a972..89551dda4 100644 --- a/patches/server/0164-Add-MC-4-fix-back.patch +++ b/patches/server/0164-Add-MC-4-fix-back.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add MC-4 fix back diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index cbe03923d468bf75adc10245ebd9f63ff10987f9..b47481e72cb63c8652fbdf292be29af14c796103 100644 +index ec37d2c3b0393c43097bdfc6064ebe3ab8bc28ce..bd8b130f0d370285b956ee8d8932cb95cc349163 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java -@@ -536,7 +536,7 @@ public class EntityItem extends Entity { +@@ -542,7 +542,7 @@ public class EntityItem extends Entity { // Paper start - fix MC-4 public void setPositionRaw(double x, double y, double z) { diff --git a/patches/server/0165-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0165-Add-mobGriefing-bypass-to-everything-affected.patch index a7621b113..61e0977af 100644 --- a/patches/server/0165-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0165-Add-mobGriefing-bypass-to-everything-affected.patch @@ -338,10 +338,10 @@ 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 dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6fea28d033 100644 +index cd2a585afc338f92e717613f956d8c49192d93fd..8df2d112f3d030754309710f7c05bf2612ea0528 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -234,6 +234,7 @@ public class PurpurWorldConfig { +@@ -240,6 +240,7 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesCanUsePortals = true; @@ -349,7 +349,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f public boolean milkCuresBadOmen = true; public boolean persistentTileEntityDisplayNames = false; public boolean persistentDroppableEntityDisplayNames = false; -@@ -248,6 +249,7 @@ public class PurpurWorldConfig { +@@ -254,6 +255,7 @@ public class PurpurWorldConfig { disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); @@ -357,7 +357,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); -@@ -388,9 +390,11 @@ public class PurpurWorldConfig { +@@ -394,9 +396,11 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } @@ -369,7 +369,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); } -@@ -449,10 +453,12 @@ public class PurpurWorldConfig { +@@ -455,10 +459,12 @@ public class PurpurWorldConfig { stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } @@ -382,7 +382,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs); turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); -@@ -725,6 +731,7 @@ public class PurpurWorldConfig { +@@ -731,6 +737,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 256D; public boolean enderDragonAlwaysDropsEggBlock = false; public boolean enderDragonAlwaysDropsFullExp = false; @@ -390,7 +390,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f public double enderDragonMaxHealth = 200.0D; private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); -@@ -732,6 +739,7 @@ public class PurpurWorldConfig { +@@ -738,6 +745,7 @@ public class PurpurWorldConfig { enderDragonMaxY = getDouble("mobs.ender_dragon.ridable-max-y", enderDragonMaxY); enderDragonAlwaysDropsEggBlock = getBoolean("mobs.ender_dragon.always-drop-egg-block", enderDragonAlwaysDropsEggBlock); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -398,7 +398,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f if (PurpurConfig.version < 8) { double oldValue = getDouble("mobs.ender_dragon.max-health", enderDragonMaxHealth); set("mobs.ender_dragon.max-health", null); -@@ -747,12 +755,14 @@ public class PurpurWorldConfig { +@@ -753,12 +761,14 @@ public class PurpurWorldConfig { public boolean endermanRidable = false; public boolean endermanRidableInWater = false; public boolean endermanAllowGriefing = true; @@ -413,7 +413,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.enderman.attributes.max-health", endermanMaxHealth); -@@ -778,10 +788,12 @@ public class PurpurWorldConfig { +@@ -784,10 +794,12 @@ public class PurpurWorldConfig { public boolean evokerRidable = false; public boolean evokerRidableInWater = false; @@ -426,7 +426,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.evoker.attributes.max-health", evokerMaxHealth); set("mobs.evoker.attributes.max-health", null); -@@ -792,12 +804,14 @@ public class PurpurWorldConfig { +@@ -798,12 +810,14 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; @@ -441,7 +441,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); if (PurpurConfig.version < 10) { -@@ -1232,10 +1246,12 @@ public class PurpurWorldConfig { +@@ -1238,10 +1252,12 @@ public class PurpurWorldConfig { public boolean pillagerRidable = false; public boolean pillagerRidableInWater = false; @@ -454,7 +454,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.pillager.attributes.max-health", pillagerMaxHealth); set("mobs.pillager.attributes.max-health", null); -@@ -1279,6 +1295,7 @@ public class PurpurWorldConfig { +@@ -1285,6 +1301,7 @@ public class PurpurWorldConfig { public boolean rabbitRidable = false; public boolean rabbitRidableInWater = false; @@ -462,7 +462,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; -@@ -1286,6 +1303,7 @@ public class PurpurWorldConfig { +@@ -1292,6 +1309,7 @@ public class PurpurWorldConfig { private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); @@ -470,7 +470,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); -@@ -1299,10 +1317,12 @@ public class PurpurWorldConfig { +@@ -1305,10 +1323,12 @@ public class PurpurWorldConfig { public boolean ravagerRidable = false; public boolean ravagerRidableInWater = false; @@ -483,7 +483,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.ravager.attributes.max-health", ravagerMaxHealth); set("mobs.ravager.attributes.max-health", null); -@@ -1326,11 +1346,13 @@ public class PurpurWorldConfig { +@@ -1332,11 +1352,13 @@ public class PurpurWorldConfig { public boolean sheepRidable = false; public boolean sheepRidableInWater = false; public int sheepBreedingTicks = 6000; @@ -497,7 +497,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.sheep.attributes.max-health", sheepMaxHealth); set("mobs.sheep.attributes.max-health", null); -@@ -1355,10 +1377,12 @@ public class PurpurWorldConfig { +@@ -1361,10 +1383,12 @@ public class PurpurWorldConfig { public boolean silverfishRidable = false; public boolean silverfishRidableInWater = false; @@ -510,7 +510,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f if (PurpurConfig.version < 10) { double oldValue = getDouble("mobs.silverfish.attributes.max-health", silverfishMaxHealth); set("mobs.silverfish.attributes.max-health", null); -@@ -1423,6 +1447,7 @@ public class PurpurWorldConfig { +@@ -1429,6 +1453,7 @@ public class PurpurWorldConfig { public boolean snowGolemRidable = false; public boolean snowGolemRidableInWater = false; public boolean snowGolemLeaveTrailWhenRidden = false; @@ -518,7 +518,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f public boolean snowGolemDropsPumpkin = false; public boolean snowGolemPutPumpkinBack = false; public int snowGolemSnowBallMin = 20; -@@ -1434,6 +1459,7 @@ public class PurpurWorldConfig { +@@ -1440,6 +1465,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); @@ -526,7 +526,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f 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); -@@ -1650,6 +1676,7 @@ public class PurpurWorldConfig { +@@ -1656,6 +1682,7 @@ public class PurpurWorldConfig { public boolean witherRidable = false; public boolean witherRidableInWater = false; public double witherMaxY = 256D; @@ -534,7 +534,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public double witherMaxHealth = 300.0D; -@@ -1657,6 +1684,7 @@ public class PurpurWorldConfig { +@@ -1663,6 +1690,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); @@ -542,7 +542,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); if (PurpurConfig.version < 8) { -@@ -1729,6 +1757,7 @@ public class PurpurWorldConfig { +@@ -1735,6 +1763,7 @@ public class PurpurWorldConfig { public boolean zombieRidable = false; public boolean zombieRidableInWater = false; @@ -550,7 +550,7 @@ index dfac03988f3f6bc12f4d48941b3bcde1f2819593..c1ece0add6f186a6aa8b462d47e05a6f public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; -@@ -1739,6 +1768,7 @@ public class PurpurWorldConfig { +@@ -1745,6 +1774,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/0166-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0166-Config-to-allow-Note-Block-sounds-when-blocked.patch index 4cf887aa6..5368767ad 100644 --- a/patches/server/0166-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0166-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,10 +22,10 @@ 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 c1ece0add6f186a6aa8b462d47e05a6fea28d033..fc5b4f1ec8bbe50522cdbcb74e5870e79ed15070 100644 +index 8df2d112f3d030754309710f7c05bf2612ea0528..f0ce50a4751d96f32ac80037eb62d8f6c07792de 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -236,6 +236,7 @@ public class PurpurWorldConfig { +@@ -242,6 +242,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean fireballsBypassMobGriefing = false; public boolean milkCuresBadOmen = true; @@ -33,7 +33,7 @@ index c1ece0add6f186a6aa8b462d47e05a6fea28d033..fc5b4f1ec8bbe50522cdbcb74e5870e7 public boolean persistentTileEntityDisplayNames = false; public boolean persistentDroppableEntityDisplayNames = false; public double tridentLoyaltyVoidReturnHeight = 0.0D; -@@ -251,6 +252,7 @@ public class PurpurWorldConfig { +@@ -257,6 +258,7 @@ public class PurpurWorldConfig { entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); diff --git a/patches/server/0167-Add-EntityTeleportHinderedEvent.patch b/patches/server/0167-Add-EntityTeleportHinderedEvent.patch index 8c9f3fdb2..6530dd56c 100644 --- a/patches/server/0167-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0167-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 fc5b4f1ec8bbe50522cdbcb74e5870e79ed15070..f5fd4ac62c4e2b300930356a7f5735e76f16f8a4 100644 +index f0ce50a4751d96f32ac80037eb62d8f6c07792de..fa01177d029c288be862cdc43861e1ef2fc4f7a0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1861,4 +1861,9 @@ public class PurpurWorldConfig { +@@ -1867,4 +1867,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/0169-Farmland-trampling-changes.patch b/patches/server/0169-Farmland-trampling-changes.patch index 03be4f50b..6fd9f1d1d 100644 --- a/patches/server/0169-Farmland-trampling-changes.patch +++ b/patches/server/0169-Farmland-trampling-changes.patch @@ -28,10 +28,10 @@ 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 f5fd4ac62c4e2b300930356a7f5735e76f16f8a4..0fce0eb902393e28b18b06bea09558f7b5793e0a 100644 +index fa01177d029c288be862cdc43861e1ef2fc4f7a0..f102e3c3a1a166e54274b71c2f9f8067c44c0029 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -395,10 +395,14 @@ public class PurpurWorldConfig { +@@ -401,10 +401,14 @@ public class PurpurWorldConfig { public boolean farmlandBypassMobGriefing = false; public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandAlpha = false; diff --git a/patches/server/0170-Movement-options-for-armour-stands.patch b/patches/server/0170-Movement-options-for-armour-stands.patch index 9181a7b72..947bae9e6 100644 --- a/patches/server/0170-Movement-options-for-armour-stands.patch +++ b/patches/server/0170-Movement-options-for-armour-stands.patch @@ -66,7 +66,7 @@ index 6efe59e0385e144c59804e9e5e18e6910b1f6667..951e899e85c622d06bab7c4695366b83 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0fce0eb902393e28b18b06bea09558f7b5793e0a..242fa7d0acca116f5efcc64066c66b8dca12bce4 100644 +index f102e3c3a1a166e54274b71c2f9f8067c44c0029..90bd46e3e2b96ecedc6557896e1f5d95dbbd698b 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/0171-Fix-stuck-in-portals.patch b/patches/server/0171-Fix-stuck-in-portals.patch index 3427b2a5f..ba49566e3 100644 --- a/patches/server/0171-Fix-stuck-in-portals.patch +++ b/patches/server/0171-Fix-stuck-in-portals.patch @@ -37,10 +37,10 @@ index 157300c0320a136d36994d463a69a5b0fe022683..fecf180cfbc7295f55380fc50e7ae185 // 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 242fa7d0acca116f5efcc64066c66b8dca12bce4..8b99ae30d3808f3379ea27ecc2926b5baa778205 100644 +index 90bd46e3e2b96ecedc6557896e1f5d95dbbd698b..62670f7e80eb3b1765561cd8593f97665db63ac2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -332,6 +332,11 @@ public class PurpurWorldConfig { +@@ -338,6 +338,11 @@ public class PurpurWorldConfig { }); }