From 7174d63c4eeec9acb87e5047813ccbef766fb9bf Mon Sep 17 00:00:00 2001 From: jmp Date: Mon, 30 Nov 2020 19:38:23 -0800 Subject: [PATCH] PaperPR - Projectile load/save limit per chunk - Dropped "Add option to disable saving projectiles to disk" in favor of the above patch - Config migration is automatic. If "gameplay-mechanics.save-projectiles-to-disk" was set to false in purpur.yml, "projectile-load-save-per-chunk-limit" will be set to 0 in paper.yml (resulting in unchanged behaviour) --- patches/server/0003-Purpur-config-files.patch | 22 ++--- ...o-disable-saving-projectiles-to-disk.patch | 89 ------------------- ...Projectile-load-save-limit-per-chunk.patch | 71 +++++++++++++++ .../0075-Add-canSaveToDisk-to-Entity.patch | 35 ++++++++ ...076-Configurable-void-damage-height.patch} | 9 +- ...spenser-curse-of-binding-protection.patch} | 8 +- ...-for-boats-to-eject-players-on-land.patch} | 7 +- ... 0079-Add-obfhelpers-for-plugin-use.patch} | 2 +- ...-mends-most-damages-equipment-first.patch} | 10 +-- ...81-Implement-bamboo-growth-settings.patch} | 6 +- ...should-not-bypass-cramming-gamerule.patch} | 28 +++--- ...083-Add-5-second-tps-average-in-tps.patch} | 6 +- ...h => 0084-Implement-elytra-settings.patch} | 12 +-- ...atch => 0085-Item-entity-immunities.patch} | 10 +-- ...mand.patch => 0086-Add-ping-command.patch} | 2 +- ...=> 0087-Configurable-jockey-options.patch} | 18 ++-- ...d-to-crystals-and-crystals-shoot-ph.patch} | 12 +-- ...089-Customizable-EnderDragon-Health.patch} | 6 +- ...> 0090-Add-phantom-spawning-options.patch} | 16 ++-- ...091-Implement-bed-explosion-options.patch} | 6 +- ...nt-respawn-anchor-explosion-options.patch} | 6 +- ...Add-allow-water-in-end-world-option.patch} | 8 +- ... => 0094-Allow-color-codes-in-books.patch} | 2 +- ...espan.patch => 0095-Entity-lifespan.patch} | 6 +- ...eport-to-spawn-if-outside-world-bor.patch} | 6 +- ...ty.patch => 0097-Squid-EAR-immunity.patch} | 6 +- ...=> 0098-Configurable-end-spike-seed.patch} | 4 +- ...h => 0099-Configurable-dungeon-seed.patch} | 4 +- ...atch => 0100-Phantoms-burn-in-light.patch} | 10 +-- ...0101-Configurable-villager-breeding.patch} | 8 +- ... 0102-Redstone-deactivates-spawners.patch} | 6 +- ...ch => 0103-Totems-work-in-inventory.patch} | 6 +- ...ch => 0104-Fix-death-message-colors.patch} | 2 +- ...-vanilla-scoreboard-colors-patch-to.patch} | 2 +- ...tch => 0106-Populator-seed-controls.patch} | 6 +- ...-Add-vindicator-johnny-spawn-chance.patch} | 4 +- ...t.patch => 0108-DragonEggPlaceEvent.patch} | 2 +- ...n-to-disable-mushroom-block-updates.patch} | 4 +- ...0110-Dispensers-place-anvils-option.patch} | 8 +- ...rs.patch => 0111-Allow-anvil-colors.patch} | 6 +- ...atch => 0112-Add-no-tick-block-list.patch} | 4 +- ...-disable-dolphin-treasure-searching.patch} | 6 +- ...et-reputation-when-villager-is-cure.patch} | 6 +- ...patch => 0115-Short-enderman-height.patch} | 6 +- ...top-squids-floating-on-top-of-water.patch} | 8 +- ...116-Ridables.patch => 0117-Ridables.patch} | 24 ++--- ...-height-for-nether-surface-builders.patch} | 2 +- ...ng-obsidian-valid-for-portal-frames.patch} | 8 +- ...ities-can-use-portals-configuration.patch} | 10 +-- ...121-LivingEntity-broadcastItemBreak.patch} | 2 +- ...zable-WitherBoss-Health-and-Healing.patch} | 6 +- ...gling-special-MobSpawners-per-world.patch} | 4 +- ...patch => 0124-Raid-cooldown-setting.patch} | 12 +-- ...-config-options-per-projectile-type.patch} | 48 +++++----- ...olor-code-support-for-console-loggi.patch} | 4 +- ...able-zombie-aggressiveness-towards-.patch} | 10 +-- ...ent-TileEntity-Lore-and-DisplayName.patch} | 16 ++-- ...-to-recipe-s-ExactChoice-ingredient.patch} | 4 +- ...y.patch => 0130-Flying-squids-Oh-my.patch} | 6 +- ...patch => 0131-Infinity-bow-settings.patch} | 4 +- ...ge.patch => 0132-Stonecutter-damage.patch} | 8 +- ...=> 0133-Configurable-daylight-cycle.patch} | 2 +- ...e-and-mending-enchantments-together.patch} | 15 +--- ...patch => 0135-Infinite-fuel-furnace.patch} | 6 +- ...ws-should-not-reset-despawn-counter.patch} | 2 +- ...7-Add-tablist-suffix-option-for-afk.patch} | 4 +- ...e-add-farmland-mechanics-from-Alpha.patch} | 6 +- ...ustable-breeding-cooldown-to-config.patch} | 12 +-- ...-animal-breeding-times-configurable.patch} | 82 ++++++++--------- ...es-from-item-forms-of-entities-to-e.patch} | 28 +++--- ...when-using-a-Name-Tag-on-an-Armor-S.patch} | 4 +- ...ting-and-weeping-vines-growth-rates.patch} | 4 +- ...twisting-vines-configurable-max-gro.patch} | 6 +- ...lowing-Endermen-to-despawn-even-whi.patch} | 4 +- ...check-to-EntityDamagedByEntityEvent.patch} | 4 +- ...47-Add-configurable-snowball-damage.patch} | 4 +- ...reak-door-minimum-difficulty-option.patch} | 6 +- ...mand.patch => 0149-Add-demo-command.patch} | 0 ...d-API.patch => 0150-Left-handed-API.patch} | 0 ...i-Fix-ProtocolLib-issues-on-Java-15.patch} | 0 ...2-Changeable-Mob-Left-Handed-Chance.patch} | 4 +- ...=> 0153-Add-boat-fall-damage-config.patch} | 4 +- ...-disable-saving-projectiles-to-disk-.patch | 82 +++++++++++++++++ 83 files changed, 522 insertions(+), 436 deletions(-) delete mode 100644 patches/server/0074-Add-option-to-disable-saving-projectiles-to-disk.patch create mode 100644 patches/server/0074-PaperPR-Projectile-load-save-limit-per-chunk.patch create mode 100644 patches/server/0075-Add-canSaveToDisk-to-Entity.patch rename patches/server/{0075-Configurable-void-damage-height.patch => 0076-Configurable-void-damage-height.patch} (88%) rename patches/server/{0076-Dispenser-curse-of-binding-protection.patch => 0077-Dispenser-curse-of-binding-protection.patch} (94%) rename patches/server/{0077-Add-option-for-boats-to-eject-players-on-land.patch => 0078-Add-option-for-boats-to-eject-players-on-land.patch} (92%) rename patches/server/{0078-Add-obfhelpers-for-plugin-use.patch => 0079-Add-obfhelpers-for-plugin-use.patch} (95%) rename patches/server/{0079-Mending-mends-most-damages-equipment-first.patch => 0080-Mending-mends-most-damages-equipment-first.patch} (96%) rename patches/server/{0080-Implement-bamboo-growth-settings.patch => 0081-Implement-bamboo-growth-settings.patch} (97%) rename patches/server/{0081-Climbing-should-not-bypass-cramming-gamerule.patch => 0082-Climbing-should-not-bypass-cramming-gamerule.patch} (93%) rename patches/server/{0082-Add-5-second-tps-average-in-tps.patch => 0083-Add-5-second-tps-average-in-tps.patch} (97%) rename patches/server/{0083-Implement-elytra-settings.patch => 0084-Implement-elytra-settings.patch} (96%) rename patches/server/{0084-Item-entity-immunities.patch => 0085-Item-entity-immunities.patch} (97%) rename patches/server/{0085-Add-ping-command.patch => 0086-Add-ping-command.patch} (99%) rename patches/server/{0086-Configurable-jockey-options.patch => 0087-Configurable-jockey-options.patch} (96%) rename patches/server/{0087-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch => 0088-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch} (98%) rename patches/server/{0088-Customizable-EnderDragon-Health.patch => 0089-Customizable-EnderDragon-Health.patch} (93%) rename patches/server/{0089-Add-phantom-spawning-options.patch => 0090-Add-phantom-spawning-options.patch} (98%) rename patches/server/{0090-Implement-bed-explosion-options.patch => 0091-Implement-bed-explosion-options.patch} (96%) rename patches/server/{0091-Implement-respawn-anchor-explosion-options.patch => 0092-Implement-respawn-anchor-explosion-options.patch} (96%) rename patches/server/{0092-Add-allow-water-in-end-world-option.patch => 0093-Add-allow-water-in-end-world-option.patch} (97%) rename patches/server/{0093-Allow-color-codes-in-books.patch => 0094-Allow-color-codes-in-books.patch} (98%) rename patches/server/{0094-Entity-lifespan.patch => 0095-Entity-lifespan.patch} (97%) rename patches/server/{0095-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch => 0096-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch} (94%) rename patches/server/{0096-Squid-EAR-immunity.patch => 0097-Squid-EAR-immunity.patch} (92%) rename patches/server/{0097-Configurable-end-spike-seed.patch => 0098-Configurable-end-spike-seed.patch} (97%) rename patches/server/{0098-Configurable-dungeon-seed.patch => 0099-Configurable-dungeon-seed.patch} (97%) rename patches/server/{0099-Phantoms-burn-in-light.patch => 0100-Phantoms-burn-in-light.patch} (96%) rename patches/server/{0100-Configurable-villager-breeding.patch => 0101-Configurable-villager-breeding.patch} (91%) rename patches/server/{0101-Redstone-deactivates-spawners.patch => 0102-Redstone-deactivates-spawners.patch} (94%) rename patches/server/{0102-Totems-work-in-inventory.patch => 0103-Totems-work-in-inventory.patch} (94%) rename patches/server/{0103-Fix-death-message-colors.patch => 0104-Fix-death-message-colors.patch} (98%) rename patches/server/{0104-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch => 0105-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch} (98%) rename patches/server/{0105-Populator-seed-controls.patch => 0106-Populator-seed-controls.patch} (97%) rename patches/server/{0106-Add-vindicator-johnny-spawn-chance.patch => 0107-Add-vindicator-johnny-spawn-chance.patch} (96%) rename patches/server/{0107-DragonEggPlaceEvent.patch => 0108-DragonEggPlaceEvent.patch} (97%) rename patches/server/{0108-Add-option-to-disable-mushroom-block-updates.patch => 0109-Add-option-to-disable-mushroom-block-updates.patch} (99%) rename patches/server/{0109-Dispensers-place-anvils-option.patch => 0110-Dispensers-place-anvils-option.patch} (95%) rename patches/server/{0110-Allow-anvil-colors.patch => 0111-Allow-anvil-colors.patch} (95%) rename patches/server/{0111-Add-no-tick-block-list.patch => 0112-Add-no-tick-block-list.patch} (97%) rename patches/server/{0112-Add-option-to-disable-dolphin-treasure-searching.patch => 0113-Add-option-to-disable-dolphin-treasure-searching.patch} (92%) rename patches/server/{0113-Add-option-to-reset-reputation-when-villager-is-cure.patch => 0114-Add-option-to-reset-reputation-when-villager-is-cure.patch} (95%) rename patches/server/{0114-Short-enderman-height.patch => 0115-Short-enderman-height.patch} (97%) rename patches/server/{0115-Stop-squids-floating-on-top-of-water.patch => 0116-Stop-squids-floating-on-top-of-water.patch} (93%) rename patches/server/{0116-Ridables.patch => 0117-Ridables.patch} (99%) rename patches/server/{0117-Use-configured-height-for-nether-surface-builders.patch => 0118-Use-configured-height-for-nether-surface-builders.patch} (97%) rename patches/server/{0118-Crying-obsidian-valid-for-portal-frames.patch => 0119-Crying-obsidian-valid-for-portal-frames.patch} (95%) rename patches/server/{0119-Entities-can-use-portals-configuration.patch => 0120-Entities-can-use-portals-configuration.patch} (89%) rename patches/server/{0120-LivingEntity-broadcastItemBreak.patch => 0121-LivingEntity-broadcastItemBreak.patch} (96%) rename patches/server/{0121-Customizable-WitherBoss-Health-and-Healing.patch => 0122-Customizable-WitherBoss-Health-and-Healing.patch} (96%) rename patches/server/{0122-Allow-toggling-special-MobSpawners-per-world.patch => 0123-Allow-toggling-special-MobSpawners-per-world.patch} (98%) rename patches/server/{0123-Raid-cooldown-setting.patch => 0124-Raid-cooldown-setting.patch} (91%) rename patches/server/{0124-Despawn-rate-config-options-per-projectile-type.patch => 0125-Despawn-rate-config-options-per-projectile-type.patch} (93%) rename patches/server/{0125-PaperPR-Add-hex-color-code-support-for-console-loggi.patch => 0126-PaperPR-Add-hex-color-code-support-for-console-loggi.patch} (98%) rename patches/server/{0126-Add-option-to-disable-zombie-aggressiveness-towards-.patch => 0127-Add-option-to-disable-zombie-aggressiveness-towards-.patch} (96%) rename patches/server/{0127-Persistent-TileEntity-Lore-and-DisplayName.patch => 0128-Persistent-TileEntity-Lore-and-DisplayName.patch} (95%) rename patches/server/{0128-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch => 0129-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch} (96%) rename patches/server/{0129-Flying-squids-Oh-my.patch => 0130-Flying-squids-Oh-my.patch} (95%) rename patches/server/{0130-Infinity-bow-settings.patch => 0131-Infinity-bow-settings.patch} (97%) rename patches/server/{0131-Stonecutter-damage.patch => 0132-Stonecutter-damage.patch} (94%) rename patches/server/{0132-Configurable-daylight-cycle.patch => 0133-Configurable-daylight-cycle.patch} (99%) rename patches/server/{0133-Allow-infinite-and-mending-enchantments-together.patch => 0134-Allow-infinite-and-mending-enchantments-together.patch} (82%) rename patches/server/{0134-Infinite-fuel-furnace.patch => 0135-Infinite-fuel-furnace.patch} (94%) rename patches/server/{0135-Arrows-should-not-reset-despawn-counter.patch => 0136-Arrows-should-not-reset-despawn-counter.patch} (96%) rename patches/server/{0136-Add-tablist-suffix-option-for-afk.patch => 0137-Add-tablist-suffix-option-for-afk.patch} (97%) rename patches/server/{0137-Ability-to-re-add-farmland-mechanics-from-Alpha.patch => 0138-Ability-to-re-add-farmland-mechanics-from-Alpha.patch} (93%) rename patches/server/{0138-Add-adjustable-breeding-cooldown-to-config.patch => 0139-Add-adjustable-breeding-cooldown-to-config.patch} (96%) rename patches/server/{0139-Make-animal-breeding-times-configurable.patch => 0140-Make-animal-breeding-times-configurable.patch} (93%) rename patches/server/{0140-Apply-display-names-from-item-forms-of-entities-to-e.patch => 0141-Apply-display-names-from-item-forms-of-entities-to-e.patch} (94%) rename patches/server/{0141-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch => 0142-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch} (96%) rename patches/server/{0142-Add-twisting-and-weeping-vines-growth-rates.patch => 0143-Add-twisting-and-weeping-vines-growth-rates.patch} (97%) rename patches/server/{0143-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch => 0144-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch} (97%) rename patches/server/{0144-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch => 0145-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch} (95%) rename patches/server/{0145-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch => 0146-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch} (97%) rename patches/server/{0146-Add-configurable-snowball-damage.patch => 0147-Add-configurable-snowball-damage.patch} (96%) rename patches/server/{0147-Zombie-break-door-minimum-difficulty-option.patch => 0148-Zombie-break-door-minimum-difficulty-option.patch} (96%) rename patches/server/{0148-Add-demo-command.patch => 0149-Add-demo-command.patch} (100%) rename patches/server/{0149-Left-handed-API.patch => 0150-Left-handed-API.patch} (100%) rename patches/server/{0150-Origami-Fix-ProtocolLib-issues-on-Java-15.patch => 0151-Origami-Fix-ProtocolLib-issues-on-Java-15.patch} (100%) rename patches/server/{0151-Changeable-Mob-Left-Handed-Chance.patch => 0152-Changeable-Mob-Left-Handed-Chance.patch} (96%) rename patches/server/{0152-Add-boat-fall-damage-config.patch => 0153-Add-boat-fall-damage-config.patch} (97%) create mode 100644 patches/server/0154-Config-migration-disable-saving-projectiles-to-disk-.patch diff --git a/patches/server/0003-Purpur-config-files.patch b/patches/server/0003-Purpur-config-files.patch index ef023fd08..32d00d983 100644 --- a/patches/server/0003-Purpur-config-files.patch +++ b/patches/server/0003-Purpur-config-files.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 8a19c9649..de75e33a6 100644 +index 8a19c96499..de75e33a68 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java @@ -581,7 +581,7 @@ public class Metrics { @@ -29,7 +29,7 @@ index 8a19c9649..de75e33a6 100644 metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> { Map> map = new HashMap<>(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index fcba187bb..c1eb8e867 100644 +index fcba187bbd..c1eb8e8679 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -167,6 +167,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -49,7 +49,7 @@ index fcba187bb..c1eb8e867 100644 // Paper end com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 0388d1099..3c20a4e1c 100644 +index 0388d1099f..3c20a4e1c4 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -166,7 +166,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -62,7 +62,7 @@ index 0388d1099..3c20a4e1c 100644 if (this.bF) { this.bF = false; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 59abca0fd..ca4d260e8 100644 +index 59abca0fd2..ca4d260e8f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -95,6 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -86,7 +86,7 @@ index 59abca0fd..ca4d260e8 100644 this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java new file mode 100644 -index 000000000..1d00832bf +index 0000000000..d59c5cf3ba --- /dev/null +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -0,0 +1,130 @@ @@ -145,8 +145,8 @@ index 000000000..1d00832bf + commands = new HashMap<>(); + commands.put("purpur", new PurpurCommand("purpur")); + -+ version = getInt("config-version", 4); -+ set("config-version", 4); ++ version = getInt("config-version", 6); ++ set("config-version", 6); + + readConfig(PurpurConfig.class, null); + } @@ -222,7 +222,7 @@ index 000000000..1d00832bf +} diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java new file mode 100644 -index 000000000..361f7857e +index 0000000000..361f7857e4 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -0,0 +1,59 @@ @@ -287,7 +287,7 @@ index 000000000..361f7857e +} diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java new file mode 100644 -index 000000000..4904be939 +index 0000000000..4904be939c --- /dev/null +++ b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java @@ -0,0 +1,65 @@ @@ -357,7 +357,7 @@ index 000000000..4904be939 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 260d3513e..51ef4ab09 100644 +index 260d3513ec..51ef4ab09e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -857,6 +857,7 @@ public final class CraftServer implements Server { @@ -404,7 +404,7 @@ index 260d3513e..51ef4ab09 100644 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index a9c96d45c..b65629cac 100644 +index a9c96d45c6..b65629cac7 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -146,6 +146,14 @@ public class Main { diff --git a/patches/server/0074-Add-option-to-disable-saving-projectiles-to-disk.patch b/patches/server/0074-Add-option-to-disable-saving-projectiles-to-disk.patch deleted file mode 100644 index 694ada107..000000000 --- a/patches/server/0074-Add-option-to-disable-saving-projectiles-to-disk.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Tue, 18 Feb 2020 20:07:08 -0600 -Subject: [PATCH] Add option to disable saving projectiles to disk - - -diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 83761ddf0..2cd99e64c 100644 ---- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java -+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -532,6 +532,7 @@ public class ChunkRegionLoader { - - while (iterator1.hasNext()) { - Entity entity = (Entity) iterator1.next(); -+ if (!entity.canSaveToDisk()) continue; // Purpur - NBTTagCompound nbttagcompound4 = new NBTTagCompound(); - // Paper start - if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 01f4be387..f036ffc8a 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -308,6 +308,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size); - } - -+ // Purpur start -+ public boolean canSaveToDisk() { -+ return true; -+ } -+ // Purpur end -+ - public boolean isSpectator() { - return false; - } -diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java -index 132fa358b..18fdb9f8d 100644 ---- a/src/main/java/net/minecraft/server/EntityEnderSignal.java -+++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java -@@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity { - this.setPosition(d0, d1, d2); - } - -+ // Purpur start -+ @Override -+ public boolean canSaveToDisk() { -+ return world != null && world.purpurConfig.saveProjectilesToDisk; -+ } -+ // Purpur end -+ - public void setItem(ItemStack itemstack) { - if (true || itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { // CraftBukkit - always allow item changing - this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // CraftBukkit - decompile error -diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java -index 9f5ce64a6..0bac6b050 100644 ---- a/src/main/java/net/minecraft/server/IProjectile.java -+++ b/src/main/java/net/minecraft/server/IProjectile.java -@@ -18,6 +18,13 @@ public abstract class IProjectile extends Entity { - super(entitytypes, world); - } - -+ // Purpur start -+ @Override -+ public boolean canSaveToDisk() { -+ return world != null && world.purpurConfig.saveProjectilesToDisk; -+ } -+ // Purpur end -+ - public void setShooter(@Nullable Entity entity) { - if (entity != null) { - this.shooter = entity.getUniqueID(); -diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index adcd1779c..b5ae7c047 100644 ---- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -115,11 +115,13 @@ public class PurpurWorldConfig { - public boolean disableDropsOnCrammingDeath = false; - public boolean entitiesPickUpLootBypassMobGriefing = false; - public boolean milkCuresBadOmen = true; -+ public boolean saveProjectilesToDisk = true; - public double tridentLoyaltyVoidReturnHeight = 0.0D; - private void miscGameplayMechanicsSettings() { - disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); - entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); - milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); -+ saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); - tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); - } - diff --git a/patches/server/0074-PaperPR-Projectile-load-save-limit-per-chunk.patch b/patches/server/0074-PaperPR-Projectile-load-save-limit-per-chunk.patch new file mode 100644 index 000000000..1267fd1f1 --- /dev/null +++ b/patches/server/0074-PaperPR-Projectile-load-save-limit-per-chunk.patch @@ -0,0 +1,71 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: jmp +Date: Wed, 18 Nov 2020 20:52:25 -0800 +Subject: [PATCH] PaperPR - Projectile load/save limit per chunk + +Adds a config option to limit the number of projectiles saved and loaded +to a chunk. Limits are counted per entity type, i.e. a limit of 5 means +that 5 arrows, 5 snowballs, 5 tridents, etc. will be allowed to be +saved/loaded per chunk. The default value of -1 disables the limit. + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 80b0c08cef..f451b0aa68 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -699,4 +699,9 @@ public class PaperWorldConfig { + wanderingTraderSpawnChanceMin = getInt("wandering-trader.spawn-chance-min", wanderingTraderSpawnChanceMin); + wanderingTraderSpawnChanceMax = getInt("wandering-trader.spawn-chance-max", wanderingTraderSpawnChanceMax); + } ++ ++ public int projectileSaveLimit = -1; ++ private void projectileSaveLimit() { ++ projectileSaveLimit = getInt("projectile-load-save-per-chunk-limit", projectileSaveLimit); ++ } + } +diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +index 64dd95292f..3628b04fc4 100644 +--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java ++++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +@@ -525,11 +525,21 @@ public class ChunkRegionLoader { + + chunk.d(false); + ++ // Paper start ++ final Map, Integer> savedProjectileCounts = Maps.newHashMap(); + for (int j = 0; j < chunk.getEntitySlices().length; ++j) { + Iterator iterator1 = chunk.getEntitySlices()[j].iterator(); + + while (iterator1.hasNext()) { + Entity entity = (Entity) iterator1.next(); ++ if (worldserver.paperConfig.projectileSaveLimit > -1 && (entity instanceof IProjectile || entity instanceof EntityEnderSignal)) { ++ final EntityTypes projectileType = entity.getEntityType(); ++ if (savedProjectileCounts.getOrDefault(projectileType, 0) >= worldserver.paperConfig.projectileSaveLimit) { ++ continue; ++ } ++ savedProjectileCounts.merge(projectileType, 1, Integer::sum); ++ } ++ // Paper end + NBTTagCompound nbttagcompound4 = new NBTTagCompound(); + // Paper start + if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { +@@ -660,10 +670,20 @@ public class ChunkRegionLoader { + NBTTagList nbttaglist = nbttagcompound.getList("Entities", 10); + World world = chunk.getWorld(); + ++ // Paper start ++ final Map, Integer> loadedProjectileCounts = Maps.newHashMap(); + for (int i = 0; i < nbttaglist.size(); ++i) { + NBTTagCompound nbttagcompound1 = nbttaglist.getCompound(i); + + EntityTypes.a(nbttagcompound1, world, (entity) -> { ++ if (world.paperConfig.projectileSaveLimit > -1 && (entity instanceof IProjectile || entity instanceof EntityEnderSignal)) { ++ final EntityTypes projectileType = entity.getEntityType(); ++ if (loadedProjectileCounts.getOrDefault(projectileType, 0) >= world.paperConfig.projectileSaveLimit) { ++ return entity; ++ } ++ loadedProjectileCounts.merge(projectileType, 1, Integer::sum); ++ } ++ // Paper end + chunk.a(entity); + return entity; + }); diff --git a/patches/server/0075-Add-canSaveToDisk-to-Entity.patch b/patches/server/0075-Add-canSaveToDisk-to-Entity.patch new file mode 100644 index 000000000..24fa291e9 --- /dev/null +++ b/patches/server/0075-Add-canSaveToDisk-to-Entity.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Tue, 18 Feb 2020 20:07:08 -0600 +Subject: [PATCH] Add canSaveToDisk to Entity + + +diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +index 3628b04fc4..b40cb0c7b2 100644 +--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java ++++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +@@ -532,6 +532,7 @@ public class ChunkRegionLoader { + + while (iterator1.hasNext()) { + Entity entity = (Entity) iterator1.next(); ++ if (!entity.canSaveToDisk()) continue; // Purpur + if (worldserver.paperConfig.projectileSaveLimit > -1 && (entity instanceof IProjectile || entity instanceof EntityEnderSignal)) { + final EntityTypes projectileType = entity.getEntityType(); + if (savedProjectileCounts.getOrDefault(projectileType, 0) >= worldserver.paperConfig.projectileSaveLimit) { +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index fba2e13aef..e8aaddbe1d 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -308,6 +308,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size); + } + ++ // Purpur start ++ public boolean canSaveToDisk() { ++ return true; ++ } ++ // Purpur end ++ + public boolean isSpectator() { + return false; + } diff --git a/patches/server/0075-Configurable-void-damage-height.patch b/patches/server/0076-Configurable-void-damage-height.patch similarity index 88% rename from patches/server/0075-Configurable-void-damage-height.patch rename to patches/server/0076-Configurable-void-damage-height.patch index 481bc956a..f65776440 100644 --- a/patches/server/0075-Configurable-void-damage-height.patch +++ b/patches/server/0076-Configurable-void-damage-height.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f036ffc8a..e0532f145 100644 +index e8aaddbe1d..6841de575f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -611,7 +611,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,19 +18,18 @@ index f036ffc8a..e0532f145 100644 && this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) { this.doVoidDamage(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b5ae7c047..286a2a986 100644 +index adcd1779cf..397f4ef158 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -117,12 +117,14 @@ public class PurpurWorldConfig { +@@ -116,11 +116,13 @@ public class PurpurWorldConfig { + public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean milkCuresBadOmen = true; - public boolean saveProjectilesToDisk = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; + public double voidDamageHeight = -64.0D; private void miscGameplayMechanicsSettings() { disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); - saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); + voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); } diff --git a/patches/server/0076-Dispenser-curse-of-binding-protection.patch b/patches/server/0077-Dispenser-curse-of-binding-protection.patch similarity index 94% rename from patches/server/0076-Dispenser-curse-of-binding-protection.patch rename to patches/server/0077-Dispenser-curse-of-binding-protection.patch index 10f641fe4..66cb57755 100644 --- a/patches/server/0076-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0077-Dispenser-curse-of-binding-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 84ac5112a..202ccf2a7 100644 +index 84ac5112a2..202ccf2a7f 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -992,6 +992,13 @@ public abstract class EntityInsentient extends EntityLiving { @@ -23,7 +23,7 @@ index 84ac5112a..202ccf2a7 100644 Item item = itemstack.getItem(); diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java -index 669a50411..7cd2e871b 100644 +index 669a504118..7cd2e871b5 100644 --- a/src/main/java/net/minecraft/server/ItemArmor.java +++ b/src/main/java/net/minecraft/server/ItemArmor.java @@ -35,7 +35,7 @@ public class ItemArmor extends Item implements ItemWearable { @@ -44,10 +44,10 @@ index 669a50411..7cd2e871b 100644 return this.b; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 286a2a986..cc78145ae 100644 +index 397f4ef158..45947e4a6c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -164,6 +164,11 @@ public class PurpurWorldConfig { +@@ -162,6 +162,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0077-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0078-Add-option-for-boats-to-eject-players-on-land.patch similarity index 92% rename from patches/server/0077-Add-option-for-boats-to-eject-players-on-land.patch rename to patches/server/0078-Add-option-for-boats-to-eject-players-on-land.patch index 4e35113c9..14d680580 100644 --- a/patches/server/0077-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0078-Add-option-for-boats-to-eject-players-on-land.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option for boats to eject players on land diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 45fea3893..78428539f 100644 +index 45fea38933..78428539f9 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -440,6 +440,7 @@ public class EntityBoat extends Entity { @@ -17,10 +17,10 @@ index 45fea3893..78428539f 100644 } else { return EntityBoat.EnumStatus.IN_AIR; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cc78145ae..c000d8775 100644 +index 45947e4a6c..8039faa68f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -112,6 +112,7 @@ public class PurpurWorldConfig { +@@ -112,12 +112,14 @@ public class PurpurWorldConfig { idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); } @@ -28,7 +28,6 @@ index cc78145ae..c000d8775 100644 public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean milkCuresBadOmen = true; -@@ -119,6 +120,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0078-Add-obfhelpers-for-plugin-use.patch b/patches/server/0079-Add-obfhelpers-for-plugin-use.patch similarity index 95% rename from patches/server/0078-Add-obfhelpers-for-plugin-use.patch rename to patches/server/0079-Add-obfhelpers-for-plugin-use.patch index 151f11c88..cdc84b1e4 100644 --- a/patches/server/0078-Add-obfhelpers-for-plugin-use.patch +++ b/patches/server/0079-Add-obfhelpers-for-plugin-use.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add obfhelpers for plugin use diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index e7759f248..2c908a604 100644 +index e7759f2481..2c908a6040 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -644,6 +644,7 @@ public final class ItemStack { diff --git a/patches/server/0079-Mending-mends-most-damages-equipment-first.patch b/patches/server/0080-Mending-mends-most-damages-equipment-first.patch similarity index 96% rename from patches/server/0079-Mending-mends-most-damages-equipment-first.patch rename to patches/server/0080-Mending-mends-most-damages-equipment-first.patch index 85e05af89..a59ff49df 100644 --- a/patches/server/0079-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0080-Mending-mends-most-damages-equipment-first.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mending mends most damages equipment first diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java -index 7b2635943..33e2dc3a1 100644 +index 7b26359430..33e2dc3a10 100644 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/src/main/java/net/minecraft/server/EnchantmentManager.java @@ -251,7 +251,30 @@ public class EnchantmentManager { @@ -41,7 +41,7 @@ index 7b2635943..33e2dc3a1 100644 return a(enchantment, entityliving, (itemstack) -> { return true; diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index c2be0c2bc..358d6d660 100644 +index c2be0c2bc3..358d6d6605 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -220,7 +220,7 @@ public class EntityExperienceOrb extends Entity { @@ -54,7 +54,7 @@ index c2be0c2bc..358d6d660 100644 if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 2c908a604..6a9b7e609 100644 +index 2c908a6040..6a9b7e6094 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -418,10 +418,19 @@ public final class ItemStack { @@ -78,7 +78,7 @@ index 2c908a604..6a9b7e609 100644 return this.tag == null ? 0 : this.tag.getInt("Damage"); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c000d8775..3e717cac2 100644 +index 8039faa68f..b4e42c2e65 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -112,6 +112,7 @@ public class PurpurWorldConfig { @@ -89,7 +89,7 @@ index c000d8775..3e717cac2 100644 public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; -@@ -120,6 +121,7 @@ public class PurpurWorldConfig { +@@ -119,6 +120,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0080-Implement-bamboo-growth-settings.patch b/patches/server/0081-Implement-bamboo-growth-settings.patch similarity index 97% rename from patches/server/0080-Implement-bamboo-growth-settings.patch rename to patches/server/0081-Implement-bamboo-growth-settings.patch index fddc702d3..bbe3e9159 100644 --- a/patches/server/0080-Implement-bamboo-growth-settings.patch +++ b/patches/server/0081-Implement-bamboo-growth-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement bamboo growth settings diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java -index f208ab509..ce56edb7c 100644 +index f208ab5098..ce56edb7c8 100644 --- a/src/main/java/net/minecraft/server/BlockBamboo.java +++ b/src/main/java/net/minecraft/server/BlockBamboo.java @@ -99,7 +99,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement { @@ -63,10 +63,10 @@ index f208ab509..ce56edb7c 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3e717cac2..d795b8fce 100644 +index b4e42c2e65..33eac638f4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -168,6 +168,13 @@ public class PurpurWorldConfig { +@@ -166,6 +166,13 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0081-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0082-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 93% rename from patches/server/0081-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0082-Climbing-should-not-bypass-cramming-gamerule.patch index 8e3607a90..b45fd6b89 100644 --- a/patches/server/0081-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0082-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6841de575..9f465ff6f 100644 +index 6841de575f..9f465ff6fe 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1720,6 +1720,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -22,7 +22,7 @@ index 6841de575..9f465ff6f 100644 } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 5cde0f0d3..0b1985901 100644 +index 5cde0f0d3c..0b19859019 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving { @@ -35,7 +35,7 @@ index 5cde0f0d3..0b1985901 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index 38ce35631..85371542e 100644 +index 38ce356310..85371542e4 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java @@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient { @@ -48,7 +48,7 @@ index 38ce35631..85371542e 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 78428539f..939a5fb88 100644 +index 78428539f9..939a5fb880 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -106,7 +106,7 @@ public class EntityBoat extends Entity { @@ -61,7 +61,7 @@ index 78428539f..939a5fb88 100644 } diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index 345e1df09..573d4a5c7 100644 +index 345e1df09e..573d4a5c78 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -74,7 +74,7 @@ index 345e1df09..573d4a5c7 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b30abd4c9..67543e394 100644 +index c383050b17..ba4b45a1c5 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2866,7 +2866,7 @@ public abstract class EntityLiving extends Entity { @@ -103,7 +103,7 @@ index b30abd4c9..67543e394 100644 // CraftBukkit start - collidable API diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 28808712e..b698ca7e4 100644 +index 28808712e2..b698ca7e47 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -116,7 +116,7 @@ index 28808712e..b698ca7e4 100644 } diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 1c682a62b..f7b92078e 100644 +index 1c682a62b8..f7b92078ea 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -131,7 +131,7 @@ index 1c682a62b..f7b92078e 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 36168d0f7..18e264a1b 100644 +index 36168d0f7c..18e264a1b0 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1945,8 +1945,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -146,7 +146,7 @@ index 36168d0f7..18e264a1b 100644 // Purpur end diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index 9f9d9b2de..5a05f2abd 100644 +index 9f9d9b2de8..5a05f2abdd 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -45,11 +45,17 @@ public final class IEntitySelector { @@ -169,7 +169,7 @@ index 9f9d9b2de..5a05f2abd 100644 } else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ez())) { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d795b8fce..521b4d4e1 100644 +index 33eac638f4..233622a551 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -116,6 +116,7 @@ public class PurpurWorldConfig { @@ -178,13 +178,13 @@ index d795b8fce..521b4d4e1 100644 public boolean entitiesPickUpLootBypassMobGriefing = false; + public boolean fixClimbingBypassingCrammingRule = false; public boolean milkCuresBadOmen = true; - public boolean saveProjectilesToDisk = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; -@@ -125,6 +126,7 @@ public class PurpurWorldConfig { + public double voidDamageHeight = -64.0D; +@@ -124,6 +125,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); + fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); - saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); + voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); diff --git a/patches/server/0082-Add-5-second-tps-average-in-tps.patch b/patches/server/0083-Add-5-second-tps-average-in-tps.patch similarity index 97% rename from patches/server/0082-Add-5-second-tps-average-in-tps.patch rename to patches/server/0083-Add-5-second-tps-average-in-tps.patch index 4b0dfd83b..b058c638a 100644 --- a/patches/server/0082-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0083-Add-5-second-tps-average-in-tps.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add 5 second tps average in /tps diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c5d2f1a41..c9577e998 100644 +index 33887fca61..57b42f06c4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -166,7 +166,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant f; } diff --git a/src/main/java/net/minecraft/server/EnumDifficulty.java b/src/main/java/net/minecraft/server/EnumDifficulty.java -index e0e72779c..386eae71a 100644 +index e0e72779c0..386eae71a1 100644 --- a/src/main/java/net/minecraft/server/EnumDifficulty.java +++ b/src/main/java/net/minecraft/server/EnumDifficulty.java @@ -19,6 +19,7 @@ public enum EnumDifficulty { @@ -37,7 +37,7 @@ index e0e72779c..386eae71a 100644 return this.f; } diff --git a/src/main/java/net/minecraft/server/IBlockLightAccess.java b/src/main/java/net/minecraft/server/IBlockLightAccess.java -index 03a89301f..fa5eb188d 100644 +index 03a89301f2..fa5eb188da 100644 --- a/src/main/java/net/minecraft/server/IBlockLightAccess.java +++ b/src/main/java/net/minecraft/server/IBlockLightAccess.java @@ -12,6 +12,7 @@ public interface IBlockLightAccess extends IBlockAccess { @@ -49,7 +49,7 @@ index 03a89301f..fa5eb188d 100644 return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.K(); } diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java -index 4e3f01bc7..ac1ea2f0c 100644 +index 4e3f01bc79..ac1ea2f0c1 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java +++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java @@ -1,85 +1,99 @@ @@ -221,7 +221,7 @@ index 4e3f01bc7..ac1ea2f0c 100644 } } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 6c1540998..8eadfae52 100644 +index 6c15409982..8eadfae52c 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -387,6 +387,7 @@ public final class SpawnerCreature { @@ -233,7 +233,7 @@ index 6c1540998..8eadfae52 100644 return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata)))); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ca4d260e8..a8571dae8 100644 +index ca4d260e8f..a8571dae8d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1564,6 +1564,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -245,10 +245,10 @@ index ca4d260e8..a8571dae8 100644 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 32a233ceb..01bc1a020 100644 +index 975e25a454..51f2ec3283 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -339,10 +339,34 @@ public class PurpurWorldConfig { +@@ -337,10 +337,34 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; diff --git a/patches/server/0090-Implement-bed-explosion-options.patch b/patches/server/0091-Implement-bed-explosion-options.patch similarity index 96% rename from patches/server/0090-Implement-bed-explosion-options.patch rename to patches/server/0091-Implement-bed-explosion-options.patch index 13259ec78..2b9316613 100644 --- a/patches/server/0090-Implement-bed-explosion-options.patch +++ b/patches/server/0091-Implement-bed-explosion-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement bed explosion options diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java -index 24a5c64b6..738535d01 100644 +index 24a5c64b65..738535d01a 100644 --- a/src/main/java/net/minecraft/server/BlockBed.java +++ b/src/main/java/net/minecraft/server/BlockBed.java @@ -88,7 +88,7 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { @@ -18,7 +18,7 @@ index 24a5c64b6..738535d01 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 01bc1a020..2d11dd656 100644 +index 51f2ec3283..9faf638ed6 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 01bc1a020..2d11dd656 100644 import static net.pl3x.purpur.PurpurConfig.log; -@@ -205,6 +207,22 @@ public class PurpurWorldConfig { +@@ -203,6 +205,22 @@ public class PurpurWorldConfig { bambooSmallHeight = getInt("blocks.bamboo.small-height", bambooSmallHeight); } diff --git a/patches/server/0091-Implement-respawn-anchor-explosion-options.patch b/patches/server/0092-Implement-respawn-anchor-explosion-options.patch similarity index 96% rename from patches/server/0091-Implement-respawn-anchor-explosion-options.patch rename to patches/server/0092-Implement-respawn-anchor-explosion-options.patch index e51d2b166..eb7cb21ab 100644 --- a/patches/server/0091-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0092-Implement-respawn-anchor-explosion-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement respawn anchor explosion options diff --git a/src/main/java/net/minecraft/server/BlockRespawnAnchor.java b/src/main/java/net/minecraft/server/BlockRespawnAnchor.java -index 21c5ad83a..521d161a3 100644 +index 21c5ad83a9..521d161a3d 100644 --- a/src/main/java/net/minecraft/server/BlockRespawnAnchor.java +++ b/src/main/java/net/minecraft/server/BlockRespawnAnchor.java @@ -83,10 +83,7 @@ public class BlockRespawnAnchor extends Block { @@ -30,10 +30,10 @@ index 21c5ad83a..521d161a3 100644 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 2d11dd656..5a4642f1c 100644 +index 9faf638ed6..f3ed71a2a5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -244,6 +244,22 @@ public class PurpurWorldConfig { +@@ -242,6 +242,22 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0092-Add-allow-water-in-end-world-option.patch b/patches/server/0093-Add-allow-water-in-end-world-option.patch similarity index 97% rename from patches/server/0092-Add-allow-water-in-end-world-option.patch rename to patches/server/0093-Add-allow-water-in-end-world-option.patch index 35828ff45..29ff767f7 100644 --- a/patches/server/0092-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0093-Add-allow-water-in-end-world-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add allow water in end world option diff --git a/src/main/java/net/minecraft/server/BlockIce.java b/src/main/java/net/minecraft/server/BlockIce.java -index aba5c6b87..b75f6ded5 100644 +index aba5c6b871..b75f6ded5d 100644 --- a/src/main/java/net/minecraft/server/BlockIce.java +++ b/src/main/java/net/minecraft/server/BlockIce.java @@ -13,7 +13,7 @@ public class BlockIce extends BlockHalfTransparent { @@ -27,7 +27,7 @@ index aba5c6b87..b75f6ded5 100644 } else { world.setTypeUpdate(blockposition, Blocks.WATER.getBlockData()); diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java -index 120bf8436..848a185c0 100644 +index 120bf8436f..848a185c04 100644 --- a/src/main/java/net/minecraft/server/ItemBucket.java +++ b/src/main/java/net/minecraft/server/ItemBucket.java @@ -122,7 +122,7 @@ public class ItemBucket extends Item { @@ -49,7 +49,7 @@ index 120bf8436..848a185c0 100644 return true; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a8571dae8..7a82a894b 100644 +index a8571dae8d..7a82a894bb 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1639,4 +1639,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -68,7 +68,7 @@ index a8571dae8..7a82a894b 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 10fdbf496..9d5246de9 100644 +index fccc4f014e..1af7baaa1f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -1,7 +1,6 @@ diff --git a/patches/server/0093-Allow-color-codes-in-books.patch b/patches/server/0094-Allow-color-codes-in-books.patch similarity index 98% rename from patches/server/0093-Allow-color-codes-in-books.patch rename to patches/server/0094-Allow-color-codes-in-books.patch index 015da906e..e4401cc02 100644 --- a/patches/server/0093-Allow-color-codes-in-books.patch +++ b/patches/server/0094-Allow-color-codes-in-books.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index cf7540f23..91941763d 100644 +index cf7540f235..91941763dd 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1005,7 +1005,8 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/patches/server/0094-Entity-lifespan.patch b/patches/server/0095-Entity-lifespan.patch similarity index 97% rename from patches/server/0094-Entity-lifespan.patch rename to patches/server/0095-Entity-lifespan.patch index ce46e523f..994efc130 100644 --- a/patches/server/0094-Entity-lifespan.patch +++ b/patches/server/0095-Entity-lifespan.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 202ccf2a7..2fcd7f461 100644 +index 202ccf2a7f..2fcd7f461a 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -53,7 +53,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -92,7 +92,7 @@ index 202ccf2a7..2fcd7f461 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 91941763d..2c526846d 100644 +index 91941763dd..2c526846d7 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2216,6 +2216,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -104,7 +104,7 @@ index 91941763d..2c526846d 100644 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 5a4642f1c..77bb46f91 100644 +index f3ed71a2a5..eb5ba7d7e6 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 { diff --git a/patches/server/0095-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0096-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch similarity index 94% rename from patches/server/0095-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch rename to patches/server/0096-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index f28fa4f71..853b04d62 100644 --- a/patches/server/0095-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0096-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 07da2a4df..4847b52cb 100644 +index a710a70d46..a3df10fb2d 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -278,6 +278,13 @@ public abstract class EntityLiving extends Entity { @@ -23,10 +23,10 @@ index 07da2a4df..4847b52cb 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 77bb46f91..371addede 100644 +index eb5ba7d7e6..c38da99f4e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -182,6 +182,11 @@ public class PurpurWorldConfig { +@@ -180,6 +180,11 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0096-Squid-EAR-immunity.patch b/patches/server/0097-Squid-EAR-immunity.patch similarity index 92% rename from patches/server/0096-Squid-EAR-immunity.patch rename to patches/server/0097-Squid-EAR-immunity.patch index 26b1c4f42..feb8db26f 100644 --- a/patches/server/0096-Squid-EAR-immunity.patch +++ b/patches/server/0097-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 371addede..62b3d7ff0 100644 +index c38da99f4e..86a95ca5d5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -440,6 +440,11 @@ public class PurpurWorldConfig { +@@ -438,6 +438,11 @@ public class PurpurWorldConfig { snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); } @@ -21,7 +21,7 @@ index 371addede..62b3d7ff0 100644 public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerCanBeLeashed = false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index b47d6fa2d..ff0621e08 100644 +index b47d6fa2de..ff0621e08a 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -378,6 +378,7 @@ public class ActivationRange diff --git a/patches/server/0097-Configurable-end-spike-seed.patch b/patches/server/0098-Configurable-end-spike-seed.patch similarity index 97% rename from patches/server/0097-Configurable-end-spike-seed.patch rename to patches/server/0098-Configurable-end-spike-seed.patch index ded623eaf..520a0ef4b 100644 --- a/patches/server/0097-Configurable-end-spike-seed.patch +++ b/patches/server/0098-Configurable-end-spike-seed.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable end spike seed diff --git a/src/main/java/net/minecraft/server/WorldGenEnder.java b/src/main/java/net/minecraft/server/WorldGenEnder.java -index 00a170720..5eb9b3d35 100644 +index 00a1707209..5eb9b3d35e 100644 --- a/src/main/java/net/minecraft/server/WorldGenEnder.java +++ b/src/main/java/net/minecraft/server/WorldGenEnder.java @@ -23,12 +23,14 @@ public class WorldGenEnder extends WorldGenerator list = worldgenfeatureendspikeconfiguration.c(); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 9d5246de9..fa6298719 100644 +index 1af7baaa1f..86e9385fe9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0098-Configurable-dungeon-seed.patch b/patches/server/0099-Configurable-dungeon-seed.patch similarity index 97% rename from patches/server/0098-Configurable-dungeon-seed.patch rename to patches/server/0099-Configurable-dungeon-seed.patch index 9787b7ed4..8dbf7feb6 100644 --- a/patches/server/0098-Configurable-dungeon-seed.patch +++ b/patches/server/0099-Configurable-dungeon-seed.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable dungeon seed diff --git a/src/main/java/net/minecraft/server/WorldGenDungeons.java b/src/main/java/net/minecraft/server/WorldGenDungeons.java -index 07f7b69fe..6aa1626f3 100644 +index 07f7b69fef..6aa1626f38 100644 --- a/src/main/java/net/minecraft/server/WorldGenDungeons.java +++ b/src/main/java/net/minecraft/server/WorldGenDungeons.java @@ -11,12 +11,21 @@ public class WorldGenDungeons extends WorldGenerator(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 21b8e004cd..f9df4c5aa3 100644 +index ae6031b849..35f95d4464 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 21b8e004cd..f9df4c5aa3 100644 import java.util.logging.Level; import static net.pl3x.purpur.PurpurConfig.log; -@@ -187,6 +189,16 @@ public class PurpurWorldConfig { +@@ -185,6 +187,16 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0112-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0113-Add-option-to-disable-dolphin-treasure-searching.patch similarity index 92% rename from patches/server/0112-Add-option-to-disable-dolphin-treasure-searching.patch rename to patches/server/0113-Add-option-to-disable-dolphin-treasure-searching.patch index 076cbdd3b..d38a28642 100644 --- a/patches/server/0112-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0113-Add-option-to-disable-dolphin-treasure-searching.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable dolphin treasure searching diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java -index 2916ee89e..664f96933 100644 +index 2916ee89ef..664f969336 100644 --- a/src/main/java/net/minecraft/server/EntityDolphin.java +++ b/src/main/java/net/minecraft/server/EntityDolphin.java @@ -329,6 +329,7 @@ public class EntityDolphin extends EntityWaterAnimal { @@ -17,10 +17,10 @@ index 2916ee89e..664f96933 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f9df4c5aa..8496be870 100644 +index 35f95d4464..59fc4159f9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -346,6 +346,11 @@ public class PurpurWorldConfig { +@@ -344,6 +344,11 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); } diff --git a/patches/server/0113-Add-option-to-reset-reputation-when-villager-is-cure.patch b/patches/server/0114-Add-option-to-reset-reputation-when-villager-is-cure.patch similarity index 95% rename from patches/server/0113-Add-option-to-reset-reputation-when-villager-is-cure.patch rename to patches/server/0114-Add-option-to-reset-reputation-when-villager-is-cure.patch index 4a795ea76..db324934e 100644 --- a/patches/server/0113-Add-option-to-reset-reputation-when-villager-is-cure.patch +++ b/patches/server/0114-Add-option-to-reset-reputation-when-villager-is-cure.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to reset reputation when villager is cured diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 7cf6d4a4c..5dd9e3bb2 100644 +index 7cf6d4a4cd..5dd9e3bb20 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -39,7 +39,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -26,10 +26,10 @@ index 7cf6d4a4c..5dd9e3bb2 100644 this.by.a(entity.getUniqueID(), ReputationType.MINOR_POSITIVE, 25); } else if (reputationevent == ReputationEvent.e) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8496be870..806ef0bb4 100644 +index 59fc4159f9..0ce1c2325b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -547,9 +547,11 @@ public class PurpurWorldConfig { +@@ -545,9 +545,11 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; diff --git a/patches/server/0114-Short-enderman-height.patch b/patches/server/0115-Short-enderman-height.patch similarity index 97% rename from patches/server/0114-Short-enderman-height.patch rename to patches/server/0115-Short-enderman-height.patch index 9f67a1119..307abd02d 100644 --- a/patches/server/0114-Short-enderman-height.patch +++ b/patches/server/0115-Short-enderman-height.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Short enderman height diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 7b175240e..e33640326 100644 +index 7b175240e4..e336403266 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -321,6 +321,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable { @@ -17,7 +17,7 @@ index 7b175240e..e33640326 100644 if (this.tryEscape(EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start for (int i = 0; i < 64; ++i) { diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 37b984a5b..7a35a367a 100644 +index 37b984a5b6..7a35a367a5 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -34,7 +34,7 @@ public class EntityTypes { @@ -30,7 +30,7 @@ index 37b984a5b..7a35a367a 100644 public static final EntityTypes EVOKER = a("evoker", EntityTypes.Builder.a(EntityEvoker::new, EnumCreatureType.MONSTER).a(0.6F, 1.95F).trackingRange(8)); public static final EntityTypes EVOKER_FANGS = a("evoker_fangs", EntityTypes.Builder.a(EntityEvokerFangs::new, EnumCreatureType.MISC).a(0.5F, 0.8F).trackingRange(6).updateInterval(2)); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index bef137935..8714d1574 100644 +index 843e105545..59f076e23e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -190,6 +190,11 @@ public class PurpurConfig { diff --git a/patches/server/0115-Stop-squids-floating-on-top-of-water.patch b/patches/server/0116-Stop-squids-floating-on-top-of-water.patch similarity index 93% rename from patches/server/0115-Stop-squids-floating-on-top-of-water.patch rename to patches/server/0116-Stop-squids-floating-on-top-of-water.patch index 98aa5045d..60e66d3ad 100644 --- a/patches/server/0115-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0116-Stop-squids-floating-on-top-of-water.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 87d40ea50..d76a93dc1 100644 +index 87d40ea50a..d76a93dc14 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -3438,8 +3438,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -24,7 +24,7 @@ index 87d40ea50..d76a93dc1 100644 int j = MathHelper.f(axisalignedbb.maxX); int k = MathHelper.floor(axisalignedbb.minY); diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index b21605a62..148e4b158 100644 +index b21605a623..148e4b1587 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -25,6 +25,14 @@ public class EntitySquid extends EntityWaterAnimal { @@ -43,10 +43,10 @@ index b21605a62..148e4b158 100644 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 806ef0bb4..6ee0a3179 100644 +index 0ce1c2325b..8e28b639b1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -486,8 +486,10 @@ public class PurpurWorldConfig { +@@ -484,8 +484,10 @@ public class PurpurWorldConfig { } public boolean squidImmuneToEAR = true; diff --git a/patches/server/0116-Ridables.patch b/patches/server/0117-Ridables.patch similarity index 99% rename from patches/server/0116-Ridables.patch rename to patches/server/0117-Ridables.patch index 39c8ea03c..ec78011e5 100644 --- a/patches/server/0116-Ridables.patch +++ b/patches/server/0117-Ridables.patch @@ -4884,7 +4884,7 @@ index cbc0b8bc85..89d64ea0d1 100644 default int getHeight() { diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java -index 0bac6b0506..9a17eb6066 100644 +index 9f5ce64a60..b9f8ed3554 100644 --- a/src/main/java/net/minecraft/server/IProjectile.java +++ b/src/main/java/net/minecraft/server/IProjectile.java @@ -12,7 +12,7 @@ public abstract class IProjectile extends Entity { @@ -4896,7 +4896,7 @@ index 0bac6b0506..9a17eb6066 100644 IProjectile(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -81,6 +81,7 @@ public abstract class IProjectile extends Entity { +@@ -74,6 +74,7 @@ public abstract class IProjectile extends Entity { super.tick(); } @@ -4904,7 +4904,7 @@ index 0bac6b0506..9a17eb6066 100644 private boolean h() { Entity entity = this.getShooter(); -@@ -144,7 +145,7 @@ public abstract class IProjectile extends Entity { +@@ -137,7 +138,7 @@ public abstract class IProjectile extends Entity { iblockdata.a(this.world, iblockdata, movingobjectpositionblock, this); } @@ -5052,7 +5052,7 @@ index 66883ea891..bc35bfd96a 100644 return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 8714d1574d..af3739c79a 100644 +index 59f076e23e..e06828f6ba 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -134,11 +134,13 @@ public class PurpurConfig { @@ -5070,7 +5070,7 @@ index 8714d1574d..af3739c79a 100644 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 6ee0a3179b..1a606b426b 100644 +index 8e28b639b1..264bac61e2 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 { @@ -5085,7 +5085,7 @@ index 6ee0a3179b..1a606b426b 100644 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); -@@ -320,65 +315,190 @@ public class PurpurWorldConfig { +@@ -318,65 +313,190 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } @@ -5276,7 +5276,7 @@ index 6ee0a3179b..1a606b426b 100644 public float giantStepHeight = 2.0F; public float giantJumpHeight = 1.0F; public double giantMaxHealth = 100.0D; -@@ -387,6 +507,8 @@ public class PurpurWorldConfig { +@@ -385,6 +505,8 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; private void giantSettings() { @@ -5285,7 +5285,7 @@ index 6ee0a3179b..1a606b426b 100644 giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth); -@@ -396,29 +518,119 @@ public class PurpurWorldConfig { +@@ -394,29 +516,119 @@ public class PurpurWorldConfig { giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); } @@ -5405,7 +5405,7 @@ index 6ee0a3179b..1a606b426b 100644 public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; -@@ -438,6 +650,11 @@ public class PurpurWorldConfig { +@@ -436,6 +648,11 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; private void phantomSettings() { @@ -5417,7 +5417,7 @@ index 6ee0a3179b..1a606b426b 100644 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); -@@ -458,40 +675,184 @@ public class PurpurWorldConfig { +@@ -456,40 +673,184 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); } @@ -5602,7 +5602,7 @@ index 6ee0a3179b..1a606b426b 100644 public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerCanBeLeashed = false; -@@ -501,6 +862,8 @@ public class PurpurWorldConfig { +@@ -499,6 +860,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; private void villagerSettings() { @@ -5611,7 +5611,7 @@ index 6ee0a3179b..1a606b426b 100644 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); -@@ -511,46 +874,109 @@ public class PurpurWorldConfig { +@@ -509,46 +872,109 @@ public class PurpurWorldConfig { villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); } diff --git a/patches/server/0117-Use-configured-height-for-nether-surface-builders.patch b/patches/server/0118-Use-configured-height-for-nether-surface-builders.patch similarity index 97% rename from patches/server/0117-Use-configured-height-for-nether-surface-builders.patch rename to patches/server/0118-Use-configured-height-for-nether-surface-builders.patch index 3557fecd5..e384c6093 100644 --- a/patches/server/0117-Use-configured-height-for-nether-surface-builders.patch +++ b/patches/server/0118-Use-configured-height-for-nether-surface-builders.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use configured height for nether surface builders diff --git a/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java b/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java -index 462f0b2ba..f418a71ca 100644 +index 462f0b2bae..f418a71ca8 100644 --- a/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java +++ b/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java @@ -35,7 +35,7 @@ public abstract class WorldGenSurfaceNetherAbstract extends WorldGenSurface entitytypes, World world) { super(entitytypes, world); -@@ -23,6 +24,17 @@ public abstract class IProjectile extends Entity { - public boolean canSaveToDisk() { - return world != null && world.purpurConfig.saveProjectilesToDisk; } -+ + ++ // Purpur start + protected final void tickDespawnCounter() { + if (this.getPurpurDespawnRate() != -1) { + ++this.despawnCounter; @@ -283,10 +281,12 @@ index 9a17eb606..f0b898289 100644 + } + + protected abstract int getPurpurDespawnRate(); - // Purpur end - ++ // Purpur end ++ public void setShooter(@Nullable Entity entity) { -@@ -79,6 +91,12 @@ public abstract class IProjectile extends Entity { + if (entity != null) { + this.shooter = entity.getUniqueID(); +@@ -72,6 +86,12 @@ public abstract class IProjectile extends Entity { } super.tick(); @@ -300,7 +300,7 @@ index 9a17eb606..f0b898289 100644 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 5386affba..21ac73231 100644 +index 091582bfc3..aeb9e45cb4 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 { diff --git a/patches/server/0125-PaperPR-Add-hex-color-code-support-for-console-loggi.patch b/patches/server/0126-PaperPR-Add-hex-color-code-support-for-console-loggi.patch similarity index 98% rename from patches/server/0125-PaperPR-Add-hex-color-code-support-for-console-loggi.patch rename to patches/server/0126-PaperPR-Add-hex-color-code-support-for-console-loggi.patch index cfb3195f3..6fac604fb 100644 --- a/patches/server/0125-PaperPR-Add-hex-color-code-support-for-console-loggi.patch +++ b/patches/server/0126-PaperPR-Add-hex-color-code-support-for-console-loggi.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PaperPR - Add hex color code support for console logging diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java -index 685deaa0e..2a0ada490 100644 +index 685deaa0e5..2a0ada490b 100644 --- a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java @@ -1,17 +1,52 @@ @@ -63,7 +63,7 @@ index 685deaa0e..2a0ada490 100644 + } } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index d33d24af6..9f68a9d64 100644 +index e6ffd5069c..233fa8d7fe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -221,9 +221,11 @@ public class PurpurConfig { diff --git a/patches/server/0126-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0127-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 96% rename from patches/server/0126-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/server/0127-Add-option-to-disable-zombie-aggressiveness-towards-.patch index 361415acd..86948bc14 100644 --- a/patches/server/0126-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0127-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add option to disable zombie aggressiveness towards villagers diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java -index 89b56de75..ded483ace 100644 +index 89b56de756..ded483ace0 100644 --- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java @@ -131,6 +131,10 @@ public class MobGoalHelper { @@ -21,7 +21,7 @@ index 89b56de75..ded483ace 100644 ignored.add("selector_1"); ignored.add("selector_2"); diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index 125eab60f..638efc67d 100644 +index 125eab60f2..638efc67d6 100644 --- a/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java @@ -58,7 +58,18 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { @@ -45,7 +45,7 @@ index 125eab60f..638efc67d 100644 this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo)); } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index e2f68d843..3ad8bd084 100644 +index e2f68d843c..3ad8bd0847 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -85,7 +85,18 @@ public class EntityZombie extends EntityMonster { @@ -69,10 +69,10 @@ index e2f68d843..3ad8bd084 100644 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 21ac73231..2c1ef95e8 100644 +index aeb9e45cb4..6d37b9d388 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1003,12 +1003,14 @@ public class PurpurWorldConfig { +@@ -1001,12 +1001,14 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; diff --git a/patches/server/0127-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0128-Persistent-TileEntity-Lore-and-DisplayName.patch similarity index 95% rename from patches/server/0127-Persistent-TileEntity-Lore-and-DisplayName.patch rename to patches/server/0128-Persistent-TileEntity-Lore-and-DisplayName.patch index 4c6eadf47..296a95dab 100644 --- a/patches/server/0127-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0128-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -7,7 +7,7 @@ Makes it so that when a TileEntity is placed in the world and then broken, the dropped ItemStack retains any original custom display name/lore. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 4aa2b38f1..f86390999 100644 +index 4aa2b38f18..f863909992 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -207,6 +207,7 @@ public class Block extends BlockBase implements IMaterial { @@ -74,7 +74,7 @@ index 4aa2b38f1..f86390999 100644 public static void a(World world, BlockPosition blockposition, ItemStack itemstack) { if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) { diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index bbb1de7d1..d97efe3d4 100644 +index bbb1de7d1a..d97efe3d47 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -96,7 +96,24 @@ public class ItemBlock extends Item { @@ -104,7 +104,7 @@ index bbb1de7d1..d97efe3d4 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 58d958a88..8e8749095 100644 +index 58d958a88a..8e87490954 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -90,9 +90,25 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -160,21 +160,21 @@ index 58d958a88..8e8749095 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2c1ef95e8..c540e9b5a 100644 +index 6d37b9d388..118226569e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -184,6 +184,7 @@ public class PurpurWorldConfig { +@@ -183,6 +183,7 @@ public class PurpurWorldConfig { + public boolean entitiesCanUsePortals = true; public boolean fixClimbingBypassingCrammingRule = false; public boolean milkCuresBadOmen = true; - public boolean saveProjectilesToDisk = true; + public boolean persistentTileEntityDisplayNames = false; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; -@@ -196,6 +197,7 @@ public class PurpurWorldConfig { +@@ -194,6 +195,7 @@ public class PurpurWorldConfig { + entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); - saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); + persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); diff --git a/patches/server/0128-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0129-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 96% rename from patches/server/0128-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/server/0129-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch index 2c7550330..4e803f93d 100644 --- a/patches/server/0128-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch +++ b/patches/server/0129-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient diff --git a/src/main/java/net/minecraft/server/RecipeItemStack.java b/src/main/java/net/minecraft/server/RecipeItemStack.java -index 0f96abd0c..f6d929494 100644 +index 0f96abd0ca..f6d9294940 100644 --- a/src/main/java/net/minecraft/server/RecipeItemStack.java +++ b/src/main/java/net/minecraft/server/RecipeItemStack.java @@ -26,6 +26,7 @@ public final class RecipeItemStack implements Predicate { @@ -30,7 +30,7 @@ index 0f96abd0c..f6d929494 100644 int i = aitemstack.length; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java -index ef29599a8..18413e632 100644 +index ef29599a89..18413e6327 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java @@ -22,6 +22,7 @@ public interface CraftRecipe extends Recipe { diff --git a/patches/server/0129-Flying-squids-Oh-my.patch b/patches/server/0130-Flying-squids-Oh-my.patch similarity index 95% rename from patches/server/0129-Flying-squids-Oh-my.patch rename to patches/server/0130-Flying-squids-Oh-my.patch index 33fadc50f..40906f0f7 100644 --- a/patches/server/0129-Flying-squids-Oh-my.patch +++ b/patches/server/0130-Flying-squids-Oh-my.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Flying squids! Oh my! diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index 70b952f10..cee226501 100644 +index 70b952f10a..cee2265016 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -51,6 +51,11 @@ public class EntitySquid extends EntityWaterAnimal { @@ -38,10 +38,10 @@ index 70b952f10..cee226501 100644 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 c540e9b5a..d827a365a 100644 +index 118226569e..49e7690ef2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -864,10 +864,12 @@ public class PurpurWorldConfig { +@@ -862,10 +862,12 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; diff --git a/patches/server/0130-Infinity-bow-settings.patch b/patches/server/0131-Infinity-bow-settings.patch similarity index 97% rename from patches/server/0130-Infinity-bow-settings.patch rename to patches/server/0131-Infinity-bow-settings.patch index 9657f5bd9..46443e72a 100644 --- a/patches/server/0130-Infinity-bow-settings.patch +++ b/patches/server/0131-Infinity-bow-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Infinity bow settings diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index dd6a93dc7..8241f3daf 100644 +index dd6a93dc78..8241f3dafa 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -24,7 +24,7 @@ public class ItemBow extends ItemProjectileWeapon implements ItemVanishable { @@ -26,7 +26,7 @@ index dd6a93dc7..8241f3daf 100644 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 d827a365a..400d793b1 100644 +index 49e7690ef2..11c3a97aa3 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 { diff --git a/patches/server/0131-Stonecutter-damage.patch b/patches/server/0132-Stonecutter-damage.patch similarity index 94% rename from patches/server/0131-Stonecutter-damage.patch rename to patches/server/0132-Stonecutter-damage.patch index 6bf653c12..c0ddf04cd 100644 --- a/patches/server/0131-Stonecutter-damage.patch +++ b/patches/server/0132-Stonecutter-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stonecutter damage diff --git a/src/main/java/net/minecraft/server/BlockStonecutter.java b/src/main/java/net/minecraft/server/BlockStonecutter.java -index 3e57abd33..08ba9e1c4 100644 +index 3e57abd33e..08ba9e1c4e 100644 --- a/src/main/java/net/minecraft/server/BlockStonecutter.java +++ b/src/main/java/net/minecraft/server/BlockStonecutter.java @@ -71,4 +71,16 @@ public class BlockStonecutter extends Block { @@ -26,7 +26,7 @@ index 3e57abd33..08ba9e1c4 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java -index 33804e689..fabadcd7a 100644 +index 33804e6893..fabadcd7a2 100644 --- a/src/main/java/net/minecraft/server/PathfinderNormal.java +++ b/src/main/java/net/minecraft/server/PathfinderNormal.java @@ -480,7 +480,7 @@ public class PathfinderNormal extends PathfinderAbstract { @@ -39,10 +39,10 @@ index 33804e689..fabadcd7a 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 400d793b1..8e97eb92d 100644 +index 11c3a97aa3..486bcff951 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -376,6 +376,11 @@ public class PurpurWorldConfig { +@@ -374,6 +374,11 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0132-Configurable-daylight-cycle.patch b/patches/server/0133-Configurable-daylight-cycle.patch similarity index 99% rename from patches/server/0132-Configurable-daylight-cycle.patch rename to patches/server/0133-Configurable-daylight-cycle.patch index d501882b8..fb672085b 100644 --- a/patches/server/0132-Configurable-daylight-cycle.patch +++ b/patches/server/0133-Configurable-daylight-cycle.patch @@ -74,7 +74,7 @@ index 644ff68795..dd8e284b26 100644 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 8e97eb92dd..013f1cfb48 100644 +index 486bcff951..3b1a58965f 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/0133-Allow-infinite-and-mending-enchantments-together.patch b/patches/server/0134-Allow-infinite-and-mending-enchantments-together.patch similarity index 82% rename from patches/server/0133-Allow-infinite-and-mending-enchantments-together.patch rename to patches/server/0134-Allow-infinite-and-mending-enchantments-together.patch index 6d73199b2..38610685f 100644 --- a/patches/server/0133-Allow-infinite-and-mending-enchantments-together.patch +++ b/patches/server/0134-Allow-infinite-and-mending-enchantments-together.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow infinite and mending enchantments together diff --git a/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java b/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java -index 408cfa460..3d4e34f70 100644 +index 408cfa4609..3d4e34f707 100644 --- a/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java +++ b/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java @@ -23,6 +23,6 @@ public class EnchantmentInfiniteArrows extends Enchantment { @@ -17,20 +17,9 @@ index 408cfa460..3d4e34f70 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 9f68a9d64..a849f200d 100644 +index 233fa8d7fe..a849f200d6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -55,8 +55,8 @@ public class PurpurConfig { - commands = new HashMap<>(); - commands.put("purpur", new PurpurCommand("purpur")); - -- version = getInt("config-version", 4); -- set("config-version", 4); -+ version = getInt("config-version", 5); -+ set("config-version", 5); - - readConfig(PurpurConfig.class, null); - } @@ -194,6 +194,16 @@ public class PurpurConfig { cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); } diff --git a/patches/server/0134-Infinite-fuel-furnace.patch b/patches/server/0135-Infinite-fuel-furnace.patch similarity index 94% rename from patches/server/0134-Infinite-fuel-furnace.patch rename to patches/server/0135-Infinite-fuel-furnace.patch index aab27da96..7eba07e5e 100644 --- a/patches/server/0134-Infinite-fuel-furnace.patch +++ b/patches/server/0135-Infinite-fuel-furnace.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Infinite fuel furnace diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 1d3c2dd93..e96fc0420 100644 +index 1d3c2dd936..e96fc0420a 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -266,6 +266,16 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I @@ -26,10 +26,10 @@ index 1d3c2dd93..e96fc0420 100644 if (!this.isBurning() && this.cookTime > 0) { this.cookTime = MathHelper.clamp(this.cookTime - 2, 0, this.cookTimeTotal); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 013f1cfb4..e080aa482 100644 +index 3b1a58965f..f22a34580e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -344,6 +344,11 @@ public class PurpurWorldConfig { +@@ -342,6 +342,11 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0135-Arrows-should-not-reset-despawn-counter.patch b/patches/server/0136-Arrows-should-not-reset-despawn-counter.patch similarity index 96% rename from patches/server/0135-Arrows-should-not-reset-despawn-counter.patch rename to patches/server/0136-Arrows-should-not-reset-despawn-counter.patch index ab6d35f99..81423fcfa 100644 --- a/patches/server/0135-Arrows-should-not-reset-despawn-counter.patch +++ b/patches/server/0136-Arrows-should-not-reset-despawn-counter.patch @@ -7,7 +7,7 @@ This prevents keeping arrows alive indefinitely (such as when the block the arrow is stuck in gets removed, like a piston head going up/down) diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 7f89b269e..5ec8c9484 100644 +index 7f89b269e3..5ec8c9484d 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -243,7 +243,7 @@ public abstract class EntityArrow extends IProjectile { diff --git a/patches/server/0136-Add-tablist-suffix-option-for-afk.patch b/patches/server/0137-Add-tablist-suffix-option-for-afk.patch similarity index 97% rename from patches/server/0136-Add-tablist-suffix-option-for-afk.patch rename to patches/server/0137-Add-tablist-suffix-option-for-afk.patch index 79abcb59f..6de52c32d 100644 --- a/patches/server/0136-Add-tablist-suffix-option-for-afk.patch +++ b/patches/server/0137-Add-tablist-suffix-option-for-afk.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add tablist suffix option for afk diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 526af292f..e5222106e 100644 +index 526af292fc..e5222106e4 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1959,7 +1959,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -22,7 +22,7 @@ index 526af292f..e5222106e 100644 ((WorldServer) world).everyoneSleeping(); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index a849f200d..f7b7c9e1d 100644 +index a849f200d6..f7b7c9e1d2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -133,12 +133,14 @@ public class PurpurConfig { diff --git a/patches/server/0137-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0138-Ability-to-re-add-farmland-mechanics-from-Alpha.patch similarity index 93% rename from patches/server/0137-Ability-to-re-add-farmland-mechanics-from-Alpha.patch rename to patches/server/0138-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index 72274a906..23f01e484 100644 --- a/patches/server/0137-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0138-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ability to re-add farmland mechanics from Alpha diff --git a/src/main/java/net/minecraft/server/BlockSoil.java b/src/main/java/net/minecraft/server/BlockSoil.java -index 8dd48669c..099e0d3df 100644 +index 8dd48669c2..099e0d3df2 100644 --- a/src/main/java/net/minecraft/server/BlockSoil.java +++ b/src/main/java/net/minecraft/server/BlockSoil.java @@ -90,6 +90,14 @@ public class BlockSoil extends Block { @@ -24,10 +24,10 @@ index 8dd48669c..099e0d3df 100644 return; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e080aa482..1ef3a2c5e 100644 +index f22a34580e..4351931b11 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -340,8 +340,10 @@ public class PurpurWorldConfig { +@@ -338,8 +338,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0138-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0139-Add-adjustable-breeding-cooldown-to-config.patch similarity index 96% rename from patches/server/0138-Add-adjustable-breeding-cooldown-to-config.patch rename to patches/server/0139-Add-adjustable-breeding-cooldown-to-config.patch index f3f346116..666908db5 100644 --- a/patches/server/0138-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0139-Add-adjustable-breeding-cooldown-to-config.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add adjustable breeding cooldown to config diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java -index bba343542..d9f9e2235 100644 +index bba343542e..d9f9e2235d 100644 --- a/src/main/java/net/minecraft/server/EntityAnimal.java +++ b/src/main/java/net/minecraft/server/EntityAnimal.java @@ -120,7 +120,7 @@ public abstract class EntityAnimal extends EntityAgeable { @@ -33,7 +33,7 @@ index bba343542..d9f9e2235 100644 int experience = this.getRandom().nextInt(7) + 1; org.bukkit.event.entity.EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, entityanimal, entityplayer, this.breedItem, experience); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ab97d076c..b4ba9b56a 100644 +index ab97d076c9..b4ba9b56a9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -104,6 +104,48 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -94,10 +94,10 @@ index ab97d076c..b4ba9b56a 100644 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 1ef3a2c5e..43fb54b3e 100644 +index 4351931b11..f7ac70d46b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -204,6 +204,7 @@ public class PurpurWorldConfig { +@@ -203,6 +203,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; @@ -105,7 +105,7 @@ index 1ef3a2c5e..43fb54b3e 100644 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -217,6 +218,7 @@ public class PurpurWorldConfig { +@@ -215,6 +216,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); @@ -114,7 +114,7 @@ index 1ef3a2c5e..43fb54b3e 100644 public boolean catSpawning; diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java -index 4904be939..860d07cd6 100644 +index 4904be939c..860d07cd68 100644 --- a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java +++ b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java @@ -49,6 +49,7 @@ public class PurpurCommand extends Command { diff --git a/patches/server/0139-Make-animal-breeding-times-configurable.patch b/patches/server/0140-Make-animal-breeding-times-configurable.patch similarity index 93% rename from patches/server/0139-Make-animal-breeding-times-configurable.patch rename to patches/server/0140-Make-animal-breeding-times-configurable.patch index dc6cc38a1..2734edb37 100644 --- a/patches/server/0139-Make-animal-breeding-times-configurable.patch +++ b/patches/server/0140-Make-animal-breeding-times-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make animal breeding times configurable diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java -index d9f9e2235..dd6725deb 100644 +index d9f9e2235d..dd6725debe 100644 --- a/src/main/java/net/minecraft/server/EntityAnimal.java +++ b/src/main/java/net/minecraft/server/EntityAnimal.java @@ -13,6 +13,7 @@ public abstract class EntityAnimal extends EntityAgeable { @@ -30,7 +30,7 @@ index d9f9e2235..dd6725deb 100644 entityanimal.resetLove(); entityageable.setBaby(true); diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java -index d8354ec4d..ded4e10f5 100644 +index d8354ec4d1..ded4e10f50 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -100,6 +100,11 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB @@ -46,7 +46,7 @@ index d8354ec4d..ded4e10f5 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java -index 05929d5c5..a6ce4ca27 100644 +index 05929d5c53..a6ce4ca27c 100644 --- a/src/main/java/net/minecraft/server/EntityCat.java +++ b/src/main/java/net/minecraft/server/EntityCat.java @@ -58,6 +58,11 @@ public class EntityCat extends EntityTameableAnimal { @@ -62,7 +62,7 @@ index 05929d5c5..a6ce4ca27 100644 public MinecraftKey eU() { diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java -index a16ecd7ed..26f783349 100644 +index a16ecd7edc..26f7833496 100644 --- a/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java @@ -36,6 +36,11 @@ public class EntityChicken extends EntityAnimal { @@ -78,7 +78,7 @@ index a16ecd7ed..26f783349 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index 1219b0aa9..63497ca02 100644 +index 1219b0aa9c..63497ca026 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -21,6 +21,11 @@ public class EntityCow extends EntityAnimal { @@ -94,7 +94,7 @@ index 1219b0aa9..63497ca02 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index f5defe471..e87f5aeb9 100644 +index f5defe4713..e87f5aeb97 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -86,6 +86,11 @@ public class EntityFox extends EntityAnimal { @@ -110,7 +110,7 @@ index f5defe471..e87f5aeb9 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java -index 548ff4449..a1578aade 100644 +index 548ff4449f..a1578aade4 100644 --- a/src/main/java/net/minecraft/server/EntityHoglin.java +++ b/src/main/java/net/minecraft/server/EntityHoglin.java @@ -30,6 +30,11 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin { @@ -126,7 +126,7 @@ index 548ff4449..a1578aade 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java -index 0415a4d1f..b19995f96 100644 +index 0415a4d1f3..b19995f962 100644 --- a/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java @@ -17,6 +17,11 @@ public class EntityHorse extends EntityHorseAbstract { @@ -142,7 +142,7 @@ index 0415a4d1f..b19995f96 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java -index cb8aee569..f6421bb45 100644 +index cb8aee5691..f6421bb45c 100644 --- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java +++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java @@ -13,6 +13,11 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract { @@ -158,7 +158,7 @@ index cb8aee569..f6421bb45 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java -index 243aeb736..30cbc505d 100644 +index 243aeb736e..30cbc505d2 100644 --- a/src/main/java/net/minecraft/server/EntityHorseMule.java +++ b/src/main/java/net/minecraft/server/EntityHorseMule.java @@ -13,6 +13,11 @@ public class EntityHorseMule extends EntityHorseChestedAbstract { @@ -174,7 +174,7 @@ index 243aeb736..30cbc505d 100644 @Override protected SoundEffect getSoundAmbient() { diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java -index e2c6a5807..408db52ca 100644 +index e2c6a5807a..408db52cac 100644 --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java @@ -22,6 +22,11 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { @@ -190,7 +190,7 @@ index e2c6a5807..408db52ca 100644 public static AttributeProvider.Builder eL() { diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java -index 559ba5097..2121a6c97 100644 +index 559ba50977..2121a6c979 100644 --- a/src/main/java/net/minecraft/server/EntityHorseZombie.java +++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java @@ -18,6 +18,11 @@ public class EntityHorseZombie extends EntityHorseAbstract { @@ -206,7 +206,7 @@ index 559ba5097..2121a6c97 100644 public static AttributeProvider.Builder eL() { diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index 109927786..3bc6e6df9 100644 +index 1099277868..3bc6e6df9e 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -57,6 +57,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -222,7 +222,7 @@ index 109927786..3bc6e6df9 100644 public void setStrength(int i) { diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 7966b34f8..eb1f95d8b 100644 +index 7966b34f8d..eb1f95d8ba 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -30,6 +30,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable { @@ -238,7 +238,7 @@ index 7966b34f8..eb1f95d8b 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index 2f8275cd6..a5be10dfb 100644 +index 2f8275cd6b..a5be10dfb0 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -26,6 +26,11 @@ public class EntityOcelot extends EntityAnimal { @@ -254,7 +254,7 @@ index 2f8275cd6..a5be10dfb 100644 private boolean isTrusting() { diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java -index eafae5516..c70180fdd 100644 +index eafae5516b..c70180fddb 100644 --- a/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java @@ -65,6 +65,11 @@ public class EntityPanda extends EntityAnimal { @@ -270,7 +270,7 @@ index eafae5516..c70180fdd 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 66c1d666c..f229488c8 100644 +index 66c1d666cd..f229488c85 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -115,6 +115,11 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -286,7 +286,7 @@ index 66c1d666c..f229488c8 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index dade0bb29..7172e8cab 100644 +index dade0bb294..7172e8cabf 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -29,6 +29,11 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable { @@ -302,7 +302,7 @@ index dade0bb29..7172e8cab 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java -index 3d649843f..40395dd7e 100644 +index 3d649843f5..40395dd7ea 100644 --- a/src/main/java/net/minecraft/server/EntityPolarBear.java +++ b/src/main/java/net/minecraft/server/EntityPolarBear.java @@ -67,6 +67,11 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable { @@ -318,7 +318,7 @@ index 3d649843f..40395dd7e 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index b766a27e9..654cd036a 100644 +index b766a27e98..654cd036a8 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -30,6 +30,11 @@ public class EntityRabbit extends EntityAnimal { @@ -334,7 +334,7 @@ index b766a27e9..654cd036a 100644 // CraftBukkit start - code from constructor diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java -index a151d4295..32130c068 100644 +index a151d4295c..32130c0681 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java @@ -66,6 +66,11 @@ public class EntitySheep extends EntityAnimal implements IShearable { @@ -350,7 +350,7 @@ index a151d4295..32130c068 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java -index 172867f50..9ab1b5af6 100644 +index 172867f50d..9ab1b5af68 100644 --- a/src/main/java/net/minecraft/server/EntityStrider.java +++ b/src/main/java/net/minecraft/server/EntityStrider.java @@ -38,6 +38,11 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab @@ -366,7 +366,7 @@ index 172867f50..9ab1b5af6 100644 public static boolean c(EntityTypes entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) { diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 2b34e6cf3..067f7f28b 100644 +index 2b34e6cf3b..067f7f28b0 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -37,6 +37,11 @@ public class EntityTurtle extends EntityAnimal { @@ -382,7 +382,7 @@ index 2b34e6cf3..067f7f28b 100644 public void setHomePos(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java -index 9ae716859..6c25f667e 100644 +index 9ae7168595..6c25f667ee 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -48,6 +48,11 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable @@ -398,10 +398,10 @@ index 9ae716859..6c25f667e 100644 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 43fb54b3e..f72197d70 100644 +index f7ac70d46b..ea596fe832 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -427,10 +427,12 @@ public class PurpurWorldConfig { +@@ -425,10 +425,12 @@ public class PurpurWorldConfig { public boolean beeRidable = false; public boolean beeRidableInWater = false; public double beeMaxY = 256D; @@ -414,7 +414,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean blazeRidable = false; -@@ -447,12 +449,14 @@ public class PurpurWorldConfig { +@@ -445,12 +447,14 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -429,7 +429,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean caveSpiderRidable = false; -@@ -465,10 +469,12 @@ public class PurpurWorldConfig { +@@ -463,10 +467,12 @@ public class PurpurWorldConfig { public boolean chickenRidable = false; public boolean chickenRidableInWater = false; public boolean chickenRetaliate = false; @@ -442,7 +442,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean codRidable = false; -@@ -479,10 +485,12 @@ public class PurpurWorldConfig { +@@ -477,10 +483,12 @@ public class PurpurWorldConfig { public boolean cowRidable = false; public boolean cowRidableInWater = false; public int cowFeedMushrooms = 0; @@ -455,7 +455,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean creeperRidable = false; -@@ -510,8 +518,10 @@ public class PurpurWorldConfig { +@@ -508,8 +516,10 @@ public class PurpurWorldConfig { } public boolean donkeyRidableInWater = false; @@ -466,7 +466,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean drownedRidable = false; -@@ -573,10 +583,12 @@ public class PurpurWorldConfig { +@@ -571,10 +581,12 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; public boolean foxTypeChangesWithTulips = false; @@ -479,7 +479,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean ghastRidable = false; -@@ -616,14 +628,18 @@ public class PurpurWorldConfig { +@@ -614,14 +626,18 @@ public class PurpurWorldConfig { public boolean hoglinRidable = false; public boolean hoglinRidableInWater = false; @@ -498,7 +498,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean huskRidable = false; -@@ -663,9 +679,11 @@ public class PurpurWorldConfig { +@@ -661,9 +677,11 @@ public class PurpurWorldConfig { public boolean llamaRidable = false; public boolean llamaRidableInWater = false; @@ -510,7 +510,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean llamaTraderRidable = false; -@@ -684,28 +702,36 @@ public class PurpurWorldConfig { +@@ -682,28 +700,36 @@ public class PurpurWorldConfig { public boolean mooshroomRidable = false; public boolean mooshroomRidableInWater = false; @@ -547,7 +547,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean parrotRidable = false; -@@ -769,10 +795,12 @@ public class PurpurWorldConfig { +@@ -767,10 +793,12 @@ public class PurpurWorldConfig { public boolean pigRidable = false; public boolean pigRidableInWater = false; public boolean pigGiveSaddleBack = false; @@ -560,7 +560,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean piglinRidable = false; -@@ -800,12 +828,14 @@ public class PurpurWorldConfig { +@@ -798,12 +826,14 @@ public class PurpurWorldConfig { public boolean polarBearRidableInWater = false; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -575,7 +575,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean pufferfishRidable = false; -@@ -817,11 +847,13 @@ public class PurpurWorldConfig { +@@ -815,11 +845,13 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = false; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -589,7 +589,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean ravagerRidable = false; -@@ -838,9 +870,11 @@ public class PurpurWorldConfig { +@@ -836,9 +868,11 @@ public class PurpurWorldConfig { public boolean sheepRidable = false; public boolean sheepRidableInWater = false; @@ -601,7 +601,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean shulkerRidable = false; -@@ -918,9 +952,11 @@ public class PurpurWorldConfig { +@@ -916,9 +950,11 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; @@ -613,7 +613,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean tropicalFishRidable = false; -@@ -930,9 +966,11 @@ public class PurpurWorldConfig { +@@ -928,9 +964,11 @@ public class PurpurWorldConfig { public boolean turtleRidable = false; public boolean turtleRidableInWater = false; @@ -625,7 +625,7 @@ index 43fb54b3e..f72197d70 100644 } public boolean vexRidable = false; -@@ -1020,9 +1058,11 @@ public class PurpurWorldConfig { +@@ -1018,9 +1056,11 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; diff --git a/patches/server/0140-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0141-Apply-display-names-from-item-forms-of-entities-to-e.patch similarity index 94% rename from patches/server/0140-Apply-display-names-from-item-forms-of-entities-to-e.patch rename to patches/server/0141-Apply-display-names-from-item-forms-of-entities-to-e.patch index 813e441e6..fe297e5e3 100644 --- a/patches/server/0140-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0141-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Apply display names from item forms of entities to entities diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 0b1985901..f6f90fc17 100644 +index 0b19859019..f6f90fc17a 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -546,7 +546,13 @@ public class EntityArmorStand extends EntityLiving { @@ -25,7 +25,7 @@ index 0b1985901..f6f90fc17 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 939a5fb88..fc3b0c1da 100644 +index 939a5fb880..fc3b0c1dae 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -155,7 +155,13 @@ public class EntityBoat extends Entity { @@ -52,7 +52,7 @@ index 939a5fb88..fc3b0c1da 100644 switch (this.getType()) { case OAK: diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 695283245..9214b2a3c 100644 +index 6952832458..9214b2a3c9 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1366,7 +1366,13 @@ public abstract class EntityInsentient extends EntityLiving { @@ -86,7 +86,7 @@ index 695283245..9214b2a3c 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java -index 16c8f2cdf..19460d885 100644 +index 16c8f2cdf7..19460d8856 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java @@ -199,7 +199,13 @@ public class EntityItemFrame extends EntityHanging { @@ -105,7 +105,7 @@ index 16c8f2cdf..19460d885 100644 if (!itemstack.isEmpty()) { diff --git a/src/main/java/net/minecraft/server/EntityPainting.java b/src/main/java/net/minecraft/server/EntityPainting.java -index 4b7cd7c59..d01fc8b11 100644 +index 4b7cd7c59f..d01fc8b110 100644 --- a/src/main/java/net/minecraft/server/EntityPainting.java +++ b/src/main/java/net/minecraft/server/EntityPainting.java @@ -92,7 +92,13 @@ public class EntityPainting extends EntityHanging { @@ -124,7 +124,7 @@ index 4b7cd7c59..d01fc8b11 100644 } diff --git a/src/main/java/net/minecraft/server/ItemArmorStand.java b/src/main/java/net/minecraft/server/ItemArmorStand.java -index c9a5d3b58..315faee9e 100644 +index c9a5d3b583..315faee9e3 100644 --- a/src/main/java/net/minecraft/server/ItemArmorStand.java +++ b/src/main/java/net/minecraft/server/ItemArmorStand.java @@ -43,6 +43,14 @@ public class ItemArmorStand extends Item { @@ -143,7 +143,7 @@ index c9a5d3b58..315faee9e 100644 world.playSound((EntityHuman) null, entityarmorstand.locX(), entityarmorstand.locY(), entityarmorstand.locZ(), SoundEffects.ENTITY_ARMOR_STAND_PLACE, SoundCategory.BLOCKS, 0.75F, 0.8F); } diff --git a/src/main/java/net/minecraft/server/ItemBoat.java b/src/main/java/net/minecraft/server/ItemBoat.java -index 0580ce55e..6183da7ad 100644 +index 0580ce55ec..6183da7ad2 100644 --- a/src/main/java/net/minecraft/server/ItemBoat.java +++ b/src/main/java/net/minecraft/server/ItemBoat.java @@ -52,6 +52,11 @@ public class ItemBoat extends Item { @@ -159,7 +159,7 @@ index 0580ce55e..6183da7ad 100644 return InteractionResultWrapper.fail(itemstack); } else { diff --git a/src/main/java/net/minecraft/server/ItemHanging.java b/src/main/java/net/minecraft/server/ItemHanging.java -index a3eaeeda8..f2f800087 100644 +index a3eaeeda87..f2f800087a 100644 --- a/src/main/java/net/minecraft/server/ItemHanging.java +++ b/src/main/java/net/minecraft/server/ItemHanging.java @@ -26,7 +26,7 @@ public class ItemHanging extends Item { @@ -184,7 +184,7 @@ index a3eaeeda8..f2f800087 100644 if (((EntityHanging) object).survives()) { diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 40f553e39..7161eba52 100644 +index 40f553e395..7161eba52e 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -738,6 +738,7 @@ public final class ItemStack { @@ -196,7 +196,7 @@ index 40f553e39..7161eba52 100644 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 f72197d70..9ce02f24f 100644 +index ea596fe832..4eb1aa9378 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 { @@ -210,17 +210,17 @@ index f72197d70..9ce02f24f 100644 armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } -@@ -201,6 +203,7 @@ public class PurpurWorldConfig { +@@ -200,6 +202,7 @@ public class PurpurWorldConfig { + public boolean fixClimbingBypassingCrammingRule = false; public boolean milkCuresBadOmen = true; - public boolean saveProjectilesToDisk = true; public boolean persistentTileEntityDisplayNames = false; + public boolean persistentDroppableEntityDisplayNames = false; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public int raidCooldownSeconds = 0; -@@ -215,6 +218,7 @@ public class PurpurWorldConfig { +@@ -213,6 +216,7 @@ public class PurpurWorldConfig { + fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); - saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk); persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); + persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); diff --git a/patches/server/0141-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0142-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 96% rename from patches/server/0141-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0142-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index bd672d3a5..0fa8fe029 100644 --- a/patches/server/0141-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0142-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand diff --git a/src/main/java/net/minecraft/server/ItemNameTag.java b/src/main/java/net/minecraft/server/ItemNameTag.java -index 01163ce38..a7efce973 100644 +index 01163ce386..a7efce9731 100644 --- a/src/main/java/net/minecraft/server/ItemNameTag.java +++ b/src/main/java/net/minecraft/server/ItemNameTag.java @@ -11,6 +11,11 @@ public class ItemNameTag extends Item { @@ -21,7 +21,7 @@ index 01163ce38..a7efce973 100644 ((EntityInsentient) entityliving).setPersistent(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9ce02f24f..231db400a 100644 +index 4eb1aa9378..781c2bbbaa 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/0142-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0143-Add-twisting-and-weeping-vines-growth-rates.patch similarity index 97% rename from patches/server/0142-Add-twisting-and-weeping-vines-growth-rates.patch rename to patches/server/0143-Add-twisting-and-weeping-vines-growth-rates.patch index 4183c8015..5f46d445e 100644 --- a/patches/server/0142-Add-twisting-and-weeping-vines-growth-rates.patch +++ b/patches/server/0143-Add-twisting-and-weeping-vines-growth-rates.patch @@ -67,10 +67,10 @@ index 23dca19403..94ffadb91f 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 231db400ae..44b0a45ec5 100644 +index 781c2bbbaa..057c95b46a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -412,6 +412,16 @@ public class PurpurWorldConfig { +@@ -410,6 +410,16 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } diff --git a/patches/server/0143-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0144-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch similarity index 97% rename from patches/server/0143-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch rename to patches/server/0144-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index 67e7c768c..727f2aeb5 100644 --- a/patches/server/0143-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0144-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -89,10 +89,10 @@ index 94ffadb91f..067df63ab2 100644 // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 44b0a45ec5..eec489453d 100644 +index 057c95b46a..3ce3d3e2ee 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -359,6 +359,11 @@ public class PurpurWorldConfig { +@@ -357,6 +357,11 @@ public class PurpurWorldConfig { furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel); } @@ -104,7 +104,7 @@ index 44b0a45ec5..eec489453d 100644 public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; public int lavaSpeedNether = 10; -@@ -413,13 +418,17 @@ public class PurpurWorldConfig { +@@ -411,13 +416,17 @@ public class PurpurWorldConfig { } public double twistingVinesGrowthModifier = 0.10D; diff --git a/patches/server/0144-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0145-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 95% rename from patches/server/0144-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0145-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index e64984ca3..f16feae07 100644 --- a/patches/server/0144-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0145-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index 995849212c..acb2b3ed04 100644 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 9dd8d694c4..ff1afb3539 100644 +index 3ce3d3e2ee..4b17e5541d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -585,10 +585,12 @@ public class PurpurWorldConfig { +@@ -583,10 +583,12 @@ public class PurpurWorldConfig { public boolean endermanRidable = false; public boolean endermanRidableInWater = false; public boolean endermanAllowGriefing = true; diff --git a/patches/server/0145-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch b/patches/server/0146-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch similarity index 97% rename from patches/server/0145-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch rename to patches/server/0146-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch index 71ab31b46..f86c0d085 100644 --- a/patches/server/0145-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch +++ b/patches/server/0146-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add critical hit check to EntityDamagedByEntityEvent diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index deb6c9342..84e500fa7 100644 +index deb6c93426..84e500fa7f 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -73,6 +73,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -33,7 +33,7 @@ index deb6c9342..84e500fa7 100644 if (flag5) { if (i > 0) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8bb9449a6..3c277e208 100644 +index a17f449b54..110db570c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1048,7 +1048,7 @@ public class CraftEventFactory { diff --git a/patches/server/0146-Add-configurable-snowball-damage.patch b/patches/server/0147-Add-configurable-snowball-damage.patch similarity index 96% rename from patches/server/0146-Add-configurable-snowball-damage.patch rename to patches/server/0147-Add-configurable-snowball-damage.patch index 5a60bfaba..6ef574bc2 100644 --- a/patches/server/0146-Add-configurable-snowball-damage.patch +++ b/patches/server/0147-Add-configurable-snowball-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable snowball damage diff --git a/src/main/java/net/minecraft/server/EntitySnowball.java b/src/main/java/net/minecraft/server/EntitySnowball.java -index 34a5f481e..d7bab4446 100644 +index 34a5f481e6..d7bab4446a 100644 --- a/src/main/java/net/minecraft/server/EntitySnowball.java +++ b/src/main/java/net/minecraft/server/EntitySnowball.java @@ -29,7 +29,7 @@ public class EntitySnowball extends EntityProjectileThrowable { @@ -18,7 +18,7 @@ index 34a5f481e..d7bab4446 100644 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 ff1afb353..07dcc3596 100644 +index 4b17e5541d..a5ef80fcc2 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 { diff --git a/patches/server/0147-Zombie-break-door-minimum-difficulty-option.patch b/patches/server/0148-Zombie-break-door-minimum-difficulty-option.patch similarity index 96% rename from patches/server/0147-Zombie-break-door-minimum-difficulty-option.patch rename to patches/server/0148-Zombie-break-door-minimum-difficulty-option.patch index ca07e113d..7ecfca878 100644 --- a/patches/server/0147-Zombie-break-door-minimum-difficulty-option.patch +++ b/patches/server/0148-Zombie-break-door-minimum-difficulty-option.patch @@ -40,7 +40,7 @@ index 7488a12926..23870a271b 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a8321cc301..79b345df7f 100644 +index a5ef80fcc2..6958621f7d 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 a8321cc301..79b345df7f 100644 import net.minecraft.server.Explosion; import net.minecraft.server.IRegistry; import net.minecraft.server.Item; -@@ -1110,6 +1111,7 @@ public class PurpurWorldConfig { +@@ -1108,6 +1109,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -59,7 +59,7 @@ index a8321cc301..79b345df7f 100644 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1117,6 +1119,11 @@ public class PurpurWorldConfig { +@@ -1115,6 +1117,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/0148-Add-demo-command.patch b/patches/server/0149-Add-demo-command.patch similarity index 100% rename from patches/server/0148-Add-demo-command.patch rename to patches/server/0149-Add-demo-command.patch diff --git a/patches/server/0149-Left-handed-API.patch b/patches/server/0150-Left-handed-API.patch similarity index 100% rename from patches/server/0149-Left-handed-API.patch rename to patches/server/0150-Left-handed-API.patch diff --git a/patches/server/0150-Origami-Fix-ProtocolLib-issues-on-Java-15.patch b/patches/server/0151-Origami-Fix-ProtocolLib-issues-on-Java-15.patch similarity index 100% rename from patches/server/0150-Origami-Fix-ProtocolLib-issues-on-Java-15.patch rename to patches/server/0151-Origami-Fix-ProtocolLib-issues-on-Java-15.patch diff --git a/patches/server/0151-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0152-Changeable-Mob-Left-Handed-Chance.patch similarity index 96% rename from patches/server/0151-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0152-Changeable-Mob-Left-Handed-Chance.patch index b0092331a..bec2fe862 100644 --- a/patches/server/0151-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0152-Changeable-Mob-Left-Handed-Chance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Changeable Mob Left Handed Chance diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 9214b2a3c..3a79771d5 100644 +index 9214b2a3c9..3a79771d57 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1133,7 +1133,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -18,7 +18,7 @@ index 9214b2a3c..3a79771d5 100644 } 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 79b345df7..8bdb6399e 100644 +index 6958621f7d..7d4ab65961 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -129,8 +129,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0152-Add-boat-fall-damage-config.patch b/patches/server/0153-Add-boat-fall-damage-config.patch similarity index 97% rename from patches/server/0152-Add-boat-fall-damage-config.patch rename to patches/server/0153-Add-boat-fall-damage-config.patch index 49bee6559..8948dc5ce 100644 --- a/patches/server/0152-Add-boat-fall-damage-config.patch +++ b/patches/server/0153-Add-boat-fall-damage-config.patch @@ -27,7 +27,7 @@ index e5222106e4..c5d03fd208 100644 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 8bdb6399e7..f40efc6bc3 100644 +index 7d4ab65961..7c0d5b2618 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 { @@ -38,7 +38,7 @@ index 8bdb6399e7..f40efc6bc3 100644 public boolean disableDropsOnCrammingDeath = false; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesCanUsePortals = true; -@@ -221,6 +222,7 @@ public class PurpurWorldConfig { +@@ -220,6 +221,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/0154-Config-migration-disable-saving-projectiles-to-disk-.patch b/patches/server/0154-Config-migration-disable-saving-projectiles-to-disk-.patch new file mode 100644 index 000000000..a0051d1cf --- /dev/null +++ b/patches/server/0154-Config-migration-disable-saving-projectiles-to-disk-.patch @@ -0,0 +1,82 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: jmp +Date: Mon, 30 Nov 2020 18:30:13 -0800 +Subject: [PATCH] Config migration: disable saving projectiles to disk -> + projectile load/save limit of 0 + + +diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java +index 6ab0a51b42..e21ef1bdc6 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +@@ -118,6 +118,11 @@ public class PaperConfig { + } + } + ++ // Purpur start - public save method for config migration ++ saveConfig(); ++ } ++ public static void saveConfig() { ++ // Purpur end + try { + config.save(CONFIG_FILE); + } catch (IOException ex) { +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index 6379663d75..7d5cd3262d 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -1,6 +1,7 @@ + package net.pl3x.purpur; + + import co.aikar.timings.TimingsManager; ++import com.destroystokyo.paper.PaperConfig; + import com.google.common.base.Throwables; + import net.minecraft.server.MinecraftServer; + import net.pl3x.purpur.command.PurpurCommand; +@@ -130,6 +131,17 @@ public class PurpurConfig { + return config.getString(path, config.getString(path)); + } + ++ private static void migrateDisableProjectileSaving() { ++ if (PurpurConfig.version < 6) { ++ final boolean saveProjectilesToDisk = getBoolean("world-settings.default.gameplay-mechanics.save-projectiles-to-disk", true); ++ set("world-settings.default.gameplay-mechanics.save-projectiles-to-disk", null); ++ if (!saveProjectilesToDisk) { ++ PaperConfig.config.set("world-settings.default.projectile-load-save-per-chunk-limit", 0); ++ PaperConfig.saveConfig(); ++ } ++ } ++ } ++ + public static String afkBroadcastAway = "§e§o%s is now AFK"; + 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 7c0d5b2618..d9e47a14b2 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -1,5 +1,6 @@ + package net.pl3x.purpur; + ++import com.destroystokyo.paper.PaperConfig; + import net.minecraft.server.Block; + import net.minecraft.server.Blocks; + import net.minecraft.server.EnumDifficulty; +@@ -84,6 +85,17 @@ public class PurpurWorldConfig { + return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); + } + ++ private void migrateDisableProjectileSaving() { ++ if (PurpurConfig.version < 6) { ++ final boolean saveProjectilesToDisk = PurpurConfig.config.getBoolean("world-settings." + worldName + ".gameplay-mechanics.save-projectiles-to-disk", true); ++ set("gameplay-mechanics.save-projectiles-to-disk", null); ++ if (!saveProjectilesToDisk) { ++ PaperConfig.config.set("world-settings." + worldName + ".projectile-load-save-per-chunk-limit", 0); ++ PaperConfig.saveConfig(); ++ } ++ } ++ } ++ + public boolean armorstandSetNameVisible = false; + public boolean armorstandFixNametags = false; + public float armorstandStepHeight = 0.0F;