From 296267da93f0b3b3d444f35d21b03d1997ec295a Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Tue, 9 Mar 2021 17:52:38 -0600 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: eb11845f8 Fix creating worlds with "invalid" names (Fixes #5331) e4d8a6279 Implement Keyed on World bcb63dab7 [CI-SKIP] [Auto] Rebuild Patches 48342b06c Allow signs that are inside of the spawn protection to be right clicked to use their run_command tag c229f90c1 Add Block#isValidTool 20e709c1d Add recipe to cook events 2dcf8bff4 legacy formatting will be the death of me f597fea0d legacy formatting is worse than walking around in wet socks 7f72c4675 Use implementation-provided legacy serializer for events 27a8d99ec Adventure 4.7.0 e65bd35a1 Respect teams in legacy chat name if configured (#5321) b31089a92 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325) a52b30814 Fix title swapping fadeIn and stay 54ec85949 Prevent grindstones from overstacking items d7795080c Fix NPE for AIR in meta operations in ItemStack 2e70796c7 [CI-SKIP] Improve documentation of PreCreatureSpawnEvent (#5244) 7bb92e750 [CI-SKIP] Add JavaDoc links to Tag class pointing to custom Paper tags (#5285) 28cd686bf fix per-world difficulty command (#5306) be7cde2c7 [CI-SKIP] Always check PATH for JDK (#5315) --- Paper | 2 +- patches/api/0001-Tuinity-API-Changes.patch | 6 +- patches/api/0002-Purpur-config-files.patch | 4 +- patches/api/0008-Bring-back-server-name.patch | 8 +- patches/api/0011-Lagging-threshold.patch | 8 +- .../0018-ItemStack-convenience-methods.patch | 6 +- ...oc-warnings-missing-param-and-return.patch | 58 ++++++-- ...-Add-unsafe-Entity-serialization-API.patch | 4 +- .../server/0001-Tuinity-Server-Changes.patch | 140 +++++++++--------- patches/server/0002-Rebrand.patch | 10 +- patches/server/0003-Purpur-config-files.patch | 8 +- .../0005-Barrels-and-enderchests-6-rows.patch | 12 +- patches/server/0007-Llama-API.patch | 4 +- patches/server/0008-AFK-API.patch | 6 +- .../server/0009-Bring-back-server-name.patch | 8 +- .../0010-Configurable-server-mod-name.patch | 4 +- .../0011-LivingEntity-safeFallDistance.patch | 4 +- patches/server/0012-Lagging-threshold.patch | 10 +- .../0016-Player-invulnerabilities.patch | 10 +- ...18-Configurable-villager-brain-ticks.patch | 8 +- .../0019-Alternative-Keepalive-Handling.patch | 2 +- patches/server/0020-Silk-touch-spawners.patch | 12 +- ...772-Fix-Add-turtle-egg-block-options.patch | 2 +- ...0028-Charged-creeper-naturally-spawn.patch | 4 +- ...cow-rotation-when-shearing-mooshroom.patch | 4 +- ...42-Snowman-drop-and-put-back-pumpkin.patch | 6 +- ...43-Ender-dragon-always-drop-full-exp.patch | 2 +- .../0044-Signs-editable-on-right-click.patch | 4 +- .../server/0045-Signs-allow-color-codes.patch | 8 +- ...hould-check-if-entity-can-use-portal.patch | 4 +- .../0054-Add-permission-for-F3-N-debug.patch | 4 +- .../0056-Configurable-TPS-Catchup.patch | 4 +- ...derman-and-creeper-griefing-controls.patch | 4 +- ...0061-Villagers-follow-emerald-blocks.patch | 12 +- .../0062-Allow-leashing-villagers.patch | 8 +- ...urable-search-radius-for-villagers-t.patch | 4 +- .../server/0064-Implement-infinite-lava.patch | 6 +- ...g-mends-most-damages-equipment-first.patch | 4 +- ...0073-Add-5-second-tps-average-in-tps.patch | 12 +- .../server/0075-Item-entity-immunities.patch | 10 +- patches/server/0076-Add-ping-command.patch | 4 +- .../0077-Configurable-jockey-options.patch | 12 +- ...-Add-allow-water-in-end-world-option.patch | 6 +- .../0083-Allow-color-codes-in-books.patch | 2 +- patches/server/0084-Entity-lifespan.patch | 2 +- .../0090-Configurable-villager-breeding.patch | 4 +- .../0096-Dispensers-place-anvils-option.patch | 2 +- patches/server/0102-Ridables.patch | 104 ++++++------- ...e-config-options-per-projectile-type.patch | 16 +- ...sable-zombie-aggressiveness-towards-.patch | 4 +- ...tent-TileEntity-Lore-and-DisplayName.patch | 10 +- .../server/0119-Infinite-fuel-furnace.patch | 6 +- ...justable-breeding-cooldown-to-config.patch | 6 +- ...e-entity-breeding-times-configurable.patch | 10 +- .../0139-Snow-Golem-rate-of-fire-config.patch | 4 +- ...g-option-for-Piglins-guarding-chests.patch | 2 +- .../0143-Lobotomize-stuck-villagers.patch | 8 +- ...Villager-Clerics-to-farm-Nether-Wart.patch | 14 +- ...d-out-and-optimise-player-list-ticks.patch | 8 +- ...-Configurable-entity-base-attributes.patch | 60 ++++---- patches/server/0152-Implement-TPSBar.patch | 10 +- .../server/0154-PlayerBookTooLargeEvent.patch | 2 +- patches/server/0157-Add-MC-4-fix-back.patch | 4 +- ...iefing-bypass-to-everything-affected.patch | 12 +- ...0160-Add-EntityTeleportHinderedEvent.patch | 12 +- ...yerEditBookEvent-not-saving-new-book.patch | 2 +- ...oggle-for-water-sensitive-mob-damage.patch | 4 +- ...-Add-unsafe-Entity-serialization-API.patch | 8 +- ...ither-Ender-Dragon-can-ride-vehicles.patch | 2 +- .../server/0173-Dont-run-with-scissors.patch | 2 +- ...er-Pearl-cooldown-damage-and-Endermi.patch | 6 +- 71 files changed, 405 insertions(+), 379 deletions(-) diff --git a/Paper b/Paper index 5b20df6bf..eb11845f8 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit 5b20df6bf05752da96c5a78c8e452d757a4ce306 +Subproject commit eb11845f87197d08a68bf083e509679bead010ab diff --git a/patches/api/0001-Tuinity-API-Changes.patch b/patches/api/0001-Tuinity-API-Changes.patch index e88c06be1..ae25e59e9 100644 --- a/patches/api/0001-Tuinity-API-Changes.patch +++ b/patches/api/0001-Tuinity-API-Changes.patch @@ -8,7 +8,7 @@ Tuinity config API to retrieve raw YamlConfiguration + timing exports diff --git a/pom.xml b/pom.xml -index 763e619dc8645b7bf96329fb1fd70cd526f99ca5..b581cd4ed360f9d96604a1fd7390ead9a46648fc 100644 +index ff3894bfa4ddb54b56c28792debaf2218ee3a044..821df3413345c613eccff158f8081cf9ba848a14 100644 --- a/pom.xml +++ b/pom.xml @@ -3,18 +3,18 @@ @@ -37,10 +37,10 @@ index 763e619dc8645b7bf96329fb1fd70cd526f99ca5..b581cd4ed360f9d96604a1fd7390ead9 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index a79fa08b9e6fb924b2da933eb6e4b365d14d938d..414c9a2ca5389c4a99ddfe5a04706df221e7346e 100644 +index f3e27d2d02a9407bb1b091b8c1125ad5abf99e55..b3e7b2a8eaa3980e34bc74a846320b7871dc6e4b 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1584,6 +1584,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1595,6 +1595,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/patches/api/0002-Purpur-config-files.patch b/patches/api/0002-Purpur-config-files.patch index 7a292d497..ce0aa85d7 100644 --- a/patches/api/0002-Purpur-config-files.patch +++ b/patches/api/0002-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 414c9a2ca5389c4a99ddfe5a04706df221e7346e..136ed8b9799c9e9b66dd326de4bb303864091ec6 100644 +index b3e7b2a8eaa3980e34bc74a846320b7871dc6e4b..c4aa05ae1fbc67b455f82ca6c08c7706659269ad 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1592,6 +1592,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1603,6 +1603,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Tuinity end - add config to timings report diff --git a/patches/api/0008-Bring-back-server-name.patch b/patches/api/0008-Bring-back-server-name.patch index 193ceb970..0b7f12152 100644 --- a/patches/api/0008-Bring-back-server-name.patch +++ b/patches/api/0008-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 68101a322ffab8ec28843386b79b8079576fa720..ce5e38f7eac68d99cbf29a8d4af1a0da4c31f290 100644 +index 5f7208196684d9c8373df28b7cfb5f9e21baa41e..7eab52112a488150636a1457f5d7aba84da6cbf5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1931,4 +1931,15 @@ public final class Bukkit { +@@ -1943,4 +1943,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index 68101a322ffab8ec28843386b79b8079576fa720..ce5e38f7eac68d99cbf29a8d4af1a0da + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 136ed8b9799c9e9b66dd326de4bb303864091ec6..9b25ed377d07d319229ac5b9b6be0a6d4ee48d2c 100644 +index c4aa05ae1fbc67b455f82ca6c08c7706659269ad..ce2909995791f3b334d253afc382baea9e49dd1d 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1708,4 +1708,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1719,4 +1719,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); // Paper end diff --git a/patches/api/0011-Lagging-threshold.patch b/patches/api/0011-Lagging-threshold.patch index 17b2ad47b..4b19f99e4 100644 --- a/patches/api/0011-Lagging-threshold.patch +++ b/patches/api/0011-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ce5e38f7eac68d99cbf29a8d4af1a0da4c31f290..cf46ff5d32e3efea829c0af5380aa3ea4124c473 100644 +index 7eab52112a488150636a1457f5d7aba84da6cbf5..801bef2a060962b5c4f92234401e5bc34a62141a 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1941,5 +1941,14 @@ public final class Bukkit { +@@ -1953,5 +1953,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index ce5e38f7eac68d99cbf29a8d4af1a0da4c31f290..cf46ff5d32e3efea829c0af5380aa3ea // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 9b25ed377d07d319229ac5b9b6be0a6d4ee48d2c..746683f5e540950fe30d70b25173d946159ae8c6 100644 +index ce2909995791f3b334d253afc382baea9e49dd1d..28a1fe3af1546daa779df46468e0ff8ad823f9ca 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1716,5 +1716,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1727,5 +1727,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0018-ItemStack-convenience-methods.patch b/patches/api/0018-ItemStack-convenience-methods.patch index 9b35be27c..fc514533f 100644 --- a/patches/api/0018-ItemStack-convenience-methods.patch +++ b/patches/api/0018-ItemStack-convenience-methods.patch @@ -46,7 +46,7 @@ index 7b77c7132723a01e8c38ddaa616b363be300b653..c6b1131b1700797e0515045f4e5c81f8 + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7531fc910ed65dc12e242cf5042ce4cef9fe661d..890a37ebd79e770114ea188a0a5d9d2e27542911 100644 +index 878f09d5e587bc4bd70443fbdb89dac29e5a538d..f0c17f1342d9c70cb4fe1fc46dd8b9006037e860 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -68,8 +68,8 @@ index 7531fc910ed65dc12e242cf5042ce4cef9fe661d..890a37ebd79e770114ea188a0a5d9d2e /** * Represents a stack of items. -@@ -798,4 +810,627 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor - return itemMeta.hasItemFlag(flag); +@@ -810,4 +822,627 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor + return itemMeta != null && itemMeta.hasItemFlag(flag); } // Paper end + diff --git a/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch b/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch index 430003a76..26ab49cc6 100644 --- a/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch +++ b/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch @@ -476,10 +476,10 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..7838731e0e16bdccfb79e74ceb64148f /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 746683f5e540950fe30d70b25173d946159ae8c6..ea140aaf20f5d4212c109a2bfc0aab1e0851c665 100644 +index 28a1fe3af1546daa779df46468e0ff8ad823f9ca..7a3be414ef9d54d7a852ba92d704011fa7f125ac 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1557,6 +1557,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1568,6 +1568,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi UnsafeValues getUnsafe(); // Spigot start @@ -490,10 +490,10 @@ index 746683f5e540950fe30d70b25173d946159ae8c6..ea140aaf20f5d4212c109a2bfc0aab1e @NotNull diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 931ffa38faab86445a5d63364a47cb653ca3d4ed..97b9ade0e771eae663fb42f91e15545034d58fc9 100644 +index f486d7c819f6330223980793c9b086fded0af059..632e53338c4d902aea7e8589152b1c1b6e6dde6a 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -80,6 +80,8 @@ public interface UnsafeValues { +@@ -81,6 +81,8 @@ public interface UnsafeValues { /** * Called once by the version command on first use, then cached. @@ -502,7 +502,7 @@ index 931ffa38faab86445a5d63364a47cb653ca3d4ed..97b9ade0e771eae663fb42f91e155450 */ default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher(); -@@ -98,6 +100,8 @@ public interface UnsafeValues { +@@ -99,6 +101,8 @@ public interface UnsafeValues { /** * Return the translation key for the Material, so the client can translate it into the active * locale when using a TranslatableComponent. @@ -511,7 +511,7 @@ index 931ffa38faab86445a5d63364a47cb653ca3d4ed..97b9ade0e771eae663fb42f91e155450 * @return the translation key */ String getTranslationKey(Material mat); -@@ -105,6 +109,8 @@ public interface UnsafeValues { +@@ -106,6 +110,8 @@ public interface UnsafeValues { /** * Return the translation key for the Block, so the client can translate it into the active * locale when using a TranslatableComponent. @@ -520,7 +520,7 @@ index 931ffa38faab86445a5d63364a47cb653ca3d4ed..97b9ade0e771eae663fb42f91e155450 * @return the translation key */ String getTranslationKey(org.bukkit.block.Block block); -@@ -113,6 +119,8 @@ public interface UnsafeValues { +@@ -114,6 +120,8 @@ public interface UnsafeValues { * Return the translation key for the EntityType, so the client can translate it into the active * locale when using a TranslatableComponent.
* This is null, when the EntityType isn't known to NMS (custom entities) @@ -529,7 +529,7 @@ index 931ffa38faab86445a5d63364a47cb653ca3d4ed..97b9ade0e771eae663fb42f91e155450 * @return the translation key */ String getTranslationKey(org.bukkit.entity.EntityType type); -@@ -121,6 +129,8 @@ public interface UnsafeValues { +@@ -122,6 +130,8 @@ public interface UnsafeValues { * Creates and returns the next EntityId available. *

* Use this when sending custom packets, so that there are no collisions on the client or server. @@ -553,10 +553,28 @@ index afb7b136b461202026290624836446cff9f9e45d..087579fdff09237409c9f80446e7a15a /** diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java -index 6e6945dd4c770be04ec09da3958fae751717527a..7d1030d4573e3843cae9ad4e39cef8baa2af39b0 100644 +index 1d93a6c42d6c93ffd50c6054e74f3ff75d745b58..0dc013530b39618a7282a094b0bdb4c024f23712 100644 --- a/src/main/java/org/bukkit/WorldCreator.java +++ b/src/main/java/org/bukkit/WorldCreator.java -@@ -238,11 +238,8 @@ public class WorldCreator { +@@ -71,6 +71,8 @@ public class WorldCreator { + * + * @param levelName LevelName of the world that will be created + * @param worldKey NamespacedKey of the world that will be created ++ * ++ * @return WorldCreator + */ + @NotNull + public static WorldCreator ofNameAndKey(@NotNull String levelName, @NotNull NamespacedKey worldKey) { +@@ -82,6 +84,8 @@ public class WorldCreator { + * LevelName will be the Key part of the NamespacedKey. + * + * @param worldKey NamespacedKey of the world that will be created ++ * ++ * @return WorldCreator + */ + @NotNull + public static WorldCreator ofKey(@NotNull NamespacedKey worldKey) { +@@ -293,11 +297,8 @@ public class WorldCreator { * is as follows: * {"structures": {"structures": {"village": {"salt": 8015723, "spacing": 32, "separation": 8}}}, "layers": [{"block": "stone", "height": 1}, {"block": "grass", "height": 1}], "biome":"plains"} * @@ -599,7 +617,7 @@ index d1757f3d456ff9efce26ce8baa1d16d896908cc2..a5db52386e11e4b5511ae417a0e7ac92 TASK(ChatColor.GREEN), CHALLENGE(ChatColor.DARK_PURPLE), diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index a7bc431ea8e25abdc1bc575eb73d26b37a2049b3..b5129ec5009b65d46ccf4f1a05cc4af0b3d427e5 100644 +index 85ff6ce3bf75ab78f066a508d130def5913fff0e..c1f9114d1c0ac3457461c9326420a4afc00ce970 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -183,6 +183,9 @@ public interface Block extends Metadatable { @@ -679,7 +697,7 @@ index 70274f2e2a1d6f27c4febd9d5d5fa3ee1b49f100..3b98e6e3e6dea0df5fb9462c78e8c142 /** diff --git a/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java -index 6aa795fe79ceca03c1725c36f2b0d3a63acd134e..683a1f55257d2b1d63e14a975b80ff4ab80ed3e0 100644 +index fb0e608fa92dae99b9eee8fc1cbdf4b91a33e620..ca6d3afd6fa51c0822e289356025b51bc50f55a7 100644 --- a/src/main/java/org/bukkit/command/CommandSender.java +++ b/src/main/java/org/bukkit/command/CommandSender.java @@ -62,6 +62,9 @@ public interface CommandSender extends net.kyori.adventure.audience.Audience, Pe @@ -1143,7 +1161,7 @@ index 4aaa78afdda2d2351f8c4ed46a52e0cf77ec437c..4d2d821003840b7fc1ca412d71b84134 /** * Player emptying the cauldron by filling their bucket. diff --git a/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java b/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java -index 7d23333e71482920cc42a4d8f3f38a7525aefe1f..765aa67f4cbb535128070d3310d1be9ecede3bf8 100644 +index 76ad715961c1b373ba276c61ced728affd4dbec1..27ce18199100b181a0502bc6de12cc7dfc430f86 100644 --- a/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java @@ -79,6 +79,9 @@ public class EntityTransformEvent extends EntityEvent implements Cancellable { @@ -1241,7 +1259,7 @@ index efd29d198dd847e22988963f70ad57e1b810aeb7..b5de6e77a030057f923a5d82ea0054b9 private static final HandlerList handlers = new HandlerList(); private boolean repair; diff --git a/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java b/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java -index 6e9205024ca9d3000a371bd0eb723dcd6c662bce..b4add8a6dac4dea35ac48d3254aeb0b3c183b9c8 100644 +index b6016aa1e91863efc252eecab69ade6f54c89f27..e43acfb570036adb73d195136573620378cc6a61 100644 --- a/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerQuitEvent.java @@ -94,6 +94,9 @@ public class PlayerQuitEvent extends PlayerEvent { @@ -1352,10 +1370,18 @@ index c7b17eabf07b829a02afe7c1f27a5127b6bfea70..d4e2bcf8ce8fc2af851b471490147f00 /** diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java -index 0c5e488fca4370a18fede705f58bff25f3a7b4cb..ffe8a6dcb13d917a7c295dfa6123da9e29e66d6d 100644 +index 0c5e488fca4370a18fede705f58bff25f3a7b4cb..551bed4f91fe23d36f3299b1b1576546722eb799 100644 --- a/src/main/java/org/bukkit/inventory/ItemFactory.java +++ b/src/main/java/org/bukkit/inventory/ItemFactory.java -@@ -179,7 +179,7 @@ public interface ItemFactory { +@@ -148,6 +148,7 @@ public interface ItemFactory { + * Creates a hover event for the given item. + * + * @param item The item ++ * @param op Unary operator + * @return A hover event + */ + @NotNull +@@ -179,7 +180,7 @@ public interface ItemFactory { /** * Creates a {@link net.md_5.bungee.api.chat.hover.content.Content} of that ItemStack for displaying. * diff --git a/patches/api/0037-Add-unsafe-Entity-serialization-API.patch b/patches/api/0037-Add-unsafe-Entity-serialization-API.patch index 2f1c2dcb5..770ebed99 100644 --- a/patches/api/0037-Add-unsafe-Entity-serialization-API.patch +++ b/patches/api/0037-Add-unsafe-Entity-serialization-API.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 97b9ade0e771eae663fb42f91e15545034d58fc9..0c9d3c8a28a791fe26bb1c014b568e955eca0e8f 100644 +index 632e53338c4d902aea7e8589152b1c1b6e6dde6a..e64d28359c6f5180f1dfd3896a5ba99fd30a943c 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -135,4 +135,28 @@ public interface UnsafeValues { +@@ -136,4 +136,28 @@ public interface UnsafeValues { public int nextEntityId(); // Paper end diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index 9fb9dd7a5..3c3b34ea8 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -10817,10 +10817,10 @@ index 0840fdf3585407ec317f0326359619220c64db78..6b9b64539d2272070b523ed6b927de02 // CraftBukkit start - Fire ProjectileHitEvent if (this.dead) { diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index a646dc9f030ad1f76ba2b7bb1bc7897cd34b648c..dd18eabd7104995f0e6a8ecb279a3872b46773de 100644 +index 9bc4d3dbd4c64a6fbf33dcf28afde59ace9171ba..d8faa18724baa240fca78a35c362cf661615ec4d 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java -@@ -124,8 +124,10 @@ public class EntityFireworks extends IProjectile { +@@ -125,8 +125,10 @@ public class EntityFireworks extends IProjectile { MovingObjectPosition movingobjectposition = ProjectileHelper.a((Entity) this, this::a); if (!this.noclip) { @@ -10832,10 +10832,10 @@ index a646dc9f030ad1f76ba2b7bb1bc7897cd34b648c..dd18eabd7104995f0e6a8ecb279a3872 this.x(); diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index e97c7794e86c0518bcec0a0370bffbeab20e2623..0816ab54bc99bcf29356b56516e83759a3f2988f 100644 +index 3580f40b2bb30bceca0ce374edb29608168a00c0..9841c7c27cd296a5156ba79ab734d45922bacaf7 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java -@@ -226,7 +226,9 @@ public class EntityFishingHook extends IProjectile { +@@ -227,7 +227,9 @@ public class EntityFishingHook extends IProjectile { private void m() { MovingObjectPosition movingobjectposition = ProjectileHelper.a((Entity) this, this::a); @@ -10865,10 +10865,10 @@ index a88521745f9f9b6935a61db52db915ea483af227..a47217c020d2c2a3caddafa0549dc827 if (entityhuman != null) { double d0 = entityhuman.h((Entity) this); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index f41aaa7623c052b9f4044898d1bdee898c03057a..d99cecc4075338d7b8f154ab94d8ac04190ba371 100644 +index 5dfb54e17fcfe6bd30e6b2a449944606e1a0ef17..9a8b7e06f14f17dfea08d7031c83f77491aaca65 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java -@@ -526,7 +526,7 @@ public class EntityItem extends Entity { +@@ -527,7 +527,7 @@ public class EntityItem extends Entity { // Paper start - fix MC-4 public void setPositionRaw(double x, double y, double z) { @@ -11992,10 +11992,10 @@ index ff74be14512a947e81b62d53e616131ca7d7f609..e79e773f2219f9a9ae076fcbc8108b79 public static void mergeSortedSets(final java.util.function.Consumer consumer, final java.util.Comparator comparator, final java.util.SortedSet...sets) { final ObjectRBTreeSet all = new ObjectRBTreeSet<>(comparator); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a63f634ea 100644 +index c572ef2830f2653e2b30622bbac0a3b072bacd7a..7ac34a8959a797bf2af96f3f402fa65cffe3d666 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -153,6 +153,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public boolean serverAutoSave = false; // Paper -@@ -753,10 +754,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { @@ -12159,7 +12159,7 @@ index d6ca2ac9a5047b8d6840c8b4985ab75f35bea919..e5acc1a3e3d774c10feac9b022acba5a return !this.canOversleep(); }); isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); -@@ -1268,6 +1328,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd62e2b279 100644 +index 00d0a5fd7c5d2db19756f3c6cfb2381868af51fd..3fe03b92658b157d6c7875dcaae6bbd41952ccd5 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -121,31 +121,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -122,31 +122,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // CraftBukkit start - recursion-safe executor for Chunk loadCallback() and unloadCallback() public final CallbackExecutor callbackExecutor = new CallbackExecutor(); public static final class CallbackExecutor implements java.util.concurrent.Executor, Runnable { @@ -13436,7 +13436,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd task.run(); } } -@@ -198,8 +195,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -199,8 +196,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { public final com.destroystokyo.paper.util.misc.PlayerAreaMap playerViewDistanceTickMap; public final com.destroystokyo.paper.util.misc.PlayerAreaMap playerViewDistanceNoTickMap; // Paper end - no-tick view distance @@ -13452,7 +13452,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd int chunkX = MCUtil.getChunkCoordinate(player.locX()); int chunkZ = MCUtil.getChunkCoordinate(player.locZ()); // Note: players need to be explicitly added to distance maps before they can be updated -@@ -227,9 +231,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -228,9 +232,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.playerViewDistanceBroadcastMap.add(player, chunkX, chunkZ, effectiveNoTickViewDistance + 1); // clients need an extra neighbour to render the full view distance configured player.needsChunkCenterUpdate = false; // Paper end - no-tick view distance @@ -13466,7 +13466,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd // Paper start - use distance map to optimise tracker for (int i = 0, len = TRACKING_RANGE_TYPES.length; i < len; ++i) { this.playerEntityTrackerTrackMaps[i].remove(player); -@@ -244,9 +252,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -245,9 +253,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.playerViewDistanceTickMap.remove(player); this.playerViewDistanceNoTickMap.remove(player); // Paper end - no-tick view distance @@ -13480,7 +13480,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd int chunkX = MCUtil.getChunkCoordinate(player.locX()); int chunkZ = MCUtil.getChunkCoordinate(player.locZ()); // Note: players need to be explicitly added to distance maps before they can be updated -@@ -274,9 +286,35 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -275,9 +287,35 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.playerViewDistanceBroadcastMap.update(player, chunkX, chunkZ, effectiveNoTickViewDistance + 1); // clients need an extra neighbour to render the full view distance configured player.needsChunkCenterUpdate = false; // Paper end - no-tick view distance @@ -13516,7 +13516,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd private final java.util.concurrent.ExecutorService lightThread; public PlayerChunkMap(WorldServer worldserver, Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer, DefinedStructureManager definedstructuremanager, Executor executor, IAsyncTaskHandler iasynctaskhandler, ILightAccess ilightaccess, ChunkGenerator chunkgenerator, WorldLoadListener worldloadlistener, Supplier supplier, int i, boolean flag) { super(new File(convertable_conversionsession.a(worldserver.getDimensionKey()), "region"), datafixer, flag); -@@ -310,9 +348,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -311,9 +349,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.worldLoadListener = worldloadlistener; // Paper start - use light thread @@ -13528,7 +13528,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd thread.setDaemon(true); thread.setPriority(Thread.NORM_PRIORITY+1); return thread; -@@ -444,6 +483,26 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -445,6 +484,26 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { PlayerChunkMap.this.sendChunk(player, new ChunkCoordIntPair(rangeX, rangeZ), null, true, false); // unloaded, loaded }); // Paper end - no-tick view distance @@ -13555,7 +13555,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd } // Paper start - Chunk Prioritization public void queueHolderUpdate(PlayerChunk playerchunk) { -@@ -756,6 +815,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -757,6 +816,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @Nullable private PlayerChunk a(long i, int j, @Nullable PlayerChunk playerchunk, int k) { @@ -13564,7 +13564,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd if (k > PlayerChunkMap.GOLDEN_TICKET && j > PlayerChunkMap.GOLDEN_TICKET) { return playerchunk; } else { -@@ -778,7 +839,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -779,7 +840,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { playerchunk.a(j); } else { playerchunk = new PlayerChunk(new ChunkCoordIntPair(i), j, this.lightEngine, this.p, this); @@ -13574,7 +13574,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd this.updatingChunks.put(i, playerchunk); this.updatingChunksModified = true; -@@ -904,7 +967,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -905,7 +968,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } @@ -13583,7 +13583,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd protected void unloadChunks(BooleanSupplier booleansupplier) { GameProfilerFiller gameprofilerfiller = this.world.getMethodProfiler(); -@@ -970,7 +1033,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -971,7 +1034,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world, chunkPos.x, chunkPos.z, @@ -13592,7 +13592,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd if (!chunk.isNeedsSaving()) { return; -@@ -1004,7 +1067,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1005,7 +1068,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { asyncSaveData = ChunkRegionLoader.getAsyncSaveData(this.world, chunk); } @@ -13601,7 +13601,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd asyncSaveData, chunk); chunk.setLastSaved(this.world.getTime()); -@@ -1012,6 +1075,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1013,6 +1076,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } // Paper end @@ -13610,7 +13610,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd private void a(long i, PlayerChunk playerchunk) { CompletableFuture completablefuture = playerchunk.getChunkSave(); Consumer consumer = (ichunkaccess) -> { // CraftBukkit - decompile error -@@ -1020,7 +1085,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1021,7 +1086,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { if (completablefuture1 != completablefuture) { this.a(i, playerchunk); } else { @@ -13627,7 +13627,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd if (ichunkaccess instanceof Chunk) { ((Chunk) ichunkaccess).setLoaded(false); } -@@ -1044,6 +1117,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1045,6 +1118,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.lightEngine.queueUpdate(); this.worldLoadListener.a(ichunkaccess.getPos(), (ChunkStatus) null); } @@ -13637,7 +13637,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd } }; -@@ -1059,6 +1135,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1060,6 +1136,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } protected boolean b() { @@ -13645,7 +13645,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd if (!this.updatingChunksModified) { return false; } else { -@@ -1134,6 +1211,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1135,6 +1212,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.getVillagePlace().loadInData(chunkcoordintpair, chunkHolder.poiData); chunkHolder.tasks.forEach(Runnable::run); @@ -13653,7 +13653,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd // Paper end if (chunkHolder.protoChunk != null) {try (Timing ignored2 = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) { // Paper start - timings // Paper - chunk is created async -@@ -1246,9 +1324,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1247,9 +1325,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } // Paper end this.mailboxWorldGen.a(ChunkTaskQueueSorter.a(playerchunk, runnable)); @@ -13668,7 +13668,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd protected void c(ChunkCoordIntPair chunkcoordintpair) { this.executor.a(SystemUtils.a(() -> { this.chunkDistanceManager.b(TicketType.LIGHT, chunkcoordintpair, 33 + ChunkStatus.a(ChunkStatus.FEATURES), chunkcoordintpair); -@@ -1415,9 +1497,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1416,9 +1498,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { chunk.B(); return chunk; }); @@ -13679,7 +13679,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd } public int c() { -@@ -1498,6 +1578,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1499,6 +1579,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } public void setViewDistance(int i) { // Paper - public @@ -13687,7 +13687,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd int j = MathHelper.clamp(i + 1, 3, 33); // Paper - diff on change, these make the lower view distance limit 2 and the upper 32 if (j != this.viewDistance) { -@@ -1511,6 +1592,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1512,6 +1593,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Paper start - no-tick view distance public final void setNoTickViewDistance(int viewDistance) { @@ -13695,7 +13695,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd viewDistance = viewDistance == -1 ? -1 : MathHelper.clamp(viewDistance, 2, 32); this.noTickViewDistance = viewDistance; -@@ -1626,7 +1708,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1627,7 +1709,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { if (Thread.currentThread() != com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE) { com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave( this.world, chunkcoordintpair.x, chunkcoordintpair.z, null, nbttagcompound, @@ -13704,7 +13704,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd return; } super.write(chunkcoordintpair, nbttagcompound); -@@ -1710,6 +1792,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1711,6 +1793,11 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { return chunkHolder == null ? null : chunkHolder.getAvailableChunkNow(); } // Paper end @@ -13716,7 +13716,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd // Paper start - async io -@@ -2037,22 +2124,25 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -2038,22 +2125,25 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final void processTrackQueue() { this.world.timings.tracker1.startTiming(); try { @@ -13756,7 +13756,7 @@ index e16cd5da219e41f16f9c04fd95b79fe5cf10f6b8..3ae51a3a5d863d58fde73934ed100fbd } // Paper end - optimised tracker diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f3679a3ad2d51612381bc47bb23eeffec924d478..24b8a27b46c9e617fe3db6317da60227dbb60a1e 100644 +index 3435eb1584546d2963324372ddab1645dcf6327a..9146b60cff0aa06e2f6b6003bfe9e2be9d2f0d56 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -423,7 +423,9 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -13987,10 +13987,10 @@ index 8c7080777b370f97e1291dfedde5b419290f39cc..7fff1b3e4eda519851b714502d33122c }); throw CancelledPacketHandleException.INSTANCE; diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f70d01568b 100644 +index d57784c5dd44cc110b7c863ffff82263178e7d9a..967443a44106563fe71a528703751ff00415f61a 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -21,14 +21,29 @@ public class PlayerInteractManager { +@@ -22,14 +22,29 @@ public class PlayerInteractManager { private EnumGamemode gamemode; private EnumGamemode e; private boolean f; @@ -14023,7 +14023,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 public PlayerInteractManager(WorldServer worldserver) { this.gamemode = EnumGamemode.NOT_SET; this.e = EnumGamemode.NOT_SET; -@@ -84,7 +99,7 @@ public class PlayerInteractManager { +@@ -85,7 +100,7 @@ public class PlayerInteractManager { if (iblockdata == null || iblockdata.isAir()) { // Paper this.j = false; } else { @@ -14032,7 +14032,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 if (f >= 1.0F) { this.j = false; -@@ -104,7 +119,7 @@ public class PlayerInteractManager { +@@ -105,7 +120,7 @@ public class PlayerInteractManager { this.m = -1; this.f = false; } else { @@ -14041,7 +14041,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 } } -@@ -112,6 +127,12 @@ public class PlayerInteractManager { +@@ -113,6 +128,12 @@ public class PlayerInteractManager { private float a(IBlockData iblockdata, BlockPosition blockposition, int i) { int j = this.currentTick - i; @@ -14054,7 +14054,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 float f = iblockdata.getDamage(this.player, this.player.world, blockposition) * (float) (j + 1); int k = (int) (f * 10.0F); -@@ -179,7 +200,7 @@ public class PlayerInteractManager { +@@ -180,7 +201,7 @@ public class PlayerInteractManager { return; } @@ -14063,7 +14063,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 float f = 1.0F; iblockdata = this.world.getType(blockposition); -@@ -232,12 +253,12 @@ public class PlayerInteractManager { +@@ -233,12 +254,12 @@ public class PlayerInteractManager { int j = (int) (f * 10.0F); this.world.a(this.player.getId(), blockposition, j); @@ -14078,7 +14078,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 iblockdata = this.world.getType(blockposition); if (!iblockdata.isAir()) { -@@ -254,12 +275,18 @@ public class PlayerInteractManager { +@@ -255,12 +276,18 @@ public class PlayerInteractManager { this.f = false; this.j = true; this.k = blockposition; @@ -14098,7 +14098,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 } else if (packetplayinblockdig_enumplayerdigtype == PacketPlayInBlockDig.EnumPlayerDigType.ABORT_DESTROY_BLOCK) { this.f = false; if (!Objects.equals(this.h, blockposition) && !BlockPosition.ZERO.equals(this.h)) { -@@ -271,7 +298,7 @@ public class PlayerInteractManager { +@@ -272,7 +299,7 @@ public class PlayerInteractManager { } this.world.a(this.player.getId(), blockposition, -1); @@ -14107,7 +14107,7 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 } } -@@ -281,7 +308,13 @@ public class PlayerInteractManager { +@@ -282,7 +309,13 @@ public class PlayerInteractManager { public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype, String s) { if (this.breakBlock(blockposition)) { @@ -14122,10 +14122,10 @@ index 114e986e5132e5e4bb42d0f08a067429bce53ba6..05656ea8448aa569e8dd480461e2d5f7 this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); // CraftBukkit - SPIGOT-5196 } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 610613c2dbea18e1064c5f29cc36cf39aece2277..193a39ba0c07b0f438aba6b3a00af51fa93bd53d 100644 +index 184a0d30f4a1d4a6a07449fdd1375a8582da9332..d03d0c13cca1762078617744253a9757b388958f 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -101,6 +101,7 @@ public abstract class PlayerList { +@@ -96,6 +96,7 @@ public abstract class PlayerList { abstract public void loadAndSaveFiles(); // Paper - moved from DedicatedPlayerList constructor public void a(NetworkManager networkmanager, EntityPlayer entityplayer) { @@ -14133,7 +14133,7 @@ index 610613c2dbea18e1064c5f29cc36cf39aece2277..193a39ba0c07b0f438aba6b3a00af51f EntityPlayer prev = pendingPlayers.put(entityplayer.getUniqueID(), entityplayer);// Paper if (prev != null) { disconnectPendingPlayer(prev); -@@ -641,7 +642,7 @@ public abstract class PlayerList { +@@ -636,7 +637,7 @@ public abstract class PlayerList { SocketAddress socketaddress = loginlistener.networkManager.getSocketAddress(); EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(World.OVERWORLD), gameprofile, new PlayerInteractManager(this.server.getWorldServer(World.OVERWORLD))); @@ -17538,7 +17538,7 @@ index 7511e38130f38703164395a670f12d1af648ff04..e602efcb3fad390bb6bff1055e782bba } value.append("},"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c21c6aac5e 100644 +index 1398b18409db3b3741ce199ee7156a2dfe2cc96c..f994e99ebc8fe22e6f6b45f6379ec410a598789f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper @@ -17566,7 +17566,7 @@ index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c2 } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -1901,7 +1903,10 @@ public final class CraftServer implements Server { +@@ -1910,7 +1912,10 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { @@ -17578,7 +17578,7 @@ index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c2 } // Paper start -@@ -2335,6 +2340,14 @@ public final class CraftServer implements Server { +@@ -2344,6 +2349,14 @@ public final class CraftServer implements Server { return com.destroystokyo.paper.PaperConfig.config; } @@ -17594,10 +17594,10 @@ index 968349163b15cf40dac9717072740ce48231b7c8..9e339b1c76e28987936f79ccc65a09c2 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304e21312d2 100644 +index cade3ed6079011f44eba613dece3d69ec18f8f04..3e54e643d28ced3074c4b044bc8a2238de05ccc2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -341,6 +341,14 @@ public class CraftWorld implements World { +@@ -342,6 +342,14 @@ public class CraftWorld implements World { this.generator = gen; environment = env; @@ -17612,7 +17612,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304 } @Override -@@ -414,14 +422,7 @@ public class CraftWorld implements World { +@@ -415,14 +423,7 @@ public class CraftWorld implements World { @Override public Chunk getChunkAt(int x, int z) { @@ -17628,7 +17628,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304 } // Paper start -@@ -504,6 +505,7 @@ public class CraftWorld implements World { +@@ -505,6 +506,7 @@ public class CraftWorld implements World { org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot if (isChunkLoaded(x, z)) { world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 0, Unit.INSTANCE); // Paper @@ -17636,7 +17636,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304 } return true; -@@ -717,6 +719,30 @@ public class CraftWorld implements World { +@@ -718,6 +720,30 @@ public class CraftWorld implements World { return ret.entrySet().stream().collect(ImmutableMap.toImmutableMap(Map.Entry::getKey, (entry) -> entry.getValue().build())); } @@ -17667,7 +17667,7 @@ index 22eba9372d334c65d009721e808c958dfc271308..15ce459aa15a8bb936740a8c055f4304 @Override public boolean isChunkForceLoaded(int x, int z) { return getHandle().getForceLoadedChunks().contains(ChunkCoordIntPair.pair(x, z)); -@@ -2567,7 +2593,7 @@ public class CraftWorld implements World { +@@ -2581,7 +2607,7 @@ public class CraftWorld implements World { } return this.world.getChunkProvider().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) either.left().orElse(null); @@ -17704,7 +17704,7 @@ index 22bde395939f97086e411cef190bb2b1e7ede79a..0f6cb508a170360b6479f9c340484124 //Thread.sleep(TimeUnit.SECONDS.toMillis(20)); // Paper End diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index bb474fbdf44dbc61b4fa0bced4d15bc2d1fb548f..744e6351c58e5aa4a0c668f2ff1adb76a3dc0822 100644 +index 2fc101869775711533a1e50f9ae608cd74d36d3a..2af3bee540ee25ea32a7548fd0d64dea16a0a268 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -509,27 +509,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index c04546486..b5b2e8bc7 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -48,10 +48,10 @@ index 229c3b0f0c650b501f31147adaa17194af57fedd..f88cf526d272fe47b5a474c0b344b748 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e5acc1a3e3d774c10feac9b022acba5a63f634ea..48f23c3cce562eea39bcbc30fb19432f2653d85c 100644 +index 7ac34a8959a797bf2af96f3f402fa65cffe3d666..80b7ef7c02c8f99b81a6c33d6d969690b933eb36 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1518,7 +1518,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant tileentitytypes) { super(tileentitytypes); @@ -89,7 +89,7 @@ index a1c3942cbf9a6c0adc4943b05a1c3859c5f0aed6..953741c1cfd9b5c1e0eac80d1e4c7890 } public TileEntityBarrel() { -@@ -84,7 +84,7 @@ public class TileEntityBarrel extends TileEntityLootable { +@@ -78,7 +78,7 @@ public class TileEntityBarrel extends TileEntityLootable { @Override public int getSize() { @@ -98,7 +98,7 @@ index a1c3942cbf9a6c0adc4943b05a1c3859c5f0aed6..953741c1cfd9b5c1e0eac80d1e4c7890 } @Override -@@ -104,6 +104,7 @@ public class TileEntityBarrel extends TileEntityLootable { +@@ -98,6 +98,7 @@ public class TileEntityBarrel extends TileEntityLootable { @Override protected Container createContainer(int i, PlayerInventory playerinventory) { diff --git a/patches/server/0007-Llama-API.patch b/patches/server/0007-Llama-API.patch index 4986a46ac..1aa1fd6a7 100644 --- a/patches/server/0007-Llama-API.patch +++ b/patches/server/0007-Llama-API.patch @@ -102,10 +102,10 @@ index 1b29ca2ca0bc5d17673de43bdc854d5b4c96b8b6..47ffa669681da7512ee594ecb643f285 double d0 = this.a.h((Entity) this.a.fD()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java -index 3f94c5a9206e2da9c852d282e267ab4d9f7324c4..a02763480149dc7fb0f07f17ef8530a2e76d99bc 100644 +index 71faa1b38f613db468ee939a7ffac7aaed733d20..43536b0744e5618c10790ae9db399c0506567f2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java -@@ -65,4 +65,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE +@@ -66,4 +66,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE public EntityType getType() { return EntityType.LLAMA; } diff --git a/patches/server/0008-AFK-API.patch b/patches/server/0008-AFK-API.patch index 5d4eab24a..d5a69fd2c 100644 --- a/patches/server/0008-AFK-API.patch +++ b/patches/server/0008-AFK-API.patch @@ -149,7 +149,7 @@ index b5e1a860a2569d7668330827614d221b60f3fc78..5f85a1d513f4fdc21b64e1a2b6882e33 // Paper start public static final Predicate affectsSpawning = (entity) -> { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 24b8a27b46c9e617fe3db6317da60227dbb60a1e..ee9fa89c15d52ae00f33c7e3d3102ca107055160 100644 +index 9146b60cff0aa06e2f6b6003bfe9e2be9d2f0d56..bba8dc8fd10dc34179ca3c8cf471fbb3739fa7b4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -252,6 +252,12 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -263,10 +263,10 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fc761a3bd87004f16ff9b0a3b0add52f7938f566..2460791eaed07ca4a42e945bf6f5ae907b4105cb 100644 +index f965b071cd2f6a70a216679e4f19956115edee4f..8e69ad39102b8a91e664b31a7f07c5212822e961 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2426,4 +2426,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2427,4 +2427,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return spigot; } // Spigot end diff --git a/patches/server/0009-Bring-back-server-name.patch b/patches/server/0009-Bring-back-server-name.patch index 39002f7eb..a78c486d6 100644 --- a/patches/server/0009-Bring-back-server-name.patch +++ b/patches/server/0009-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -index 65961a03728852bd75367083a0de6fd0082b17cb..780474397acb4d0e7ecb4540e1a2db5721e59d3d 100644 +index 15a4f921b1ae2bbc66b7d58238b60151123a7eb3..fe5937d890762ab37a90f189c4992af389d2c41d 100644 --- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -@@ -10,6 +10,7 @@ public class DedicatedServerProperties extends PropertyManager { return villageplacetype == VillagePlaceType.s; }); @@ -16,7 +16,7 @@ index f7a673544e6dccbed33359973ce59e8f25000550..167794625ccab695e9404e50366ba92d public EntityVillager(EntityTypes entitytypes, World world) { this(entitytypes, world, VillagerType.PLAINS); -@@ -70,6 +71,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -68,6 +69,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation this.getNavigation().d(true); this.setCanPickupLoot(true); this.setVillagerData(this.getVillagerData().withType(villagertype).withProfession(VillagerProfession.NONE)); @@ -24,7 +24,7 @@ index f7a673544e6dccbed33359973ce59e8f25000550..167794625ccab695e9404e50366ba92d } @Override -@@ -166,7 +168,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -164,7 +166,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation protected void mobTick() { mobTick(false); } protected void mobTick(boolean inactive) { this.world.getMethodProfiler().enter("villagerBrain"); diff --git a/patches/server/0019-Alternative-Keepalive-Handling.patch b/patches/server/0019-Alternative-Keepalive-Handling.patch index b09f7d055..898dcc4fb 100644 --- a/patches/server/0019-Alternative-Keepalive-Handling.patch +++ b/patches/server/0019-Alternative-Keepalive-Handling.patch @@ -17,7 +17,7 @@ index 8e93f1540ba5f995489c1fbcec70d10b011cd9c3..470f92c4fb0919d052b19acff8dff533 return this.a; } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 958b7eadbab06226259c9ae9db7615cc71fa7c56..2f224844dca78f92997ff712ff527e09ada88cac 100644 +index c586005b34c59710cf398e30924ff3653e0d62fd..be29ecfa00d53ad2067015a5261184b4157c604b 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -86,6 +86,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/patches/server/0020-Silk-touch-spawners.patch b/patches/server/0020-Silk-touch-spawners.patch index 209991edd..45f82ecd6 100644 --- a/patches/server/0020-Silk-touch-spawners.patch +++ b/patches/server/0020-Silk-touch-spawners.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Silk touch spawners diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java -index 23e6a033612d964f1185dd09a10b470f46685568..a93102ec168ebddd524492250df09c7522b12fc8 100644 +index c45d48cef53476fa1602cebaa57c72894bba10d3..d563694540fd22c89ada65787d9e996eecee26f4 100644 --- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java +++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java -@@ -33,6 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; - public final class PaperAdventure { - public static final AttributeKey LOCALE_ATTRIBUTE = AttributeKey.valueOf("adventure:locale"); - public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().hexColors().useUnusualXRepeatedCharacterHexFormat().build(); +@@ -81,6 +81,7 @@ public final class PaperAdventure { + }) + .build(); + public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().flattener(FLATTENER).hexColors().useUnusualXRepeatedCharacterHexFormat().build(); + public static final LegacyComponentSerializer LEGACY_AMPERSAND = LegacyComponentSerializer.builder().character(LegacyComponentSerializer.AMPERSAND_CHAR).hexColors().build(); // Purpur + public static final PlainComponentSerializer PLAIN = PlainComponentSerializer.builder().flattener(FLATTENER).build(); static final GsonComponentSerializer GSON = GsonComponentSerializer.builder() .legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE) - .build(); diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94badb19fc 100644 --- a/src/main/java/net/minecraft/server/BlockMobSpawner.java diff --git a/patches/server/0021-MC-168772-Fix-Add-turtle-egg-block-options.patch b/patches/server/0021-MC-168772-Fix-Add-turtle-egg-block-options.patch index 1e9731b4f..2c3888d61 100644 --- a/patches/server/0021-MC-168772-Fix-Add-turtle-egg-block-options.patch +++ b/patches/server/0021-MC-168772-Fix-Add-turtle-egg-block-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] MC-168772 Fix - Add turtle egg block options diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java -index 553c8affab6228cb187549deb5b34f79ba8f912c..92cca6c44f12a9283988b84681aac760f1c38d7e 100644 +index 00c37493c28805558dea06a20973f32ab0359016..0f147dc938cef428452bd3137c68b52a78f9fbde 100644 --- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java +++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java @@ -163,6 +163,23 @@ public class BlockTurtleEgg extends Block { diff --git a/patches/server/0028-Charged-creeper-naturally-spawn.patch b/patches/server/0028-Charged-creeper-naturally-spawn.patch index c8ba04ef3..c35e4b077 100644 --- a/patches/server/0028-Charged-creeper-naturally-spawn.patch +++ b/patches/server/0028-Charged-creeper-naturally-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Charged creeper naturally spawn diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 79ef955070b2982be79cc58e40093624bd088ff0..eb4a0ef0e7a8bc8e0cb648bc369815ce0efb6223 100644 +index b2f028422d9a7a84e49e383b78032feb887a85c0..ff80ac7db73b7c7dd6ac62ac128af1cab961d075 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java -@@ -23,6 +23,17 @@ public class EntityCreeper extends EntityMonster { +@@ -24,6 +24,17 @@ public class EntityCreeper extends EntityMonster { super(entitytypes, world); } diff --git a/patches/server/0040-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0040-Fix-cow-rotation-when-shearing-mooshroom.patch index d0e14361c..aa8b1176b 100644 --- a/patches/server/0040-Fix-cow-rotation-when-shearing-mooshroom.patch +++ b/patches/server/0040-Fix-cow-rotation-when-shearing-mooshroom.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 1aacbae04ce89be4da82d65116c494c493e71530..38df17bd206c908582ece2c4105235feaf0f2227 100644 +index c9112f783c81d58570e622a0e784da1e2a93d0ff..91cfe60f764a573e3724b48a9ae02e806c1e4fb8 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java -@@ -135,7 +135,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable { +@@ -136,7 +136,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable { entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch); entitycow.setHealth(this.getHealth()); diff --git a/patches/server/0042-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0042-Snowman-drop-and-put-back-pumpkin.patch index e4adb235a..e6f2006dc 100644 --- a/patches/server/0042-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0042-Snowman-drop-and-put-back-pumpkin.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 48997367a67ffd1dbf29cdb048720610528f35cb..51396cbd18d0e053e788f82bf4a3bc2533f20e11 100644 +index a11c599a9779aa084a1d7d1b6b3485d5b9c23906..c39f3c06eb199a24f32a5c581e877073b580502c 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -123,6 +123,14 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -124,6 +124,14 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt } return EnumInteractionResult.a(this.world.isClientSide); @@ -23,7 +23,7 @@ index 48997367a67ffd1dbf29cdb048720610528f35cb..51396cbd18d0e053e788f82bf4a3bc25 } else { return EnumInteractionResult.PASS; } -@@ -133,6 +141,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -134,6 +142,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt this.world.playSound((EntityHuman) null, (Entity) this, SoundEffects.ENTITY_SNOW_GOLEM_SHEAR, soundcategory, 1.0F, 1.0F); if (!this.world.s_()) { this.setHasPumpkin(false); diff --git a/patches/server/0043-Ender-dragon-always-drop-full-exp.patch b/patches/server/0043-Ender-dragon-always-drop-full-exp.patch index 598dea52b..24846cf31 100644 --- a/patches/server/0043-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0043-Ender-dragon-always-drop-full-exp.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index de53af8c01f8fa9636386737b6bc071b32f87cd1..a5a2182455542bb8fd62941bd0da2f38ba698f35 100644 +index 7289d6c706b6c845584bac616c9babea80f8e885..f777aea69dc9949aae3251e9a530b8cffb251bad 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -564,7 +564,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { diff --git a/patches/server/0044-Signs-editable-on-right-click.patch b/patches/server/0044-Signs-editable-on-right-click.patch index d753ccd46..c217038d0 100644 --- a/patches/server/0044-Signs-editable-on-right-click.patch +++ b/patches/server/0044-Signs-editable-on-right-click.patch @@ -27,10 +27,10 @@ index 3585fd82c14338a82302ca403e91e6cfe65e1c19..770ad5edfb44acb69e7da33226ca6bf7 } else { return EnumInteractionResult.PASS; diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 2b9d5724c1b63f5e55010f9e3450004821c098a4..316766970243e8ac00e4c82f6c710de5edc3fa51 100644 +index 3c7847b1156a486e253a0e9f74a857e841d90619..1e6bb566c0a718bba289b2e727a832e0aa6b7f15 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java -@@ -113,6 +113,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // +@@ -112,6 +112,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // return this.isEditable; } diff --git a/patches/server/0045-Signs-allow-color-codes.patch b/patches/server/0045-Signs-allow-color-codes.patch index df0f399af..2a91a3ecc 100644 --- a/patches/server/0045-Signs-allow-color-codes.patch +++ b/patches/server/0045-Signs-allow-color-codes.patch @@ -17,7 +17,7 @@ index 599d7fbc4db928a9825e154c09c9a74d39a39a03..8bfff671ed779991b8ef5433cfec61b4 this.playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(tileentitysign.getPosition())); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2f224844dca78f92997ff712ff527e09ada88cac..1faaf6b7d3c45ad9445b0d6b3842a5ee24dc8275 100644 +index be29ecfa00d53ad2067015a5261184b4157c604b..4d0dcbcc00e44c4912302dd0e7331471f33cb370 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2902,6 +2902,15 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -37,7 +37,7 @@ index 2f224844dca78f92997ff712ff527e09ada88cac..1faaf6b7d3c45ad9445b0d6b3842a5ee } SignChangeEvent event = new SignChangeEvent(org.bukkit.craftbukkit.block.CraftBlock.at(worldserver, blockposition), this.getPlayer(), lines); diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 316766970243e8ac00e4c82f6c710de5edc3fa51..23706010e6419821709cdaf34c0b1bbb91671d01 100644 +index 1e6bb566c0a718bba289b2e727a832e0aa6b7f15..b2afbf72ccf467d01449d75bc5123eb1816afd03 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -1,6 +1,7 @@ @@ -45,10 +45,10 @@ index 316766970243e8ac00e4c82f6c710de5edc3fa51..23706010e6419821709cdaf34c0b1bbb import com.mojang.brigadier.exceptions.CommandSyntaxException; +import io.papermc.paper.adventure.PaperAdventure; // Purpur - import java.util.UUID; import javax.annotation.Nullable; -@@ -93,6 +94,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // + public class TileEntitySign extends TileEntity implements ICommandListener { // CraftBukkit - implements +@@ -92,6 +93,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // this.g[i] = null; } diff --git a/patches/server/0051-End-gateway-should-check-if-entity-can-use-portal.patch b/patches/server/0051-End-gateway-should-check-if-entity-can-use-portal.patch index aeb737bac..a5e2168cb 100644 --- a/patches/server/0051-End-gateway-should-check-if-entity-can-use-portal.patch +++ b/patches/server/0051-End-gateway-should-check-if-entity-can-use-portal.patch @@ -5,10 +5,10 @@ Subject: [PATCH] End gateway should check if entity can use portal diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -index e0118a971e1ea3c52a1380f519146b8f46a425ea..ed8e91bf6c8b9d410d439bdddd5067d346a20a7e 100644 +index b740c9b66a77df1ff20fba794c49a1de4292ba88..e616b3759561e0d6e471f914f3dc843fe7464f2e 100644 --- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java +++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -@@ -127,6 +127,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick +@@ -128,6 +128,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick public void b(Entity entity) { if (this.world instanceof WorldServer && !this.f()) { diff --git a/patches/server/0054-Add-permission-for-F3-N-debug.patch b/patches/server/0054-Add-permission-for-F3-N-debug.patch index b179a4bb5..26fa22360 100644 --- a/patches/server/0054-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0054-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 56a20edf21427eee9ae292de42a790e9d1c4bf9d..3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1 100644 +index 00db0f5fb098a4db4092f8ab75a4489cf466baac..86f534c871a3c9b9ca71b20daa7780dfdab9e76d 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1078,6 +1078,7 @@ public abstract class PlayerList { +@@ -1073,6 +1073,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + i); } diff --git a/patches/server/0056-Configurable-TPS-Catchup.patch b/patches/server/0056-Configurable-TPS-Catchup.patch index f469b6a0b..7421825d4 100644 --- a/patches/server/0056-Configurable-TPS-Catchup.patch +++ b/patches/server/0056-Configurable-TPS-Catchup.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cb3081b981bcb88ed5a69f47af807fffe9d3280b..1b785e8010b58be3e39d6f1c88f1065bfd19b9e9 100644 +index d9513addae86bd5d2f0c50173318cf4d23ef2128..50f1841e3d5e92d6186db49ac4962c0bac943a8c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1008,7 +1008,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant getBehaviorController() { return (BehaviorController) super.getBehaviorController(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java -index b2a76db173ae12bff2e8a7de411cb489fdb2e9c7..2a5eda6a7e67d0b8682a96552248ea4e117c1196 100644 +index e0cc45a7494cd6f06169b64ee8ffc16aa1932f8f..baf74566ec8569677e6f03aef96645c13ec94d89 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java +++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java -@@ -17,6 +17,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent; +@@ -18,6 +18,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent; public abstract class EntityVillagerAbstract extends EntityAgeable implements NPC, IMerchant { @@ -36,10 +36,10 @@ index b2a76db173ae12bff2e8a7de411cb489fdb2e9c7..2a5eda6a7e67d0b8682a96552248ea4e private CraftMerchant craftMerchant; diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index fa3e786cd6ef67da378a5d51583ca84a82677d8c..47a89bdd163d4690fa96f63d7a9723b3bcc9fa0b 100644 +index 250a4e5ddd626794482678a64023f0f5459520e1..d990aae60e5a6056b44249cb7039470c6757b7fb 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -@@ -41,6 +41,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -42,6 +42,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { this.goalSelector.a(1, new PathfinderGoalPanic(this, 0.5D)); this.goalSelector.a(1, new PathfinderGoalLookAtTradingPlayer(this)); this.goalSelector.a(2, new EntityVillagerTrader.a(this, 2.0D, 0.35D)); diff --git a/patches/server/0062-Allow-leashing-villagers.patch b/patches/server/0062-Allow-leashing-villagers.patch index 007cdf51d..af680a002 100644 --- a/patches/server/0062-Allow-leashing-villagers.patch +++ b/patches/server/0062-Allow-leashing-villagers.patch @@ -17,10 +17,10 @@ index d38102bbf48dd498d80911e954e910a33d390daa..566d6a2551ffbcf4366596cab87a7239 // Paper start - drop leash variable PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman, !entityhuman.abilities.canInstantlyBuild); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index fc15fd3cb9e443b4ee4e09d98ad0b156b6dc61ad..477f4d3c5b3c17d9350edb7b6d0fee6a1729a255 100644 +index 3ae6e9fceb8feea8340fc542727423379a3f8863..1fa6cf564099323c8332e68cadf64c28dfc84998 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -79,6 +79,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -77,6 +77,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation protected void initPathfinder() { if (world.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS)); } @@ -33,10 +33,10 @@ index fc15fd3cb9e443b4ee4e09d98ad0b156b6dc61ad..477f4d3c5b3c17d9350edb7b6d0fee6a @Override diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index 47a89bdd163d4690fa96f63d7a9723b3bcc9fa0b..298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3 100644 +index d990aae60e5a6056b44249cb7039470c6757b7fb..432956d9d5f2706014d67232b88e6b86011484f3 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -@@ -48,6 +48,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -49,6 +49,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { this.goalSelector.a(10, new PathfinderGoalLookAtPlayer(this, EntityInsentient.class, 8.0F)); } diff --git a/patches/server/0063-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0063-Implement-configurable-search-radius-for-villagers-t.patch index e0ff137da..192067b6c 100644 --- a/patches/server/0063-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0063-Implement-configurable-search-radius-for-villagers-t.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 477f4d3c5b3c17d9350edb7b6d0fee6a1729a255..b8f1a8add52eb67a0fbedc1eab497ffa6591123e 100644 +index 1fa6cf564099323c8332e68cadf64c28dfc84998..8002c55497f772eadae3242cad06d529571e97bf 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -894,6 +894,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -892,6 +892,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @Nullable private EntityIronGolem d(WorldServer worldserver) { diff --git a/patches/server/0064-Implement-infinite-lava.patch b/patches/server/0064-Implement-infinite-lava.patch index 24cafcab5..d3a7fa09b 100644 --- a/patches/server/0064-Implement-infinite-lava.patch +++ b/patches/server/0064-Implement-infinite-lava.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement infinite lava diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java -index d72a88e9275eb00eed35b6467538a46e5cee32d5..35d55bc15b179a8200082ca23fad04bbe550068d 100644 +index cf9d3faabe8732d27c436f4806c727592e475f81..46bdeca19a0da06a1fcbd7043a26689b64459d67 100644 --- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java +++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java -@@ -195,7 +195,7 @@ public abstract class FluidTypeFlowing extends FluidType { +@@ -196,7 +196,7 @@ public abstract class FluidTypeFlowing extends FluidType { } } @@ -17,7 +17,7 @@ index d72a88e9275eb00eed35b6467538a46e5cee32d5..35d55bc15b179a8200082ca23fad04bb IBlockData iblockdata2 = iworldreader.getType(blockposition.down()); Fluid fluid1 = iblockdata2.getFluid(); -@@ -266,6 +266,17 @@ public abstract class FluidTypeFlowing extends FluidType { +@@ -267,6 +267,17 @@ public abstract class FluidTypeFlowing extends FluidType { return (Fluid) this.e().h().set(FluidTypeFlowing.FALLING, flag); } diff --git a/patches/server/0072-Mending-mends-most-damages-equipment-first.patch b/patches/server/0072-Mending-mends-most-damages-equipment-first.patch index c3df7e26e..405619543 100644 --- a/patches/server/0072-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0072-Mending-mends-most-damages-equipment-first.patch @@ -41,10 +41,10 @@ index 7b263594304a9b745f583fe7178ac16936cbd93b..33e2dc3a1003fe95fa71999fc24df841 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 c2be0c2bc315876f120cff207e5516dda2bd55d7..358d6d660581686a2e8d49e13e8c2ade9ec2fec2 100644 +index 4a94ce72d559263ef5fa4fb16dc286f531f51d55..4aee11c980105a523bdcb35470053aae51b002df 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 { +@@ -221,7 +221,7 @@ public class EntityExperienceOrb extends Entity { if (this.d == 0 && entityhuman.bu == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper entityhuman.bu = 2; entityhuman.receive(this, 1); diff --git a/patches/server/0073-Add-5-second-tps-average-in-tps.patch b/patches/server/0073-Add-5-second-tps-average-in-tps.patch index d3f80c073..b93a09e7a 100644 --- a/patches/server/0073-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0073-Add-5-second-tps-average-in-tps.patch @@ -5,10 +5,10 @@ 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 1b785e8010b58be3e39d6f1c88f1065bfd19b9e9..80553b2dfc380e60ae36b99759f60d126eb29de0 100644 +index 50f1841e3d5e92d6186db49ac4962c0bac943a8c..a3ddf2839738e089a02d841f5b6fd759c3047305 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -164,7 +164,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant entitytypes, World world) { super(entitytypes, world); -@@ -274,6 +277,16 @@ public class EntityItem extends Entity { +@@ -275,6 +278,16 @@ public class EntityItem extends Entity { return false; } else if (!this.getItemStack().getItem().a(damagesource)) { return false; @@ -47,7 +47,7 @@ index d99cecc4075338d7b8f154ab94d8ac04190ba371..f4ba0dc132da65eb4d3f7e768eab2d73 } else { // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) { -@@ -454,6 +467,9 @@ public class EntityItem extends Entity { +@@ -455,6 +468,9 @@ public class EntityItem extends Entity { com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit this.getDataWatcher().set(EntityItem.ITEM, itemstack); this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty @@ -57,7 +57,7 @@ index d99cecc4075338d7b8f154ab94d8ac04190ba371..f4ba0dc132da65eb4d3f7e768eab2d73 } @Override -@@ -535,4 +551,15 @@ public class EntityItem extends Entity { +@@ -536,4 +552,15 @@ public class EntityItem extends Entity { super.setPositionRaw(x, y, z); } // Paper end - fix MC-4 diff --git a/patches/server/0076-Add-ping-command.patch b/patches/server/0076-Add-ping-command.patch index fe0c9fc11..88cd37db6 100644 --- a/patches/server/0076-Add-ping-command.patch +++ b/patches/server/0076-Add-ping-command.patch @@ -55,10 +55,10 @@ index 17753c8a997aa286460be5d8eb6508e2eaed18ce..d080bf58ebc9c1dc9d41fae7d515547b return this.b; } diff --git a/src/main/java/net/minecraft/server/CommandListenerWrapper.java b/src/main/java/net/minecraft/server/CommandListenerWrapper.java -index 86f1cfe454ea0a989775b49a6b88375c766ef647..da53af61d1171db3c167c6e007adf95355771653 100644 +index 31543b38a7c46d93333c5f96fdb718b0a7a087b2..8a605b88584a574d5814e97d83c63661b56cf753 100644 --- a/src/main/java/net/minecraft/server/CommandListenerWrapper.java +++ b/src/main/java/net/minecraft/server/CommandListenerWrapper.java -@@ -189,6 +189,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys +@@ -190,6 +190,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys } } diff --git a/patches/server/0077-Configurable-jockey-options.patch b/patches/server/0077-Configurable-jockey-options.patch index 68a153234..20427c193 100644 --- a/patches/server/0077-Configurable-jockey-options.patch +++ b/patches/server/0077-Configurable-jockey-options.patch @@ -61,7 +61,7 @@ index 65bae8c9f28c23b0b5dd5d048e7fc7daf328075c..32b75f710b12efbcecec2c8d72d4d8cb public void setAngerTarget(@Nullable UUID uuid) { this.br = uuid; diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff 100644 +index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240aa17508c 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -72,7 +72,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c import java.util.List; import java.util.Random; import java.util.UUID; -@@ -45,6 +46,20 @@ public class EntityZombie extends EntityMonster { +@@ -44,6 +45,20 @@ public class EntityZombie extends EntityMonster { this(EntityTypes.ZOMBIE, world); } @@ -93,7 +93,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c @Override protected void initPathfinder() { if (world.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Paper -@@ -445,19 +460,19 @@ public class EntityZombie extends EntityMonster { +@@ -444,19 +459,19 @@ public class EntityZombie extends EntityMonster { if (object instanceof EntityZombie.GroupDataZombie) { EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object; @@ -119,7 +119,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world); entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F); -@@ -465,6 +480,7 @@ public class EntityZombie extends EntityMonster { +@@ -464,6 +479,7 @@ public class EntityZombie extends EntityMonster { entitychicken1.setChickenJockey(true); this.startRiding(entitychicken1); worldaccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit @@ -127,7 +127,7 @@ index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504c } } } -@@ -567,7 +583,7 @@ public class EntityZombie extends EntityMonster { +@@ -566,7 +582,7 @@ public class EntityZombie extends EntityMonster { public static class GroupDataZombie implements GroupDataEntity { @@ -165,7 +165,7 @@ index 2d2830adc5229a8db7fc4b1170ea4c6f263e7182..ce6d79780197eb9300130036a8ed8464 return b(entitytypes, worldaccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || worldaccess.e(blockposition)); } diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index e021c43b43839c00f81a01bfbec59c546d61ba50..505c83f3e3ad61c2d4d40c4df017e1f7a9a3ad8c 100644 +index b90605c463d378cea06c3cb84aad4c97145d00ce..5a71381c9f1832710001b6bfa63d6815c3cd1ab0 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -28,6 +28,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo diff --git a/patches/server/0082-Add-allow-water-in-end-world-option.patch b/patches/server/0082-Add-allow-water-in-end-world-option.patch index bbf4c0fbc..f74e35e67 100644 --- a/patches/server/0082-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0082-Add-allow-water-in-end-world-option.patch @@ -27,10 +27,10 @@ index aba5c6b8713c04302632bd1d289fd968c9e0607a..b75f6ded5d4bd3150789fba773a2c76c } 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 120bf8436fd82294c339add2e7bff1cda8311aea..848a185c04aa90a62e6bcc49ad68a7489ca28970 100644 +index 223361a1a8b41ebe91e0db39f40cf12a4968b1b4..07f23572bdf15c57a53e32646f2fc64fff404948 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 { +@@ -123,7 +123,7 @@ public class ItemBucket extends Item { // CraftBukkit end if (!flag1) { return movingobjectpositionblock != null && this.a(entityhuman, world, movingobjectpositionblock.getBlockPosition().shift(movingobjectpositionblock.getDirection()), (MovingObjectPositionBlock) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper - add enumhand @@ -39,7 +39,7 @@ index 120bf8436fd82294c339add2e7bff1cda8311aea..848a185c04aa90a62e6bcc49ad68a748 int i = blockposition.getX(); int j = blockposition.getY(); int k = blockposition.getZ(); -@@ -130,7 +130,7 @@ public class ItemBucket extends Item { +@@ -131,7 +131,7 @@ public class ItemBucket extends Item { world.playSound(entityhuman, blockposition, SoundEffects.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F); for (int l = 0; l < 8; ++l) { diff --git a/patches/server/0083-Allow-color-codes-in-books.patch b/patches/server/0083-Allow-color-codes-in-books.patch index f44f7e187..0383380b1 100644 --- a/patches/server/0083-Allow-color-codes-in-books.patch +++ b/patches/server/0083-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 1faaf6b7d3c45ad9445b0d6b3842a5ee24dc8275..367f1d93c81a688d93d874c6909bb61c60e99606 100644 +index 4d0dcbcc00e44c4912302dd0e7331471f33cb370..70cb98b3db5f9966e91da0ccd81e7610455a4f4e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1058,7 +1058,8 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/patches/server/0084-Entity-lifespan.patch b/patches/server/0084-Entity-lifespan.patch index 66900e1c9..3f6b4a81b 100644 --- a/patches/server/0084-Entity-lifespan.patch +++ b/patches/server/0084-Entity-lifespan.patch @@ -92,7 +92,7 @@ index 9807441d53fcf4ef7aaffe3801542f5a371eb7af..43cdeaae22bf020d0b3c1e1c56e65e73 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 367f1d93c81a688d93d874c6909bb61c60e99606..9368578a136157496f6cc60f7f01c5d28eff115e 100644 +index 70cb98b3db5f9966e91da0ccd81e7610455a4f4e..48d032ed74effcfd66e1ab01548913964bca4d19 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2298,6 +2298,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/patches/server/0090-Configurable-villager-breeding.patch b/patches/server/0090-Configurable-villager-breeding.patch index f897942c9..994488866 100644 --- a/patches/server/0090-Configurable-villager-breeding.patch +++ b/patches/server/0090-Configurable-villager-breeding.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index b8f1a8add52eb67a0fbedc1eab497ffa6591123e..eb8c84977bc757494c08588d2566f402a17357fa 100644 +index 8002c55497f772eadae3242cad06d529571e97bf..762f1acf435c6e7b6d695fc1b2120de0116f46da 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -642,7 +642,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -640,7 +640,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @Override public boolean canBreed() { diff --git a/patches/server/0096-Dispensers-place-anvils-option.patch b/patches/server/0096-Dispensers-place-anvils-option.patch index 89c477204..cbebe0205 100644 --- a/patches/server/0096-Dispensers-place-anvils-option.patch +++ b/patches/server/0096-Dispensers-place-anvils-option.patch @@ -33,7 +33,7 @@ index 30ba21ac1bced18a9d0946b7c3ed55971ada48bb..23796bd657f071a337fdf76d777e33c2 return this.k; } diff --git a/src/main/java/net/minecraft/server/IDispenseBehavior.java b/src/main/java/net/minecraft/server/IDispenseBehavior.java -index 7b8a470d97ccf0fdcdb8eef9368195486e09913b..d1f9d2884d055efbe72b01f86b0bdaf13ed122a5 100644 +index 1277a9c8f06936c53f02dc6cfd2eb5184a7b37a2..5675544e018ce6d4fa608680989980edb0ea625a 100644 --- a/src/main/java/net/minecraft/server/IDispenseBehavior.java +++ b/src/main/java/net/minecraft/server/IDispenseBehavior.java @@ -915,6 +915,23 @@ public interface IDispenseBehavior { diff --git a/patches/server/0102-Ridables.patch b/patches/server/0102-Ridables.patch index 326a18e90..e8844f8b6 100644 --- a/patches/server/0102-Ridables.patch +++ b/patches/server/0102-Ridables.patch @@ -318,10 +318,10 @@ index f0ce2fa068d9e442a8c0ad5d7e3a505e59556c89..8360f5656b1e5928a3ab73c808e85475 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index 0a59e02d762a096cb3de62e0f8105cc5a5fab8d4..bdf4e798ac8ca27edebd0122b894d15a76ecb9d0 100644 +index 451ffcfd1fc9fa3091dc2bd697e5d829dcf6443f..7677f4a2ec8bacadcbc6e68e13f56256f1963552 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java -@@ -14,9 +14,48 @@ public class EntityBat extends EntityAmbient { +@@ -15,9 +15,48 @@ public class EntityBat extends EntityAmbient { public EntityBat(EntityTypes entitytypes, World world) { super(entitytypes, world); @@ -370,7 +370,7 @@ index 0a59e02d762a096cb3de62e0f8105cc5a5fab8d4..bdf4e798ac8ca27edebd0122b894d15a @Override protected void initDatawatcher() { super.initDatawatcher(); -@@ -61,7 +100,7 @@ public class EntityBat extends EntityAmbient { +@@ -62,7 +101,7 @@ public class EntityBat extends EntityAmbient { protected void collideNearby() {} public static AttributeProvider.Builder m() { @@ -379,7 +379,7 @@ index 0a59e02d762a096cb3de62e0f8105cc5a5fab8d4..bdf4e798ac8ca27edebd0122b894d15a } public boolean isAsleep() { -@@ -93,6 +132,13 @@ public class EntityBat extends EntityAmbient { +@@ -94,6 +133,13 @@ public class EntityBat extends EntityAmbient { @Override protected void mobTick() { @@ -868,10 +868,10 @@ index cfb009c811bd2908d38da1b0007cb7aaed4e42c3..1219b0aa9c62bc9a1bda45cc9e9a27f1 this.world.addEntity(mooshroom); this.die(); diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e747cba78 100644 +index 36bf307985624a3567eb1196e034470bd7002e1e..7e5ede0f644a6e303be36ab0915d346a02760daa 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java -@@ -18,12 +18,27 @@ public class EntityCreeper extends EntityMonster { +@@ -19,12 +19,27 @@ public class EntityCreeper extends EntityMonster { public int maxFuseTicks = 30; public int explosionRadius = 3; private int bs; @@ -899,7 +899,7 @@ index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e @Override public GroupDataEntity prepare(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @javax.annotation.Nullable GroupDataEntity groupdataentity, @javax.annotation.Nullable NBTTagCompound nbttagcompound) { double chance = worldaccess.getMinecraftWorld().purpurConfig.creeperChargedChance; -@@ -32,18 +47,69 @@ public class EntityCreeper extends EntityMonster { +@@ -33,18 +48,69 @@ public class EntityCreeper extends EntityMonster { } return super.prepare(worldaccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound); } @@ -969,7 +969,7 @@ index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(2, new PathfinderGoalHurtByTarget(this, new Class[0])); } -@@ -174,6 +240,7 @@ public class EntityCreeper extends EntityMonster { +@@ -175,6 +241,7 @@ public class EntityCreeper extends EntityMonster { return (Integer) this.datawatcher.get(EntityCreeper.b); } @@ -977,7 +977,7 @@ index 2256b81624b12b6f6cb54250b24fa12ad6da621d..d186f257fa3bc613be7ec79cd6a6ff2e public void a(int i) { this.datawatcher.set(EntityCreeper.b, i); } -@@ -274,6 +341,7 @@ public class EntityCreeper extends EntityMonster { +@@ -275,6 +342,7 @@ public class EntityCreeper extends EntityMonster { com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited); if (event.callEvent()) { this.datawatcher.set(EntityCreeper.d, event.isIgnited()); @@ -1175,7 +1175,7 @@ index 1a102816921fa3b40f6d364bb826db4459f68eb2..125eab60f2b4657e52a71eddf7586c57 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index a5a2182455542bb8fd62941bd0da2f38ba698f35..c10f1f95ac786ae876684507412ea4affed99b1b 100644 +index f777aea69dc9949aae3251e9a530b8cffb251bad..497d05996ab84f599aa0a02f853149f074e4d3cb 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -1979,10 +1979,10 @@ index f958751b16abcc36910bb0b655ff2360459e2e4c..4ffc61acdff8c51dc9b111e3024c828f protected void eK() { this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fp()); diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index 895c092197404ad4911ec9f94d1bda1322e45fa7..ff10f512dc6062638c15980b46be10f50d08478c 100644 +index 784819d252d94e8040a87f53431fcf2c7a19d1a7..8fde406273bbea0b9d2dea2362cf6372b7a5c9ae 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -@@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven +@@ -40,12 +40,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven protected EntityHorseAbstract(EntityTypes entitytypes, World world) { super(entitytypes, world); @@ -2010,7 +2010,7 @@ index 895c092197404ad4911ec9f94d1bda1322e45fa7..ff10f512dc6062638c15980b46be10f5 this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.2D)); this.goalSelector.a(1, new PathfinderGoalTame(this, 1.2D)); this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D, EntityHorseAbstract.class)); -@@ -52,6 +67,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven +@@ -53,6 +68,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven this.goalSelector.a(6, new PathfinderGoalRandomStrollLand(this, 0.7D)); this.goalSelector.a(7, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F)); this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this)); @@ -2556,10 +2556,10 @@ index 874dd39825b41f4e2b366446359920989961f084..cd28463e2bf944d94c121c8f8d6e3722 @Override diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 38df17bd206c908582ece2c4105235feaf0f2227..7966b34f8d202d2260a35baa4cd594e4def89257 100644 +index 91cfe60f764a573e3724b48a9ae02e806c1e4fb8..e38d165fefb4d552ded2198536a6663a5688070d 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java -@@ -20,6 +20,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable { +@@ -21,6 +21,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable { super(entitytypes, world); } @@ -2578,7 +2578,7 @@ index 38df17bd206c908582ece2c4105235feaf0f2227..7966b34f8d202d2260a35baa4cd594e4 @Override public float a(BlockPosition blockposition, IWorldReader iworldreader) { return iworldreader.getType(blockposition.down()).a(Blocks.MYCELIUM) ? 10.0F : iworldreader.y(blockposition) - 0.5F; -@@ -81,7 +93,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable { +@@ -82,7 +94,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable { } else if (itemstack.getItem() == Items.SHEARS && this.canShear()) { // CraftBukkit start if (!CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) { @@ -2587,7 +2587,7 @@ index 38df17bd206c908582ece2c4105235feaf0f2227..7966b34f8d202d2260a35baa4cd594e4 } // CraftBukkit end this.shear(SoundCategory.PLAYERS); -@@ -101,7 +113,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable { +@@ -102,7 +114,7 @@ public class EntityMushroomCow extends EntityCow implements IShearable { Optional> optional = this.l(itemstack); if (!optional.isPresent()) { @@ -3588,10 +3588,10 @@ index 2908e9cc47947daad19391d38da3c2a300f67fe5..a151d4295c02930687a23212647de60c this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false)); diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java -index 7bedaf02c4a56067f55a5d15cb18c002df87a404..30e0e14162cce0c0d228139d4c537243a400ef13 100644 +index 49f6ee064fa7b79c7a9fd7a3344ed2334ce1f9f6..11a6b939ebb51cdda907531d30b7beb3a8562673 100644 --- a/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java -@@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster { +@@ -30,12 +30,26 @@ public class EntityShulker extends EntityGolem implements IMonster { this.f = 5; } @@ -3618,7 +3618,7 @@ index 7bedaf02c4a56067f55a5d15cb18c002df87a404..30e0e14162cce0c0d228139d4c537243 this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(new Class[0])); // CraftBukkit - decompile error this.targetSelector.a(2, new EntityShulker.d(this)); this.targetSelector.a(3, new EntityShulker.c(this)); -@@ -518,7 +532,7 @@ public class EntityShulker extends EntityGolem implements IMonster { +@@ -519,7 +533,7 @@ public class EntityShulker extends EntityGolem implements IMonster { private int b; @@ -3756,10 +3756,10 @@ index c872be77a6cd767520d5412b38ec4ed4fa87ac2f..96cb080d940db22330598a8806726088 protected void initPathfinder() { this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityPiglinAbstract.class, true)); diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6fba05d32d 100644 +index 80fab9290479f876fd78997c1bd55fe6b00aac45..7f3d57a9399f60465fae27f03fc57df625f5016d 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java -@@ -34,12 +34,45 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -35,12 +35,45 @@ public class EntitySlime extends EntityInsentient implements IMonster { this.moveController = new EntitySlime.ControllerMoveSlime(this); } @@ -3805,7 +3805,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, 10, true, false, (entityliving) -> { return Math.abs(entityliving.locY() - this.locY()) <= 4.0D; })); -@@ -325,11 +358,12 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -326,11 +359,12 @@ public class EntitySlime extends EntityInsentient implements IMonster { } @Override @@ -3819,7 +3819,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f } @Nullable -@@ -498,10 +532,10 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -499,10 +533,10 @@ public class EntitySlime extends EntityInsentient implements IMonster { // Paper end } @@ -3832,7 +3832,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f private final EntitySlime k; private boolean l; -@@ -523,15 +557,27 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -524,15 +558,27 @@ public class EntitySlime extends EntityInsentient implements IMonster { @Override public void a() { @@ -3862,7 +3862,7 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f if (this.j-- <= 0) { this.j = this.k.eJ(); if (this.l) { -@@ -548,7 +594,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -549,7 +595,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { this.a.q(0.0F); } } else { @@ -3872,10 +3872,10 @@ index 8a1ff579ddf2fef191bc370dc51dd2e6404d9a22..3c14ed27e5b487451846f6811f189e6f } diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa501697e49862 100644 +index c39f3c06eb199a24f32a5c581e877073b580502c..e370de0ade49ac81d746588bf0991101eba0ce2d 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -13,12 +13,26 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -14,12 +14,26 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt super(entitytypes, world); } @@ -3902,7 +3902,7 @@ index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa5016 this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityInsentient.class, 10, true, false, (entityliving) -> { return entityliving instanceof IMonster; })); -@@ -70,6 +84,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -71,6 +85,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt return; } @@ -3910,7 +3910,7 @@ index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa5016 IBlockData iblockdata = Blocks.SNOW.getBlockData(); for (int l = 0; l < 4; ++l) { -@@ -112,7 +127,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -113,7 +128,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt if (itemstack.getItem() == Items.SHEARS && this.canShear()) { // CraftBukkit start if (!CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) { @@ -3919,7 +3919,7 @@ index 51396cbd18d0e053e788f82bf4a3bc2533f20e11..66a90507aaf16bb8512a77f3c9aa5016 } // CraftBukkit end this.shear(SoundCategory.PLAYERS); -@@ -132,7 +147,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -133,7 +148,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt return EnumInteractionResult.SUCCESS; // Purpur end } else { @@ -4219,10 +4219,10 @@ index 4ad393bc99881d813e2b349fb929fc8e69631723..2b34e6cf3b86319bd2875d92b6390288 if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) { double d0 = this.b - this.i.locX(); diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e173591443b72 100644 +index 9a33866e7529e1636c228bab01205737bc678b47..9336fbbd46c7c6ac11adf8e4cc2735f81c9ed639 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java -@@ -19,6 +19,45 @@ public class EntityVex extends EntityMonster { +@@ -18,6 +18,45 @@ public class EntityVex extends EntityMonster { this.f = 3; } @@ -4268,7 +4268,7 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735 @Override public void move(EnumMoveType enummovetype, Vec3D vec3d) { super.move(enummovetype, vec3d); -@@ -27,7 +66,7 @@ public class EntityVex extends EntityMonster { +@@ -26,7 +65,7 @@ public class EntityVex extends EntityMonster { @Override public void tick() { @@ -4277,7 +4277,7 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735 super.tick(); this.noclip = false; this.setNoGravity(true); -@@ -42,17 +81,19 @@ public class EntityVex extends EntityMonster { +@@ -41,17 +80,19 @@ public class EntityVex extends EntityMonster { protected void initPathfinder() { super.initPathfinder(); this.goalSelector.a(0, new PathfinderGoalFloat(this)); @@ -4298,7 +4298,7 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735 } @Override -@@ -284,14 +325,14 @@ public class EntityVex extends EntityMonster { +@@ -283,14 +324,14 @@ public class EntityVex extends EntityMonster { } } @@ -4316,10 +4316,10 @@ index ed6a47ad2fd973695fbb151d1a44000ec3639e54..ac75ed3e2e0e0cd8f91de9ff188e1735 Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ()); double d0 = vec3d.f(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d0f6bd126 100644 +index 762f1acf435c6e7b6d695fc1b2120de0116f46da..15e052cb844df310c62d8a5695e8da6c633d94b6 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -75,8 +75,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -73,8 +73,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation } // Purpur start @@ -4339,7 +4339,7 @@ index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d if (world.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS)); } -@@ -241,7 +252,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -239,7 +250,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation if (itemstack.getItem() != Items.VILLAGER_SPAWN_EGG && this.isAlive() && !this.eN() && !this.isSleeping()) { if (this.isBaby()) { this.fk(); @@ -4348,7 +4348,7 @@ index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d } else { boolean flag = this.getOffers().isEmpty(); -@@ -254,8 +265,9 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -252,8 +263,9 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation } if (flag) { @@ -4360,10 +4360,10 @@ index eb8c84977bc757494c08588d2566f402a17357fa..bc82946d8869f89a9624bebf8dc1099d this.h(entityhuman); } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index 298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3..d41960088bb8bc6a7fece0ef152403c43a768dde 100644 +index 432956d9d5f2706014d67232b88e6b86011484f3..b9418fac0a05d4bb5f8f215a5704bba332e3f7cb 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -@@ -24,6 +24,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -25,6 +25,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @Override protected void initPathfinder() { this.goalSelector.a(0, new PathfinderGoalFloat(this)); @@ -4371,7 +4371,7 @@ index 298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3..d41960088bb8bc6a7fece0ef152403c4 this.goalSelector.a(0, new PathfinderGoalUseItem<>(this, PotionUtil.a(new ItemStack(Items.POTION), Potions.INVISIBILITY), SoundEffects.ENTITY_WANDERING_TRADER_DISAPPEARED, (entityvillagertrader) -> { return this.world.isNight() && !entityvillagertrader.isInvisible(); })); -@@ -49,6 +50,16 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -50,6 +51,16 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { } // Purpur - start @@ -4388,7 +4388,7 @@ index 298d2b6f6e352bb82f3a5a307466bb6e8f47d9d3..d41960088bb8bc6a7fece0ef152403c4 @Override public boolean a(EntityHuman entityhuman) { return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed(); -@@ -76,8 +87,9 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -77,8 +88,9 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { } if (this.getOffers().isEmpty()) { @@ -4772,10 +4772,10 @@ index e76e6ebde73b93dc06e76b71cdf6371c3654160a..d92fe8013fb3b43cb7eabdf1c624291b this.eL(); } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff..7e1e056bdd966a14a184eb76717116998b6e5cb3 100644 +index 291748b3436c18653fa959cfd8c92240aa17508c..2076fe3e467c16bb400a75f9ea82f5b0773126be 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -47,6 +47,16 @@ public class EntityZombie extends EntityMonster { +@@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster { } // Purpur start @@ -4792,7 +4792,7 @@ index 2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff..7e1e056bdd966a14a184eb7671711699 public boolean jockeyOnlyBaby() { return world.purpurConfig.zombieJockeyOnlyBaby; } -@@ -62,9 +72,11 @@ public class EntityZombie extends EntityMonster { +@@ -61,9 +71,11 @@ public class EntityZombie extends EntityMonster { @Override protected void initPathfinder() { @@ -4826,7 +4826,7 @@ index ce6d79780197eb9300130036a8ed84648a17f9cf..02b0ae550a0ed33b5b43beedf3b14059 public boolean jockeyOnlyBaby() { return world.purpurConfig.huskJockeyOnlyBaby; diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index 505c83f3e3ad61c2d4d40c4df017e1f7a9a3ad8c..0c47477b416980d2e932321730525bf5a8feda4f 100644 +index 5a71381c9f1832710001b6bfa63d6815c3cd1ab0..5b6ed77fb2b92b5bf701de436c8d7235bfe82685 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -29,6 +29,16 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo @@ -4889,10 +4889,10 @@ index dc9f2a1a132b3a7925bd62aa1da0512afd90b8b1..b7e540dfeeabb13227596ecfc6eddabf Entity entity1 = this.getShooter(); // Paper start - Cancel hit for vanished players diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 80553b2dfc380e60ae36b99759f60d126eb29de0..cd01859f3fe24d2eb9554e663c1a092038e93f02 100644 +index a3ddf2839738e089a02d841f5b6fd759c3047305..85c14df768ec844b710bf2b32eb7f85c9e6b47ea 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1416,6 +1416,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0; // Paper worldserver.hasEntityMoveEvent = EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -4947,7 +4947,7 @@ index 0000000000000000000000000000000000000000..44929182dfd7ad847d9657c324f440cb + } +} diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 9368578a136157496f6cc60f7f01c5d28eff115e..bacb0e7c421a14a1dae57b7824c9d55ed0f39517 100644 +index 48d032ed74effcfd66e1ab01548913964bca4d19..7be03bb416a5723ce65411ba5d0b967040e8033c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2307,6 +2307,8 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -6341,7 +6341,7 @@ index 0000000000000000000000000000000000000000..9a9e46d7ee247f9e43ae5c697f10e466 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 744e6351c58e5aa4a0c668f2ff1adb76a3dc0822..a3b810556e306bc2be65c7811cfa7806d5752cfa 100644 +index 2af3bee540ee25ea32a7548fd0d64dea16a0a268..5471422d23d261a06c67f9374cae933430ec03a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1174,4 +1174,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0110-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0110-Despawn-rate-config-options-per-projectile-type.patch index e8ba78c37..7d566b300 100644 --- a/patches/server/0110-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0110-Despawn-rate-config-options-per-projectile-type.patch @@ -80,10 +80,10 @@ index edce89169b3ca2894852087b83a6bf035ba43c3f..4951abdfa13d170b7075a0223dd0096d + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java -index 63b4a449b56ef549830e4bbd3eab116e64379189..e8650c1bfa8f94ba461b7094125679112d825980 100644 +index e42dd066e76a3d2bc3270774f48bb8c8fd47cc38..44dbe818b19c927098c1e6b2bcb556378be5637c 100644 --- a/src/main/java/net/minecraft/server/EntityEnderPearl.java +++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java -@@ -106,4 +106,11 @@ public class EntityEnderPearl extends EntityProjectileThrowable { +@@ -107,4 +107,11 @@ public class EntityEnderPearl extends EntityProjectileThrowable { return super.b(worldserver); } @@ -96,10 +96,10 @@ index 63b4a449b56ef549830e4bbd3eab116e64379189..e8650c1bfa8f94ba461b709412567911 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index dd18eabd7104995f0e6a8ecb279a3872b46773de..601f639275f4df983f19aa9cb0dc5f2611387853 100644 +index d8faa18724baa240fca78a35c362cf661615ec4d..e4c2bf2de6c032332b7557c240bb458297bdd33f 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java -@@ -300,4 +300,11 @@ public class EntityFireworks extends IProjectile { +@@ -301,4 +301,11 @@ public class EntityFireworks extends IProjectile { public Packet P() { return new PacketPlayOutSpawnEntity(this); } @@ -112,10 +112,10 @@ index dd18eabd7104995f0e6a8ecb279a3872b46773de..601f639275f4df983f19aa9cb0dc5f26 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 0816ab54bc99bcf29356b56516e83759a3f2988f..2bad182d9d6248c1e8ac9138e46d192dccc2a973 100644 +index 9841c7c27cd296a5156ba79ab734d45922bacaf7..f0502c7f5419f637641b48d8c87f5df206e4f922 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java -@@ -578,4 +578,11 @@ public class EntityFishingHook extends IProjectile { +@@ -579,4 +579,11 @@ public class EntityFishingHook extends IProjectile { private HookState() {} } @@ -160,10 +160,10 @@ index 480a02a8f6ec7110f9af8f2037fdc09a7a54ef01..aa9afb60808a9988b38cf588ec9f649e + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java -index ddf1f80f3ba45e09cd13ca646a8ec6e8d47be555..bd84a3ac6146cfe6952a9334820696b4583b45b5 100644 +index b338cb771aa8ba7a810b8129ca04640d115b68ba..dfc0538cc8cb8015fe79978ee360c86127118330 100644 --- a/src/main/java/net/minecraft/server/EntityPotion.java +++ b/src/main/java/net/minecraft/server/EntityPotion.java -@@ -240,4 +240,11 @@ public class EntityPotion extends EntityProjectileThrowable { +@@ -241,4 +241,11 @@ public class EntityPotion extends EntityProjectileThrowable { } } diff --git a/patches/server/0111-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0111-Add-option-to-disable-zombie-aggressiveness-towards-.patch index ebfb530d8..d44ee2058 100644 --- a/patches/server/0111-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0111-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -45,10 +45,10 @@ index 125eab60f2b4657e52a71eddf7586c574945252e..638efc67d66001ee085957d4698f51a7 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 7e1e056bdd966a14a184eb76717116998b6e5cb3..fd28ef623f8b6db5e36328d4ef2771e841db0a9d 100644 +index 2076fe3e467c16bb400a75f9ea82f5b0773126be..e4de6e2f8b72c0ede3ad34666a5dfde5c5363b56 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -86,7 +86,18 @@ public class EntityZombie extends EntityMonster { +@@ -85,7 +85,18 @@ public class EntityZombie extends EntityMonster { this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D)); this.targetSelector.a(1, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(EntityPigZombie.class)); this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); diff --git a/patches/server/0112-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0112-Persistent-TileEntity-Lore-and-DisplayName.patch index f764ad559..6fdf68dc1 100644 --- a/patches/server/0112-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0112-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -79,10 +79,10 @@ index d3026d8911c73e23315a545b9eb0753306c0e825..2c8d7024879392f37e53dfb72cc07971 if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) { float f = 0.5F; diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index 9d62bc6d600526881dccb44d158e30f565078cec..b8c71925a6e4c58fcefba0ab38270aaa236aabba 100644 +index ae2ad70699347e169d941266ec3ad1af4c9b3786..e4aea92040b58a5c87258ac6fd735f21709a45a3 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 { +@@ -97,7 +97,24 @@ public class ItemBlock extends Item { } protected boolean a(BlockPosition blockposition, World world, @Nullable EntityHuman entityhuman, ItemStack itemstack, IBlockData iblockdata) { @@ -109,10 +109,10 @@ index 9d62bc6d600526881dccb44d158e30f565078cec..b8c71925a6e4c58fcefba0ab38270aaa @Nullable diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 58d958a88ac5af5b889d719d9f1ea90ce45cf184..8e8749095427b44e04582593114cae8cf6d00f42 100644 +index 060c1206e4b5da6be50fff605894fb2a46f57c1b..c0d465749093b1a18bd5179eb28ae06a00850185 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 +@@ -93,9 +93,25 @@ public abstract class TileEntity implements KeyedObject { // Paper this.persistentDataContainer.putAll((NBTTagCompound) persistentDataTag); } // CraftBukkit end @@ -138,7 +138,7 @@ index 58d958a88ac5af5b889d719d9f1ea90ce45cf184..8e8749095427b44e04582593114cae8c return this.b(nbttagcompound); } -@@ -253,4 +269,25 @@ public abstract class TileEntity implements KeyedObject { // Paper +@@ -256,4 +272,25 @@ public abstract class TileEntity implements KeyedObject { // Paper return null; } // CraftBukkit end diff --git a/patches/server/0119-Infinite-fuel-furnace.patch b/patches/server/0119-Infinite-fuel-furnace.patch index 8e4eb1106..b18d6d134 100644 --- a/patches/server/0119-Infinite-fuel-furnace.patch +++ b/patches/server/0119-Infinite-fuel-furnace.patch @@ -5,10 +5,10 @@ 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 bc2fbdda5777b35291490a6eea038f429521a6ab..77a18faeef0fd2e086827535470c957198c60df4 100644 +index 935c7f111a7d7b9cc7c8e384d43e7ab6092cfc5f..48359a7e79b64026e38e7cd17505d8944106e089 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java -@@ -278,6 +278,22 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I +@@ -279,6 +279,22 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I if (!this.world.isClientSide) { ItemStack itemstack = (ItemStack) this.items.get(1); @@ -31,7 +31,7 @@ index bc2fbdda5777b35291490a6eea038f429521a6ab..77a18faeef0fd2e086827535470c9571 if (!this.isBurning() && (itemstack.isEmpty() || ((ItemStack) this.items.get(0)).isEmpty())) { if (!this.isBurning() && this.cookTime > 0) { this.cookTime = MathHelper.clamp(this.cookTime - 2, 0, this.cookTimeTotal); -@@ -331,6 +347,8 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I +@@ -332,6 +348,8 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I flag1 = true; this.world.setTypeAndData(this.position, (IBlockData) this.world.getType(this.position).set(BlockFurnace.LIT, this.isBurning()), 3); } diff --git a/patches/server/0123-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0123-Add-adjustable-breeding-cooldown-to-config.patch index 021d73b8c..e4e982df9 100644 --- a/patches/server/0123-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0123-Add-adjustable-breeding-cooldown-to-config.patch @@ -5,10 +5,10 @@ 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 bba343542e7e6fa83ec802d97b4c139bb210ab28..d9f9e2235d091e14e5d34bb9a3273e7f56e94295 100644 +index b290218e506d5e4ddd1af17f91de19a588bbcfbd..cf9be4be18e913e49e9150358c66138b64319ed8 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 { +@@ -121,7 +121,7 @@ public abstract class EntityAnimal extends EntityAgeable { if (this.k(itemstack)) { int i = this.getAge(); @@ -17,7 +17,7 @@ index bba343542e7e6fa83ec802d97b4c139bb210ab28..d9f9e2235d091e14e5d34bb9a3273e7f this.a(entityhuman, itemstack); this.g(entityhuman); return EnumInteractionResult.SUCCESS; -@@ -212,6 +212,14 @@ public abstract class EntityAnimal extends EntityAgeable { +@@ -213,6 +213,14 @@ public abstract class EntityAnimal extends EntityAgeable { if (entityplayer == null && entityanimal.getBreedCause() != null) { entityplayer = entityanimal.getBreedCause(); } diff --git a/patches/server/0124-Make-entity-breeding-times-configurable.patch b/patches/server/0124-Make-entity-breeding-times-configurable.patch index a90bac292..93703820a 100644 --- a/patches/server/0124-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0124-Make-entity-breeding-times-configurable.patch @@ -22,10 +22,10 @@ index 7bdcc7bb26a1f7c8fc2562016af8598b9a7b4de3..d22b1742e2bf9c390590851de45b2e66 entityvillager2.setPositionRotation(entityvillager.locX(), entityvillager.locY(), entityvillager.locZ(), 0.0F, 0.0F); worldserver.addAllEntities(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java -index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac0556060e0eb41 100644 +index cf9be4be18e913e49e9150358c66138b64319ed8..c1d2b12418464203c1da8af8da61a9cc9305bb65 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 { +@@ -14,6 +14,7 @@ public abstract class EntityAnimal extends EntityAgeable { public int loveTicks; public UUID breedCause; public ItemStack breedItem; // CraftBukkit - Add breedItem variable @@ -33,7 +33,7 @@ index d9f9e2235d091e14e5d34bb9a3273e7f56e94295..dd6725debe0cf72dce13b6f2cac05560 protected EntityAnimal(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -234,8 +235,10 @@ public abstract class EntityAnimal extends EntityAgeable { +@@ -235,8 +236,10 @@ public abstract class EntityAnimal extends EntityAgeable { CriterionTriggers.o.a(entityplayer, this, entityanimal, entityageable); } @@ -252,10 +252,10 @@ index 1099277868f92fdaf4b0ec3a982f26f20ead7369..3bc6e6df9e0107debe5b15f5f7aad97a 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 7966b34f8d202d2260a35baa4cd594e4def89257..eb1f95d8bae4bc2580849614ba879dd1a8792ecb 100644 +index e38d165fefb4d552ded2198536a6663a5688070d..46d031ef3cebfe30e07840ef1c9d60a97a24cd1b 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 { +@@ -31,6 +31,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable { public boolean isRidableInWater() { return world.purpurConfig.mooshroomRidableInWater; } diff --git a/patches/server/0139-Snow-Golem-rate-of-fire-config.patch b/patches/server/0139-Snow-Golem-rate-of-fire-config.patch index 20c999516..783ca2f11 100644 --- a/patches/server/0139-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0139-Snow-Golem-rate-of-fire-config.patch @@ -10,10 +10,10 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to 0, snow golems won't shoot any snowballs. diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 66a90507aaf16bb8512a77f3c9aa501697e49862..4c083bcfe7d083713b418486f0918f39b96bdb65 100644 +index e370de0ade49ac81d746588bf0991101eba0ce2d..338c78efe43641686be0d6b3a241865ec5fe56bd 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -28,7 +28,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -29,7 +29,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt @Override protected void initPathfinder() { this.goalSelector.a(0, new PathfinderGoalHasRider(this)); // Purpur diff --git a/patches/server/0140-PaperPR-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0140-PaperPR-Config-option-for-Piglins-guarding-chests.patch index 81f48e8cb..3f5e7ab55 100644 --- a/patches/server/0140-PaperPR-Config-option-for-Piglins-guarding-chests.patch +++ b/patches/server/0140-PaperPR-Config-option-for-Piglins-guarding-chests.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PaperPR - Config option for Piglins guarding chests diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b473709774fbbd502d5e04c98041ae7c829b4083..a8215289c2be60c0e1301b928bc4f8a89f3aa1a6 100644 +index fd675585c61387156892b179af593ad640873d45..9f5edd3285bd477a73e18cfe3af51b441b3eeae1 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -704,6 +704,11 @@ public class PaperWorldConfig { diff --git a/patches/server/0143-Lobotomize-stuck-villagers.patch b/patches/server/0143-Lobotomize-stuck-villagers.patch index b598f374d..0296fd81b 100644 --- a/patches/server/0143-Lobotomize-stuck-villagers.patch +++ b/patches/server/0143-Lobotomize-stuck-villagers.patch @@ -18,10 +18,10 @@ index eca3930b0a9df3e100c545727f897d011d32abb4..fd2becb531ec8bd1cb2125f75a2f3a21 public float yaw; public float pitch; diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index bc82946d8869f89a9624bebf8dc1099d0f6bd126..f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85 100644 +index 15e052cb844df310c62d8a5695e8da6c633d94b6..a04123b5897a150439846abe5b25a3a13419f00e 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -187,15 +187,37 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -185,15 +185,37 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation } // Spigot End @@ -59,7 +59,7 @@ index bc82946d8869f89a9624bebf8dc1099d0f6bd126..f9b91ab5e5c17d62acaf2edd72ad99d8 this.world.getMethodProfiler().exit(); if (this.bF) { this.bF = false; -@@ -327,6 +349,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -325,6 +347,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation return true; } @@ -67,7 +67,7 @@ index bc82946d8869f89a9624bebf8dc1099d0f6bd126..f9b91ab5e5c17d62acaf2edd72ad99d8 public void fb() { this.fp(); Iterator iterator = this.getOffers().iterator(); -@@ -361,6 +384,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -359,6 +382,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation return this.bD == 0 || this.bD < 2 && this.world.getTime() > this.bC + 2400L; } diff --git a/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index e5071de0b..681a3d142 100644 --- a/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0144-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -133,10 +133,10 @@ index 2d91869660c36b4cd7bfe887956a26802cce7f8a..e376306bc2555620d1a61af2296f3dd8 } else { object = new BehaviorWork(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a517ac36b9 100644 +index a04123b5897a150439846abe5b25a3a13419f00e..9b925bf9b7946eecb16f94d49a9823139c5fd641 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -131,7 +131,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -129,7 +129,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation behaviorcontroller.a(Activity.PLAY, Behaviors.a(0.5F)); } else { behaviorcontroller.setSchedule(Schedule.VILLAGER_DEFAULT); @@ -145,7 +145,7 @@ index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a5 } behaviorcontroller.a(Activity.CORE, Behaviors.a(villagerprofession, 0.5F)); -@@ -845,6 +845,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -843,6 +843,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @Override public boolean i(ItemStack itemstack) { Item item = itemstack.getItem(); @@ -157,7 +157,7 @@ index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a5 return (EntityVillager.bs.contains(item) || this.getVillagerData().getProfession().c().contains(item)) && this.getInventory().b(itemstack); } -@@ -866,6 +871,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -864,6 +869,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation } public boolean canPlant() { @@ -170,10 +170,10 @@ index f9b91ab5e5c17d62acaf2edd72ad99d8d9548c85..9b7b26a62f04b9dea6a613fc0e7006a5 } diff --git a/src/main/java/net/minecraft/server/IInventory.java b/src/main/java/net/minecraft/server/IInventory.java -index 46b88056b852a7f91d32862dea7bd3a7ea4a1226..64f1767f66a5a91833225faa1b1444e62c6a0205 100644 +index 317349bf382ee6671066fd5556ee339179165ff0..26094ed0089982ed60e28d7c110884cff793108d 100644 --- a/src/main/java/net/minecraft/server/IInventory.java +++ b/src/main/java/net/minecraft/server/IInventory.java -@@ -31,6 +31,7 @@ public interface IInventory extends Clearable { +@@ -32,6 +32,7 @@ public interface IInventory extends Clearable { return true; } @@ -181,7 +181,7 @@ index 46b88056b852a7f91d32862dea7bd3a7ea4a1226..64f1767f66a5a91833225faa1b1444e6 default int a(Item item) { int i = 0; -@@ -45,6 +46,7 @@ public interface IInventory extends Clearable { +@@ -46,6 +47,7 @@ public interface IInventory extends Clearable { return i; } diff --git a/patches/server/0146-Spread-out-and-optimise-player-list-ticks.patch b/patches/server/0146-Spread-out-and-optimise-player-list-ticks.patch index 635626e7f..ab0d7f999 100644 --- a/patches/server/0146-Spread-out-and-optimise-player-list-ticks.patch +++ b/patches/server/0146-Spread-out-and-optimise-player-list-ticks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Spread out and optimise player list ticks diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1..48b4e6dce27448bf4c83d5339cd35c24c5485df5 100644 +index 86f534c871a3c9b9ca71b20daa7780dfdab9e76d..d454b6c61c1a7d0ae9d6c2979cb865531acf405f 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -73,7 +73,7 @@ public abstract class PlayerList { +@@ -68,7 +68,7 @@ public abstract class PlayerList { private int viewDistance; private EnumGamemode u; private boolean v; @@ -17,7 +17,7 @@ index 3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1..48b4e6dce27448bf4c83d5339cd35c24 // CraftBukkit start private CraftServer cserver; -@@ -933,22 +933,23 @@ public abstract class PlayerList { +@@ -928,22 +928,23 @@ public abstract class PlayerList { } public void tick() { @@ -56,7 +56,7 @@ index 3501c42e11a5b1f690bcbf26bcea4ebbfbba1cb1..48b4e6dce27448bf4c83d5339cd35c24 public void sendAll(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2b25e58ce0d5b6d54c65e70cffd46e1085b02275..86d10c342a741e85e434b65ae172bbdf5284d23b 100644 +index ca15efea5da7be1717a211b9b3556c755788561a..400e26c96f00e9f8895a45e70f22552ec17f2436 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1435,7 +1435,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0149-Configurable-entity-base-attributes.patch b/patches/server/0149-Configurable-entity-base-attributes.patch index 9895d8676..141fc3e33 100644 --- a/patches/server/0149-Configurable-entity-base-attributes.patch +++ b/patches/server/0149-Configurable-entity-base-attributes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable entity base attributes diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index bdf4e798ac8ca27edebd0122b894d15a76ecb9d0..7718ec8ad3c1833e0bcc713c2e96e054e87453ad 100644 +index 7677f4a2ec8bacadcbc6e68e13f56256f1963552..5ba96d6073d2f30c22c1fa28fdea30857b6f2d59 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java -@@ -54,6 +54,18 @@ public class EntityBat extends EntityAmbient { +@@ -55,6 +55,18 @@ public class EntityBat extends EntityAmbient { setMot(mot.a(0.9D)); } } @@ -136,10 +136,10 @@ index 63497ca0266073dc0a16b7dc22641d08c3eaf400..951531d65709ee3064371cbf4b3a9831 @Override diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index d186f257fa3bc613be7ec79cd6a6ff2e747cba78..b48610fefc8c72922a00dbab861de7b34d5ec1cf 100644 +index 7e5ede0f644a6e303be36ab0915d346a02760daa..523988bcc0607198dfb73afca5932ed6dd82cca1 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java -@@ -96,6 +96,11 @@ public class EntityCreeper extends EntityMonster { +@@ -97,6 +97,11 @@ public class EntityCreeper extends EntityMonster { } return getForward() == 0 && getStrafe() == 0; // do not jump if standing still } @@ -188,7 +188,7 @@ index 638efc67d66001ee085957d4698f51a7daac77fc..a766910663e47b05d1e38908b5db7471 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index c10f1f95ac786ae876684507412ea4affed99b1b..06dbb96ff2dfc962dc26b63c8069e3f23c4277b8 100644 +index 497d05996ab84f599aa0a02f853149f074e4d3cb..29c8e1b67396df160cdb7ecf4e1a563fc1acd5ac 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -97,6 +97,11 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -358,10 +358,10 @@ index 669bce5d9806c80bddc247fe103ff20dc6aaa8a5..e78e89d187f923239f23e37d5141e2e6 @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index ff10f512dc6062638c15980b46be10f50d08478c..6cdaf21f5c9fed819f99cda0b06d92504b310805 100644 +index 8fde406273bbea0b9d2dea2362cf6372b7a5c9ae..2bed0a08eaad5fee5d5e85ba6cb3d3e8e1be1c2c 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -@@ -55,6 +55,32 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven +@@ -56,6 +56,32 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven public boolean isRidableInWater() { return false; } @@ -394,7 +394,7 @@ index ff10f512dc6062638c15980b46be10f50d08478c..6cdaf21f5c9fed819f99cda0b06d9250 // Purpur end @Override -@@ -863,15 +889,15 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven +@@ -864,15 +890,15 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven } @@ -413,7 +413,7 @@ index ff10f512dc6062638c15980b46be10f50d08478c..6cdaf21f5c9fed819f99cda0b06d9250 return (0.44999998807907104D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D) * 0.25D; } -@@ -994,7 +1020,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven +@@ -995,7 +1021,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven groupdataentity = new EntityAgeable.a(0.2F); } @@ -617,10 +617,10 @@ index cd28463e2bf944d94c121c8f8d6e37221754c168..ac24a9de3b2b24bc8afebf54ea0a947f public static AttributeProvider.Builder m() { diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index eb1f95d8bae4bc2580849614ba879dd1a8792ecb..6c26cd909aff83947108e272700d13e6cc9f2b09 100644 +index 46d031ef3cebfe30e07840ef1c9d60a97a24cd1b..c97dac30010c7d574aa7087f3a84581bfc386473 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java -@@ -35,6 +35,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable { +@@ -36,6 +36,11 @@ public class EntityMushroomCow extends EntityCow implements IShearable { int getPurpurBreedTime() { return this.world.purpurConfig.mooshroomBreedingTicks; } @@ -902,10 +902,10 @@ index 32130c0681501e3e5a47b199f0bb39daac416ed3..d9fe8cf00088dba516ea2bfd7e9590d9 @Override diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java -index 30e0e14162cce0c0d228139d4c537243a400ef13..d264b9469c891a0b81986d9be12b2cd8510b6015 100644 +index 11a6b939ebb51cdda907531d30b7beb3a8562673..3f1cb739709cc16a9f7073ec8fafb448b734a948 100644 --- a/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java -@@ -39,6 +39,11 @@ public class EntityShulker extends EntityGolem implements IMonster { +@@ -40,6 +40,11 @@ public class EntityShulker extends EntityGolem implements IMonster { public boolean isRidableInWater() { return world.purpurConfig.shulkerRidableInWater; } @@ -982,10 +982,10 @@ index 96cb080d940db22330598a8806726088b79a53c1..ee7805dccac9c4dcdf4fa83ab8041953 @Override diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad15183cf94 100644 +index 7f3d57a9399f60465fae27f03fc57df625f5016d..c3737457c521715b640b138dc41863dfba6e4ae8 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java -@@ -10,6 +10,7 @@ import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent; +@@ -11,6 +11,7 @@ import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent; import com.destroystokyo.paper.event.entity.SlimeSwimEvent; import com.destroystokyo.paper.event.entity.SlimeTargetLivingEntityEvent; import com.destroystokyo.paper.event.entity.SlimeWanderEvent; @@ -993,7 +993,7 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1 import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Slime; // Paper end -@@ -24,6 +25,7 @@ import org.bukkit.event.entity.SlimeSplitEvent; +@@ -25,6 +26,7 @@ import org.bukkit.event.entity.SlimeSplitEvent; public class EntitySlime extends EntityInsentient implements IMonster { private static final DataWatcherObject bo = DataWatcher.a(EntitySlime.class, DataWatcherRegistry.b); @@ -1001,7 +1001,7 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1 public float b; public float c; public float d; -@@ -63,6 +65,25 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -64,6 +66,25 @@ public class EntitySlime extends EntityInsentient implements IMonster { } return true; // do not jump() in wasd controller, let vanilla controller handle } @@ -1027,7 +1027,7 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1 // Purpur end @Override -@@ -89,7 +110,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -90,7 +111,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { this.datawatcher.set(EntitySlime.bo, i); this.af(); this.updateSize(); @@ -1037,10 +1037,10 @@ index 3c14ed27e5b487451846f6811f189e6fba05d32d..36b384fd8fc29b270bb8c0ccc66ffad1 this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue((double) i); if (flag) { diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 4c083bcfe7d083713b418486f0918f39b96bdb65..fa0c459dcd773e003a2852c594ec7254e4eb11b8 100644 +index 338c78efe43641686be0d6b3a241865ec5fe56bd..1dd13dfea91a05b1e83b065328092a17d41a605f 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -23,6 +23,11 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -24,6 +24,11 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt public boolean isRidableInWater() { return world.purpurConfig.snowGolemRidableInWater; } @@ -1133,10 +1133,10 @@ index 067f7f28b02b388d56b93b1ed8274799757196e6..0233b65a996111af7bdc10e4da2d70e5 public void setHomePos(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index ac75ed3e2e0e0cd8f91de9ff188e173591443b72..af85dcc824e4ad50eca2ccd957da7b68c05d6b41 100644 +index 9336fbbd46c7c6ac11adf8e4cc2735f81c9ed639..3fcbfc7cdf78f71d23b2e2b2990c21db6f493f31 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java -@@ -56,6 +56,11 @@ public class EntityVex extends EntityMonster { +@@ -55,6 +55,11 @@ public class EntityVex extends EntityMonster { public boolean b(float f, float f1) { return false; // no fall damage please } @@ -1149,10 +1149,10 @@ index ac75ed3e2e0e0cd8f91de9ff188e173591443b72..af85dcc824e4ad50eca2ccd957da7b68 @Override diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 9b7b26a62f04b9dea6a613fc0e7006a517ac36b9..ec6e5766d3a7e77e0698093d966bd5a96775f642 100644 +index 9b925bf9b7946eecb16f94d49a9823139c5fd641..850dae5f20649854f013c0e530a3325455b5db4a 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -95,6 +95,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -93,6 +93,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation public boolean a(EntityHuman entityhuman) { return world.purpurConfig.villagerCanBeLeashed && !this.isLeashed(); } @@ -1165,10 +1165,10 @@ index 9b7b26a62f04b9dea6a613fc0e7006a517ac36b9..ec6e5766d3a7e77e0698093d966bd5a9 @Override diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index d41960088bb8bc6a7fece0ef152403c43a768dde..9eb9ace0f59366787bc2789ecabf7800b6d29d5c 100644 +index b9418fac0a05d4bb5f8f215a5704bba332e3f7cb..a37aee151bce19ee74e6eae6b67e522a4b28f5a8 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -@@ -64,6 +64,11 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -65,6 +65,11 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { public boolean a(EntityHuman entityhuman) { return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed(); } @@ -1245,10 +1245,10 @@ index d92fe8013fb3b43cb7eabdf1c624291b7e881889..bcc4aa1d3f09e43016d0009cd04dd6b7 @Override diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index fd28ef623f8b6db5e36328d4ef2771e841db0a9d..4dc027577656b423cd06a1eca5fdf9c9a5fcf107 100644 +index e4de6e2f8b72c0ede3ad34666a5dfde5c5363b56..c87f05f2d511a135fe67943f96fe41d06882e57b 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -68,6 +68,15 @@ public class EntityZombie extends EntityMonster { +@@ -67,6 +67,15 @@ public class EntityZombie extends EntityMonster { public boolean jockeyTryExistingChickens() { return world.purpurConfig.zombieJockeyTryExistingChickens; } @@ -1264,7 +1264,7 @@ index fd28ef623f8b6db5e36328d4ef2771e841db0a9d..4dc027577656b423cd06a1eca5fdf9c9 // Purpur end @Override -@@ -550,7 +559,7 @@ public class EntityZombie extends EntityMonster { +@@ -549,7 +558,7 @@ public class EntityZombie extends EntityMonster { } protected void eV() { @@ -1294,7 +1294,7 @@ index 02b0ae550a0ed33b5b43beedf3b1405985c58c13..966a14b4122b5ca43832a57fcbc16214 public static boolean a(EntityTypes entitytypes, WorldAccess worldaccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) { diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index 0c47477b416980d2e932321730525bf5a8feda4f..dc850677c29c16805f28af00b2a633638a776f0d 100644 +index 5b6ed77fb2b92b5bf701de436c8d7235bfe82685..48e501130dea326ffc6503bc2e9306dffd8797f9 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -53,6 +53,15 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo diff --git a/patches/server/0152-Implement-TPSBar.patch b/patches/server/0152-Implement-TPSBar.patch index 544106553..9465da1c7 100644 --- a/patches/server/0152-Implement-TPSBar.patch +++ b/patches/server/0152-Implement-TPSBar.patch @@ -17,10 +17,10 @@ index b5cc099746e9f05ea69bc438bda22a5ac3ebc3c5..bbd17231a4f7ad0ddde6eb5e589a6c40 if (commanddispatcher_servertype.d) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cd01859f3fe24d2eb9554e663c1a092038e93f02..e620d3596fdc2ca64485b451513bfae47c58ee91 100644 +index 85c14df768ec844b710bf2b32eb7f85c9e6b47ea..17591457a33e6994cd26bb1487a7879a11411a9c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -470,6 +470,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant CraftEventFactory.MELTING } @@ -325,10 +325,10 @@ index b7e1e7e35a33cf6a476b11284ebdb0cdda524af2..9e8f720ee0a39ccc27d671df4ae83ef4 this.c.setTypeAndData(blockposition1, Blocks.DIRT.getBlockData(), 2); } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java -index c03ebbc933197be3e7097ea3f7b7cd08c90db7bb..37c1d1ac1bfcaf84d00135ad3c9d9e9b213fdaea 100644 +index 6ea402c603b9b54705e79a2fdc61fe5a254479a3..0119eb85fbb2aa85b402f7e0ff712e83c79880a4 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java -@@ -23,7 +23,7 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { +@@ -24,7 +24,7 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { @Override public boolean a() { diff --git a/patches/server/0160-Add-EntityTeleportHinderedEvent.patch b/patches/server/0160-Add-EntityTeleportHinderedEvent.patch index d3ccb9f2e..f2bbe72c2 100644 --- a/patches/server/0160-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0160-Add-EntityTeleportHinderedEvent.patch @@ -50,10 +50,10 @@ index e731b6d811d179f07f84278d2cce75e0d98092ab..f0e5c378c4612192c1d4c74aa81e598f WorldServer worldserver = ((WorldServer) world).getMinecraftServer().getWorldServer(resourcekey); diff --git a/src/main/java/net/minecraft/server/BlockPortal.java b/src/main/java/net/minecraft/server/BlockPortal.java -index 4132cd4c6f13cfa1c0cda43daaa908ff3c07f32b..6dab6ee15f34c401bfe71041f46a9d5b9732770b 100644 +index bd78d55ee94f1359739a9d790092d07c613eac0f..a574ef929ac60584ff6e1b2c76722456cc3895ff 100644 --- a/src/main/java/net/minecraft/server/BlockPortal.java +++ b/src/main/java/net/minecraft/server/BlockPortal.java -@@ -63,7 +63,15 @@ public class BlockPortal extends Block { +@@ -60,7 +60,15 @@ public class BlockPortal extends Block { @Override public void a(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) { @@ -71,10 +71,10 @@ index 4132cd4c6f13cfa1c0cda43daaa908ff3c07f32b..6dab6ee15f34c401bfe71041f46a9d5b EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), blockposition.getX(), blockposition.getY(), blockposition.getZ())); world.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -index ed8e91bf6c8b9d410d439bdddd5067d346a20a7e..127b5d8215f2bb4c5c523c5a77ebccfbf5fc25ff 100644 +index e616b3759561e0d6e471f914f3dc843fe7464f2e..4a443827a316415c2c047ca468d965a80fce1fb1 100644 --- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java +++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -@@ -125,9 +125,18 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick +@@ -126,9 +126,18 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick } } @@ -108,7 +108,7 @@ index e1b2a39ea8847716c44d265a62492b5e6cbe262d..2391e1ddbe062dde5cb9a240b0a6a85e + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a3b810556e306bc2be65c7811cfa7806d5752cfa..f96c41fc8788ee7b674c18cc0fa692df9cee1939 100644 +index 5471422d23d261a06c67f9374cae933430ec03a0..4c592f6d4d6cbeb4c3225e7794f4b1d6c8d62394 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -522,6 +522,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -123,7 +123,7 @@ index a3b810556e306bc2be65c7811cfa7806d5752cfa..f96c41fc8788ee7b674c18cc0fa692df } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 86d10c342a741e85e434b65ae172bbdf5284d23b..2d7ce3379ececfca49ae0f535206e11cc346bb41 100644 +index 400e26c96f00e9f8895a45e70f22552ec17f2436..ec450146f82b656616c8b60cc05d727437eaa0b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -117,6 +117,7 @@ import org.bukkit.entity.EntityType; diff --git a/patches/server/0165-Fix-PlayerEditBookEvent-not-saving-new-book.patch b/patches/server/0165-Fix-PlayerEditBookEvent-not-saving-new-book.patch index c19debdb8..56a2c53b7 100644 --- a/patches/server/0165-Fix-PlayerEditBookEvent-not-saving-new-book.patch +++ b/patches/server/0165-Fix-PlayerEditBookEvent-not-saving-new-book.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix PlayerEditBookEvent not saving new book diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c5d130d96b53f9d86145a8f587ae8fc8de963330..9f93e2f5aed24ad0c13076fc6b2087d988bd0f01 100644 +index 9ff35aa827cf5b937b8dcbcabafd27301574c35d..f7a031920c68d5d5d505d86ab1b513ac53f5bf84 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1065,7 +1065,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch index 30d5a651c..63a14ec03 100644 --- a/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0167-Toggle-for-water-sensitive-mob-damage.patch @@ -57,10 +57,10 @@ index 38f94d4983b69e265441a2b8365702df57a881f5..50fa5f8395fea3ba6fa202a5a38519cd return false; } diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 88eeabeb89fe733c462a667d7564da3b125952a2..2c22447c361962d76e0e18986e5406eb635ab46f 100644 +index eb6344a5671408ae9fdd6013774baa13addf304b..663c6dd23e0aa75266cefc8f0514d2ca9dc51553 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -70,7 +70,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt +@@ -71,7 +71,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt @Override public boolean dO() { diff --git a/patches/server/0170-Add-unsafe-Entity-serialization-API.patch b/patches/server/0170-Add-unsafe-Entity-serialization-API.patch index 9d114ecf8..b35c3fc7c 100644 --- a/patches/server/0170-Add-unsafe-Entity-serialization-API.patch +++ b/patches/server/0170-Add-unsafe-Entity-serialization-API.patch @@ -29,7 +29,7 @@ index 73cf30786d2b4d6f87be5f9aad87c3edb594d18e..f5fb3b3c08a05bede7ed1141c018bd0d return SystemUtils.a(a(nbttagcompound).map((entitytypes) -> { return entitytypes.a(world); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f96c41fc8788ee7b674c18cc0fa692df9cee1939..63a419b4eed399a50ba9dde515c1c13da4e720c8 100644 +index 4c592f6d4d6cbeb4c3225e7794f4b1d6c8d62394..b441dac8f31b679aa7e36d23848d34e298e6abba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1199,5 +1199,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -46,10 +46,10 @@ index f96c41fc8788ee7b674c18cc0fa692df9cee1939..63a419b4eed399a50ba9dde515c1c13d // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a9c188c42c63d6e073bae3c77f1dacd2c3fc4602..a73ed438df34d494242f680e08110f4b9eba01c6 100644 +index 7de7afae711800154735411947ff140c76d5171f..b14e9a2cd6e849fe91a2512f379036a284323420 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -383,9 +383,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -390,9 +390,14 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkNotNull(item, "null cannot be serialized"); Preconditions.checkArgument(item.getType() != Material.AIR, "air cannot be serialized"); @@ -66,7 +66,7 @@ index a9c188c42c63d6e073bae3c77f1dacd2c3fc4602..a73ed438df34d494242f680e08110f4b try { net.minecraft.server.NBTCompressedStreamTools.writeNBT( compound, -@@ -398,26 +403,58 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -405,26 +410,58 @@ public final class CraftMagicNumbers implements UnsafeValues { return outputStream.toByteArray(); } diff --git a/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index c2725b015..e69158fef 100644 --- a/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0172-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -18,7 +18,7 @@ index 9718812a3b5b4fe68c55390a52f7686cd78e44cd..a96b74b99cac14ef83066bafc514d2ff } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 8a69e157572d799ce3760d55550cf0c2035da609..76bd201ebb03782c5cf45393269398c47db5baed 100644 +index fd019a7d8940150ba776e211fe5f7ecb4ffbc89c..9e27d3ccfd6a5ee00cac72c3137189b1be1f81fb 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -1023,6 +1023,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { diff --git a/patches/server/0173-Dont-run-with-scissors.patch b/patches/server/0173-Dont-run-with-scissors.patch index c9f44716b..6b4f4596b 100644 --- a/patches/server/0173-Dont-run-with-scissors.patch +++ b/patches/server/0173-Dont-run-with-scissors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 9f93e2f5aed24ad0c13076fc6b2087d988bd0f01..89af9bca9df7a25362650627ce9fa0aa02b3cc29 100644 +index f7a031920c68d5d5d505d86ab1b513ac53f5bf84..100ab4ae37a0d71a0d9bc3202802f705e1260ee1 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1388,6 +1388,12 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/patches/server/0176-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0176-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index a3fce18d9..61c8b834c 100644 --- a/patches/server/0176-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0176-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -8,10 +8,10 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG - Endermite spawn chance diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java -index e8650c1bfa8f94ba461b7094125679112d825980..060ac3be0c08a297c456c650400c9f56afd0114d 100644 +index 44dbe818b19c927098c1e6b2bcb556378be5637c..a1a070e786a7b587d103809957ec4f70f30f999a 100644 --- a/src/main/java/net/minecraft/server/EntityEnderPearl.java +++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java -@@ -53,7 +53,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable { +@@ -54,7 +54,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable { Bukkit.getPluginManager().callEvent(teleEvent); if (!teleEvent.isCancelled() && !entityplayer.playerConnection.isDisconnected()) { @@ -20,7 +20,7 @@ index e8650c1bfa8f94ba461b7094125679112d825980..060ac3be0c08a297c456c650400c9f56 EntityEndermite entityendermite = (EntityEndermite) EntityTypes.ENDERMITE.a(this.world); entityendermite.setPlayerSpawned(true); -@@ -68,7 +68,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable { +@@ -69,7 +69,7 @@ public class EntityEnderPearl extends EntityProjectileThrowable { entityplayer.playerConnection.teleport(teleEvent.getTo()); entity.fallDistance = 0.0F; CraftEventFactory.entityDamage = this;