From 70ad51a80c9ff18ee3cc27aa7c67d54b45944619 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 1 Jun 2020 23:15:47 -0400 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing My recent work on serialization is now in CraftBukkit so was able to drop the patch and Paper is now consistent with upstream. Bukkit Changes: e2699636 Move API notes to more obvious location CraftBukkit Changes: 1b2830a3 SPIGOT-4441: Fix serializing Components to and from Legacy --- ...Blocks-to-be-accessed-via-a-long-key.patch | 2 +- .../0138-isChunkGenerated-API.patch | 2 +- .../0153-Material-API-additions.patch | 2 +- .../0180-Add-Heightmap-API.patch | 2 +- .../0002-Paper-config-files.patch | 2 +- Spigot-Server-Patches/0004-MC-Utils.patch | 2 +- ...to-current-Chunk-for-Entity-and-Bloc.patch | 8 +- Spigot-Server-Patches/0009-Timings-v2.patch | 6 +- .../0020-Player-affects-spawning-API.patch | 4 +- ...024-Only-refresh-abilities-if-needed.patch | 4 +- .../0025-Entity-Origin-API.patch | 4 +- ...nfigurable-top-of-nether-void-damage.patch | 2 +- .../0032-Optimize-explosions.patch | 2 +- .../0034-Disable-thunder.patch | 2 +- .../0035-Disable-ice-and-snow.patch | 2 +- .../0042-Add-PlayerInitialSpawnEvent.patch | 2 +- ...44-Ensure-commands-are-not-ran-async.patch | 2 +- .../0048-Player-Tab-List-and-Title-APIs.patch | 4 +- ...entation-of-tile-entity-removal-list.patch | 2 +- .../0052-Add-velocity-warnings.patch | 4 +- ...ble-inter-world-teleportation-safety.patch | 4 +- .../0058-Complete-resource-pack-API.patch | 8 +- ...064-Handle-Item-Meta-Inconsistencies.patch | 18 +-- ...th-absorb-values-and-repair-bad-data.patch | 4 +- ...070-Use-a-Shared-Random-for-Entities.patch | 2 +- ...le-spawn-chances-for-skeleton-horses.patch | 2 +- ...Location-getType-and-getBlockData-fo.patch | 2 +- ...0079-Add-PlayerUseUnknownEntityEvent.patch | 2 +- ...dDebugInfo-not-initialized-on-client.patch | 2 +- ...nilla-per-world-scoreboard-coloring-.patch | 17 +-- ...nd-for-setting-passengers-on-players.patch | 4 +- .../0088-Configurable-Player-Collision.patch | 2 +- ...92-Implement-PlayerLocaleChangeEvent.patch | 6 +- ...-API-Replenishable-Lootables-Feature.patch | 2 +- ...r-redstone-torch-rapid-clock-removal.patch | 2 +- .../0106-Fix-Double-World-Add-issues.patch | 2 +- ...mative-vehicle-moved-wrongly-message.patch | 2 +- ...onfigurable-packet-in-spam-threshold.patch | 2 +- ...13-Configurable-flying-kick-messages.patch | 2 +- .../0114-Chunk-registration-fixes.patch | 2 +- ...4-Don-t-let-fishinghooks-use-portals.patch | 2 +- ...-Bound-Treasure-Maps-to-World-Border.patch | 2 +- ...32-Properly-fix-item-duplication-bug.patch | 2 +- .../0133-String-based-Action-Bar-API.patch | 4 +- .../0137-Enforce-Sync-Player-Saves.patch | 2 +- .../0140-Cap-Entity-Collisions.patch | 2 +- ...property-to-disable-book-size-limits.patch | 2 +- ...ke-parrots-stay-on-shoulders-despite.patch | 2 +- ...oleAppender-for-console-improvements.patch | 6 +- .../0158-Entity-fromMobSpawner.patch | 4 +- .../0162-ProfileWhitelistVerifyEvent.patch | 2 +- ...ams-to-redirect-System.out-err-to-lo.patch | 2 +- ...n-prefixes-using-Log4J-configuration.patch | 2 +- ...-Include-Log4J2-SLF4J-implementation.patch | 2 +- .../0173-Add-PlayerJumpEvent.patch | 2 +- ...4-handle-PacketPlayInKeepAlive-async.patch | 2 +- ...nt-protocol-version-and-virtual-host.patch | 4 +- ...rt-serverside-behavior-of-keepalives.patch | 2 +- ...-get-a-BlockState-without-a-snapshot.patch | 2 +- .../0183-AsyncTabCompleteEvent.patch | 2 +- ...7-Ability-to-apply-mending-to-XP-API.patch | 4 +- .../0194-Add-ArmorStand-Item-Meta.patch | 4 +- .../0204-Player.setPlayerProfile-API.patch | 8 +- ...10-Flag-to-disable-the-channel-limit.patch | 6 +- ...-allowed-colored-signs-to-be-created.patch | 2 +- .../0226-Fix-CraftEntity-hashCode.patch | 4 +- .../0239-InventoryCloseEvent-Reason-API.patch | 6 +- ...nventory-when-cancelling-PlayerInter.patch | 2 +- ...nilla-entity-warnings-for-duplicates.patch | 2 +- ...246-Use-asynchronous-Log4j-2-loggers.patch | 2 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 2 +- ...nd-make-tab-spam-limits-configurable.patch | 2 +- ...ptimize-BlockPosition-helper-methods.patch | 2 +- ...ets-from-world-player-list-not-serve.patch | 2 +- ...store-vanlla-default-mob-spawn-range.patch | 2 +- ...278-Optimize-CraftBlockData-Creation.patch | 2 +- ...e-attack-cooldown-methods-for-Player.patch | 4 +- .../0289-Improve-death-events.patch | 4 +- ...-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 32 ++-- .../0298-Support-Overriding-World-Seeds.patch | 2 +- .../0299-Optimize-Server-World-Map.patch | 2 +- .../0305-Hook-into-CB-plugin-rewrites.patch | 2 +- ...tator-target-events-and-improve-impl.patch | 2 +- ...4-Add-Velocity-IP-Forwarding-Support.patch | 2 +- ...event-players-from-moving-into-unloa.patch | 2 +- ...t-allow-digging-into-unloaded-chunks.patch | 2 +- ...entity-dismount-during-teleportation.patch | 2 +- .../0328-Book-Size-Limits.patch | 2 +- ...-replace-OfflinePlayer-getLastPlayed.patch | 14 +- .../0337-Fix-PlayerEditBookEvent.patch | 2 +- ...vehicle-tracking-issue-on-disconnect.patch | 2 +- ...-remove-from-being-called-on-Players.patch | 4 +- .../0343-Fix-sign-edit-memory-leak.patch | 2 +- .../0344-Limit-Client-Sign-length-more.patch | 2 +- ...-Manager-and-add-advanced-packet-sup.patch | 4 +- ...0-Fix-Whitelist-On-Off-inconsistency.patch | 2 +- ...oggleEvent-when-whitelist-is-toggled.patch | 2 +- .../0354-Entity-getEntitySpawnReason.patch | 8 +- ...ity-Metadata-for-all-tracked-players.patch | 2 +- ...357-Implement-PlayerPostRespawnEvent.patch | 2 +- ...0361-PlayerDeathEvent-getItemsToKeep.patch | 2 +- ...layer-View-Distance-API-placeholders.patch | 4 +- ...l-to-changed-postToMainThread-method.patch | 2 +- ...h-entity-loss-due-to-unloaded-chunks.patch | 2 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 2 +- ...x-some-generation-concurrency-issues.patch | 2 +- .../0378-incremental-chunk-saving.patch | 2 +- ...al-Spawned-mobs-towards-natural-spaw.patch | 2 +- ...90-Asynchronous-chunk-IO-and-loading.patch | 4 +- ...etChunkIfLoadedImmediately-in-places.patch | 2 +- ...if-we-have-a-custom-Bukkit-generator.patch | 2 +- .../0395-Fix-MC-158900.patch | 2 +- ...ement-optional-per-player-mob-spawns.patch | 2 +- ...ro-tick-instant-grow-farms-MC-113809.patch | 2 +- ...hanging-entities-that-are-not-ItemFr.patch | 2 +- ...-sneak-when-changing-worlds-MC-10657.patch | 4 +- ...or-when-player-hand-set-to-empty-typ.patch | 2 +- ...-Fix-spawn-radius-being-treated-as-0.patch | 2 +- ...layerDeathEvent-shouldDropExperience.patch | 2 +- ...timise-IEntityAccess-getPlayerByUUID.patch | 2 +- .../0438-Make-the-GUI-graph-fancier.patch | 2 +- ...41-Prevent-teleporting-dead-entities.patch | 2 +- ...imise-TickListServer-by-rewriting-it.patch | 2 +- ...spawn-settings-and-per-player-option.patch | 2 +- ...ptimize-Collision-to-not-load-chunks.patch | 2 +- .../0454-Don-t-tick-dead-players.patch | 2 +- ...ks-when-attempting-to-unload-a-chunk.patch | 2 +- .../0458-Increase-Light-Queue-Size.patch | 2 +- ...move-existing-players-to-world-spawn.patch | 4 +- ...-Add-tick-times-API-and-mspt-command.patch | 4 +- .../0467-Improved-Watchdog-Support.patch | 2 +- ...-Implement-Player-Client-Options-API.patch | 6 +- ...-Chunk-Post-Processing-deadlock-risk.patch | 2 +- ...Load-Chunks-for-Login-Asynchronously.patch | 2 +- ...0487-Allow-sleeping-players-to-float.patch | 2 +- ...allbacks-to-schedule-for-Callback-Ex.patch | 2 +- .../0493-Implement-Brigadier-Mojang-API.patch | 2 +- ...PickItem-Packet-and-kick-for-invalid.patch | 2 +- .../0497-Sync-position-on-teleportation.patch | 2 +- ...-per-thread-native-byte-buffer-cache.patch | 2 +- .../0501-Implement-Mob-Goal-API.patch | 2 +- .../0507-Fix-Light-Command.patch | 2 +- ...26-Add-permission-for-command-blocks.patch | 2 +- ...ialization-of-colors-from-components.patch | 143 ------------------ work/Bukkit | 2 +- work/CraftBukkit | 2 +- 146 files changed, 222 insertions(+), 378 deletions(-) delete mode 100644 Spigot-Server-Patches/0534-Fix-serialization-of-colors-from-components.patch diff --git a/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch index 40ed85da9b..32b318c48e 100644 --- a/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -48,7 +48,7 @@ index f87ecd0a753b0f730ee33c0dd699b7388e8c6697..07e532cde37255ffb2db368453bb69ee * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 62aa9bd67cf652cc9fcd4ef2ced3bc48e120763d..64308c1f05747c2320ae5dc86f602c3d93e9d855 100644 +index 8fe496ad8f566183e2280582d00c3b7751f06d75..08aebaedce935faa1a2c54c5abc02b85896df216 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -90,6 +90,38 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0138-isChunkGenerated-API.patch b/Spigot-API-Patches/0138-isChunkGenerated-API.patch index 163bd95b5f..5d2194dadf 100644 --- a/Spigot-API-Patches/0138-isChunkGenerated-API.patch +++ b/Spigot-API-Patches/0138-isChunkGenerated-API.patch @@ -34,7 +34,7 @@ index 07e532cde37255ffb2db368453bb69ee0a410931..6e1a1124a6e528c1a94ccb1d09bc5dcc /** * Sets the position of this Location and returns itself diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 64308c1f05747c2320ae5dc86f602c3d93e9d855..b7ad4f566497914573ccfb595e660226dd34c273 100644 +index 08aebaedce935faa1a2c54c5abc02b85896df216..42b91634a131f8705cbde96b6068d5881a393fb7 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -254,6 +254,17 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0153-Material-API-additions.patch b/Spigot-API-Patches/0153-Material-API-additions.patch index 57e9e13c77..970b653933 100644 --- a/Spigot-API-Patches/0153-Material-API-additions.patch +++ b/Spigot-API-Patches/0153-Material-API-additions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index f28da6efd05cc1e0da25bebde82820907924f8de..1f2dbd68c5cdee65a1b51a163502c310f5ed6d80 100644 +index 57b0d98121cea592dded31165e5e70f6b3bbdaa5..b89fc2dc0b186b99f76d9bf8b1f5daad3e211dfb 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -82,6 +82,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/Spigot-API-Patches/0180-Add-Heightmap-API.patch b/Spigot-API-Patches/0180-Add-Heightmap-API.patch index 9326962388..cec3573176 100644 --- a/Spigot-API-Patches/0180-Add-Heightmap-API.patch +++ b/Spigot-API-Patches/0180-Add-Heightmap-API.patch @@ -89,7 +89,7 @@ index 77d9cd0a1f54b5eb233eddbcff1bfa76bc182e9a..5904750329a5c7061de6e4fe32335b0d * Creates explosion at this location with given power * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c88f17244617b75e251811595ffc189dc81e12fb..db18f70ec37253232fb2cfd08ccd07d13c7c457d 100644 +index f9a5ea4fcdb87e741cf04b47d469e05f8a786155..0a5865d85dfc28cb68f753878608b12afd74bc99 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -160,6 +160,87 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index 94188ebe5a..c18f6f82ae 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -718,7 +718,7 @@ index cb5d0f5378418655eee2cd68bab8dc39a7b7052b..101d5b42e319c010fd7ed043fb17d1f2 }; diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 5fdc9bc711295edb325c0417465c69b33200fbe3..3cd66886cdabfa8bcf1e9c8b5a9805d8b53a2eee 100644 +index a52cbba6e681bc96a15a3eea62831a1628f921a7..98ed975a6241395b6119d5b3a62d24329aa1f05b 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -39,36 +39,36 @@ public class SpigotWorldConfig diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 64fe070438..d6470aa738 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -4237,7 +4237,7 @@ index 7ad30548e2ad221494d6870b0b3a08e1d2f3ed06..b505244516321292e56609eaa54693d8 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 0c496ee0a04da4f0523f6e629f26e99c490f171a..6a681d694e76fa6f38d00ee7bae67762f3e5c34f 100644 +index 8cc5f417fe2ad2370b52236e8f5497688553aeba..f40cb14d5301631161f1701043ee987359d9a8e9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -67,9 +67,9 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 03919f2c92..bdd8563825 100644 --- a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -175,18 +175,18 @@ index 9071bb7ece6d38d85b4ea11e53671f3ec5210b28..820180ab3f7053c348caa80cc21f15df @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 056525526e87fa75f026278a82311640a3b466db..5a047dd68223363ef83f8d5b77adbd45f7531113 100644 +index 27e2379f2dd6e9e06ae7a973ab8654cdcacf66c0..9672dd7c2166bba88832b1743b97e16561fe434c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -138,6 +138,7 @@ import net.minecraft.server.EntityZombieVillager; - import net.minecraft.server.EnumChatFormat; +@@ -137,6 +137,7 @@ import net.minecraft.server.EntityZombieHusk; + import net.minecraft.server.EntityZombieVillager; import net.minecraft.server.IChatBaseComponent; import net.minecraft.server.NBTTagCompound; +import org.bukkit.Chunk; // Paper import org.bukkit.EntityEffect; import org.bukkit.Location; import org.bukkit.Server; -@@ -179,6 +180,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -178,6 +179,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity = entity; } diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 45cf044492..4c397fec6a 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1029,7 +1029,7 @@ index b505244516321292e56609eaa54693d84e0bf617..65134c87772cb6d4d732fc223929cfda protected void broadcast(Entity entity, Packet packet) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 6a681d694e76fa6f38d00ee7bae67762f3e5c34f..914366afcdffe616d1403de4143205033860dbcb 100644 +index f40cb14d5301631161f1701043ee987359d9a8e9..87119b4fe5ae27c63d272c8e436e3734eddd8f68 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -1609,10 +1609,10 @@ index 2bd22a369825040c7f5074117d82ae83f07b6096..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f20f72c035c003b06c9ad83d05538b3dba780ebe..ba6a924a9c33ac02d3ef877e142f1e21abd10cb2 100644 +index db0bd5cc0acb5523815183ba9c4a8b853a9e9d12..48d1397a6846c64dfa372390783ce66827153bf9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1718,6 +1718,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1717,6 +1717,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { packet.components = components; getHandle().playerConnection.sendPacket(packet); } diff --git a/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch index f199b9197e..8d3088261e 100644 --- a/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch +++ b/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch @@ -45,10 +45,10 @@ index 102b3a3c48799e44de760da48425fef9c5278771..08c2a22f7a01df21532e1949ea9d51f7 return false; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ba6a924a9c33ac02d3ef877e142f1e21abd10cb2..e40a379905c836ef3828400470e9f57938e9a99e 100644 +index 48d1397a6846c64dfa372390783ce66827153bf9..2d3f3a2b7f4e6acdf8043befb584fc0752b1ba3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1626,7 +1626,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1625,7 +1625,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return getHandle().locale; diff --git a/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch b/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch index b42eee81b7..4f61568f29 100644 --- a/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch +++ b/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e40a379905c836ef3828400470e9f57938e9a99e..331555dc27f7ad0542dbff1b84a5e3b2b7257982 100644 +index 2d3f3a2b7f4e6acdf8043befb584fc0752b1ba3a..690d150aa9117be315d624bf5e8131d70c7c59bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1315,12 +1315,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1314,12 +1314,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/Spigot-Server-Patches/0025-Entity-Origin-API.patch b/Spigot-Server-Patches/0025-Entity-Origin-API.patch index b6ecb9b6e8..bcd50b5b5e 100644 --- a/Spigot-Server-Patches/0025-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0025-Entity-Origin-API.patch @@ -117,10 +117,10 @@ index 4ab77e8dc0f918bd4f069a0f886d04dea473f046..f8c9e90d2e5bb60795f7957786e56168 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5a047dd68223363ef83f8d5b77adbd45f7531113..5625e5bda20578d7653439c47eee4671603f7b5b 100644 +index 9672dd7c2166bba88832b1743b97e16561fe434c..3e8ea3a94d0547afc7de4f7b5cd901e93028808d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1009,4 +1009,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1008,4 +1008,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return spigot; } // Spigot end diff --git a/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch index 07dfc5b44b..5eebd91e1b 100644 --- a/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch @@ -29,7 +29,7 @@ index d59b82b7bb1f6d1b231f4e394e0a67a3d154d7be..f7a0a33e49cadf9b2bd43f118c106937 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cf4901ccaecff800285cfa63cbf05ab130a8b0b5..5e3959901bf54178c8042036e00e1d42cc8fc99d 100644 +index 7e400f4c281a02f038834ac984df4ce35a6a7ec3..94b74e0c0eb9495f9b2cb066c86bdedbe247a0cd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -406,9 +406,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0032-Optimize-explosions.patch b/Spigot-Server-Patches/0032-Optimize-explosions.patch index ca71291081..9fafbf0455 100644 --- a/Spigot-Server-Patches/0032-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch @@ -135,7 +135,7 @@ index c61037c837e29544e3afeb0b23f422073d3f5166..a67c31a6021d881b49cfdb75f514404c } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1bb36201544987cf44b9da2494e4cc54385f7e77..4604634577418be8382a3d84eaaa90869834c88f 100644 +index ca3b4c9f2f7e1b5425e8be4c3d11e3e881915e8b..6dfefa3f9ebf6d2ad08ebe6ddd77ca6d95971544 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -80,6 +80,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0034-Disable-thunder.patch b/Spigot-Server-Patches/0034-Disable-thunder.patch index 7a3db5b69f..4e3bf5a99a 100644 --- a/Spigot-Server-Patches/0034-Disable-thunder.patch +++ b/Spigot-Server-Patches/0034-Disable-thunder.patch @@ -19,7 +19,7 @@ index 25e0717186366af580e512eedfd403b8efc64a75..41436a4ead736dc925ca77d4cabf925f + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 351825ebec43cd5dabe57650a7d9f81ac6e6e82d..a6d6ebdcb5b35bf62528d1c6c705f2a7f1437f7b 100644 +index f8c9e90d2e5bb60795f7957786e56168ff7bf11c..e4ac7dbc5303078fd2fb5ecefab7665c14586bc5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -445,7 +445,7 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch index 3ad815ce26..69a213c655 100644 --- a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch +++ b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch @@ -19,7 +19,7 @@ index 41436a4ead736dc925ca77d4cabf925f4e492d68..f53d8b96757cbedc5fbb16195952a7da + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a6d6ebdcb5b35bf62528d1c6c705f2a7f1437f7b..7d4d59e310aa276c89916d0e706c6c829037eb73 100644 +index e4ac7dbc5303078fd2fb5ecefab7665c14586bc5..d744daeb7c678d9f073d848be50a0f6eee721f0e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -465,7 +465,7 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch index a9acd38718..4c186c7a87 100644 --- a/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch +++ b/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch @@ -9,7 +9,7 @@ This is a duplicate API from spigot, so use our duplicate subclass and improve setPosition to use raw diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index f28be11eee2b6e64e9db84a533dd2fb297611740..541e3ce83042b4363cdff3baf3dfcd3eba9b4820 100644 +index 79cfcbce85e779fc8e8589840a27961f59209f3d..f8b7ea28694170148027123f889fb93f8647cdc4 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -119,14 +119,14 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch index cc58fae267..91fb60a590 100644 --- a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch +++ b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch @@ -14,7 +14,7 @@ big slowdown in execution but throwing an exception at same time to raise awaren that it is happening so that plugin authors can fix their code to stop executing commands async. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 914366afcdffe616d1403de4143205033860dbcb..5e8739462eface8b3bbc7ef8c0e08763e45c5b2e 100644 +index 87119b4fe5ae27c63d272c8e436e3734eddd8f68..2e24d5ba85d7938a9ffe2339fa22c19ee5362b5f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1570,6 +1570,29 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0048-Player-Tab-List-and-Title-APIs.patch b/Spigot-Server-Patches/0048-Player-Tab-List-and-Title-APIs.patch index 2ac8d174a0..e78636a761 100644 --- a/Spigot-Server-Patches/0048-Player-Tab-List-and-Title-APIs.patch +++ b/Spigot-Server-Patches/0048-Player-Tab-List-and-Title-APIs.patch @@ -52,7 +52,7 @@ index 3a6e780007bc1b1fa799166daa01d3a9e15c7ab0..535056c64ef866e645b1bfbd149b50c5 if (this.a == PacketPlayOutTitle.EnumTitleAction.TIMES) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 331555dc27f7ad0542dbff1b84a5e3b2b7257982..5f3b6ebbe4e2df92ecd7038e950d212edfe0f8b2 100644 +index 690d150aa9117be315d624bf5e8131d70c7c59bf..c0937138a31077244e39b1154cd7838e26aa1205 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ @@ -62,7 +62,7 @@ index 331555dc27f7ad0542dbff1b84a5e3b2b7257982..5f3b6ebbe4e2df92ecd7038e950d212e import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -210,6 +211,96 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -209,6 +210,96 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch index 629481b2e8..6f61ea2efe 100644 --- a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch +++ b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Change implementation of (tile)entity removal list use sets for faster removal diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4d849719f4b06dad40f96afd27c3ef32092b5bd0..6e8ac186c9975888fe7403506ad0724fb37ad26c 100644 +index 65fc7105c8c93ccee569abb14ccba3f5cf75a7a8..fc9bbc4fdd371931ea31c061b9bef0c4f91853d9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0052-Add-velocity-warnings.patch b/Spigot-Server-Patches/0052-Add-velocity-warnings.patch index dd65715ad3..7b1125b288 100644 --- a/Spigot-Server-Patches/0052-Add-velocity-warnings.patch +++ b/Spigot-Server-Patches/0052-Add-velocity-warnings.patch @@ -17,10 +17,10 @@ index 1cf8fd93a45fb76fc1638c7fd8751314d4c813e3..d5311eb017fa093c3068e7ea0c240268 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5625e5bda20578d7653439c47eee4671603f7b5b..1d02e9acb94c972f3dc178a15ed0963a9c80539e 100644 +index 3e8ea3a94d0547afc7de4f7b5cd901e93028808d..7a6df77f196db8ccdaf589b680de9aab09b0ef32 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -409,10 +409,41 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -408,10 +408,41 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public void setVelocity(Vector velocity) { Preconditions.checkArgument(velocity != null, "velocity"); velocity.checkFinite(); diff --git a/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch b/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch index fb09f0f26e..d94fcaf886 100644 --- a/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch +++ b/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch @@ -30,10 +30,10 @@ index cd47a4ca069df26969de3051c2aac80540093818..abbf59bb91021821876a8960e8f77fac + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5f3b6ebbe4e2df92ecd7038e950d212edfe0f8b2..5ce7504c5f2c8049bd65d9558f9e413495c8894e 100644 +index c0937138a31077244e39b1154cd7838e26aa1205..c6c8d24e3b4c24ec5a6c7dd33afa3ab86d388ca1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -759,7 +759,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -758,7 +758,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (fromWorld == toWorld) { entity.playerConnection.teleport(to); } else { diff --git a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch index 00deca6a8a..75a6bad4ce 100644 --- a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch +++ b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5e8739462eface8b3bbc7ef8c0e08763e45c5b2e..3c8c9c9cd4cf4bc4f8c0da26f139d67fd8c5474b 100644 +index 2e24d5ba85d7938a9ffe2339fa22c19ee5362b5f..33482a85aa6c3600394684c83e03a4e84be7f1fa 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1335,7 +1335,11 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -22,10 +22,10 @@ index 5e8739462eface8b3bbc7ef8c0e08763e45c5b2e..3c8c9c9cd4cf4bc4f8c0da26f139d67f // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5ce7504c5f2c8049bd65d9558f9e413495c8894e..c4c372785045050c878e8df82425bc98c3c498b1 100644 +index c6c8d24e3b4c24ec5a6c7dd33afa3ab86d388ca1..98c09d169a4ab7cf248b3306a92f45092bca04f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -133,6 +133,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -132,6 +132,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private double health = 20; private boolean scaledHealth = false; private double healthScale = 20; @@ -36,7 +36,7 @@ index 5ce7504c5f2c8049bd65d9558f9e413495c8894e..c4c372785045050c878e8df82425bc98 public CraftPlayer(CraftServer server, EntityPlayer entity) { super(server, entity); -@@ -1730,6 +1734,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1729,6 +1733,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } diff --git a/Spigot-Server-Patches/0064-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0064-Handle-Item-Meta-Inconsistencies.patch index 88d8f68cc6..d5bf43590c 100644 --- a/Spigot-Server-Patches/0064-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0064-Handle-Item-Meta-Inconsistencies.patch @@ -194,7 +194,7 @@ index 4a9132c7016b076ab35b5d66ce81bbd247e1a3ce..3dd912abe3fec22adb29d8edfd66b9f5 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be3080362ac434b7 100644 +index cea4c7809758c6e271079546652635929985d143..b9435bbd51764f75b8d24171513f3dddc48906f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -221,7 +221,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -271,7 +274,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -270,7 +273,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List lore; private Integer customModelData; private NBTTagCompound blockData; @@ -230,7 +230,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -282,7 +285,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -281,7 +284,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private NBTTagCompound internalTag; @@ -239,7 +239,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -303,7 +306,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -302,7 +305,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -248,7 +248,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 } if (meta.hasAttributeModifiers()) { -@@ -399,13 +402,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -398,13 +401,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -264,7 +264,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -557,13 +560,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -556,13 +559,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -280,7 +280,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -815,14 +818,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -814,14 +817,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -297,7 +297,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1203,7 +1206,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1202,7 +1205,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -306,7 +306,7 @@ index f1c19d67ddaae82a607a3898eaf0b18e6620111f..854836b839ffd650161f5ae7be308036 } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1432,4 +1435,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1431,4 +1434,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return HANDLED_TAGS; } } diff --git a/Spigot-Server-Patches/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 409531a17c..45ecae253b 100644 --- a/Spigot-Server-Patches/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/Spigot-Server-Patches/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 8d14e6aced932176600936c5c8b7cb5ae44819e3..07c8f38f86a9d1eed95ccddb4c97892b } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c4c372785045050c878e8df82425bc98c3c498b1..9a92b96ff194e8648aec1ad7db433e4d7550cc5b 100644 +index 98c09d169a4ab7cf248b3306a92f45092bca04f8..b2e6eeb60db96cab7b95048d9773c3e3f6da10dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1549,6 +1549,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1548,6 +1548,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/Spigot-Server-Patches/0070-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0070-Use-a-Shared-Random-for-Entities.patch index bfb0904463..9b37704a09 100644 --- a/Spigot-Server-Patches/0070-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0070-Use-a-Shared-Random-for-Entities.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 10855cec1e0bee6af0878bad0d0b05c5a637fad2..58092a3d92820dc790048b42ab11ab15a8bab84e 100644 +index 383805926e60f9f2f77e258e9d51ed079549713a..d6fc93b5923096d3f092f561cbefdf26f2bbfb15 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -58,6 +58,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch index 4db0df7fcd..966656b18a 100644 --- a/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch @@ -22,7 +22,7 @@ index 7de7b74ff69bba1cbad24623d7eeff6c79812bab..6ef0e1399e9ff260712db1a044068c12 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7d4d59e310aa276c89916d0e706c6c829037eb73..9f801852ead82e7639175ab9342500c06909c20d 100644 +index d744daeb7c678d9f073d848be50a0f6eee721f0e..4b355ecbdaa8471225eb979270f2abc086e27e18 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -449,7 +449,7 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 7665c8adb0..d3bc6ddde5 100644 --- a/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward. Optimize getType and getBlockData to manually inline and optimize the calls diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index a3b5793e4824718c8bf3d0a4f963de0ca94a738e..71089442c189336fc0061852a661581784a64013 100644 +index 3f09c24e1cd1bba2809b70b1fa6e89773537d834..7b05bb9edcd059a134cef12cc9fea570217bc601 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -13,6 +13,14 @@ public class BaseBlockPosition implements Comparable { diff --git a/Spigot-Server-Patches/0079-Add-PlayerUseUnknownEntityEvent.patch b/Spigot-Server-Patches/0079-Add-PlayerUseUnknownEntityEvent.patch index 709b726f1b..6b440af862 100644 --- a/Spigot-Server-Patches/0079-Add-PlayerUseUnknownEntityEvent.patch +++ b/Spigot-Server-Patches/0079-Add-PlayerUseUnknownEntityEvent.patch @@ -18,7 +18,7 @@ index 680adbdeb03acb5471613b6ad9c2ecaba9c402c6..3f7697b39ce31174a14b1f62c6549ee3 private Vec3D c; private EnumHand d; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3c8c9c9cd4cf4bc4f8c0da26f139d67fd8c5474b..505189c82b7544d4fbb3922153e9db1503375b0e 100644 +index 33482a85aa6c3600394684c83e03a4e84be7f1fa..f879b40ac64ecd8b5713bbd6c07247e270a46095 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1912,6 +1912,16 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch b/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch index 4ad61fa2a1..4c750dd271 100644 --- a/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch +++ b/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix reducedDebugInfo not initialized on client diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 541e3ce83042b4363cdff3baf3dfcd3eba9b4820..9691d84f2c3bef7218ecca57248dafcbba00be83 100644 +index f8b7ea28694170148027123f889fb93f8647cdc4..87c854d052d32a10ba6f1abc317db083e8f079d4 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -150,6 +150,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index d3e909972e..08baaa10a8 100644 --- a/Spigot-Server-Patches/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -26,7 +26,7 @@ index 47f5f8055ed45914309ca9a295ac48b89f192320..b1d1a3c1f84e0d2153de257183687502 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 505189c82b7544d4fbb3922153e9db1503375b0e..669d9a41d6a6b4226ba4bee7084f8cfe804e0b1a 100644 +index f879b40ac64ecd8b5713bbd6c07247e270a46095..f9b77ec31b466687eaef2b952b01a2dcf38605c1 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1648,7 +1648,16 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -39,7 +39,7 @@ index 505189c82b7544d4fbb3922153e9db1503375b0e..669d9a41d6a6b4226ba4bee7084f8cfe + if (this.player.getWorld().paperConfig.useVanillaScoreboardColoring) { + IChatBaseComponent nameFromTeam = ScoreboardTeam.a(this.player.getScoreboardTeam(), ((CraftPlayer) player).getHandle().getDisplayName()); + // Explicitly add a RESET here, vanilla uses components for this now... -+ displayName = CraftChatMessage.fromComponent(nameFromTeam, EnumChatFormat.WHITE) + org.bukkit.ChatColor.RESET; ++ displayName = CraftChatMessage.fromComponent(nameFromTeam) + org.bukkit.ChatColor.RESET; + } + + s = String.format(event.getFormat(), displayName, event.getMessage()); @@ -47,16 +47,3 @@ index 505189c82b7544d4fbb3922153e9db1503375b0e..669d9a41d6a6b4226ba4bee7084f8cfe minecraftServer.console.sendMessage(s); if (((LazyPlayerSet) event.getRecipients()).isLazy()) { for (Object recipient : minecraftServer.getPlayerList().players) { -diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 9691d84f2c3bef7218ecca57248dafcbba00be83..9212501b8b1cdf8102a752deda1cf38257fbd358 100644 ---- a/src/main/java/net/minecraft/server/PlayerList.java -+++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -165,7 +165,7 @@ public abstract class PlayerList { - } - // CraftBukkit start - chatmessage.a(EnumChatFormat.YELLOW); -- String joinMessage = CraftChatMessage.fromComponent(chatmessage); -+ String joinMessage = CraftChatMessage.fromComponent(chatmessage, EnumChatFormat.WHITE); - - playerconnection.a(entityplayer.locX(), entityplayer.locY(), entityplayer.locZ(), entityplayer.yaw, entityplayer.pitch); - this.players.add(entityplayer); diff --git a/Spigot-Server-Patches/0085-Workaround-for-setting-passengers-on-players.patch b/Spigot-Server-Patches/0085-Workaround-for-setting-passengers-on-players.patch index bf66c2fd4c..0a407b78c0 100644 --- a/Spigot-Server-Patches/0085-Workaround-for-setting-passengers-on-players.patch +++ b/Spigot-Server-Patches/0085-Workaround-for-setting-passengers-on-players.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players SPIGOT-1915 & GH-114 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9a92b96ff194e8648aec1ad7db433e4d7550cc5b..a392632a72e63cffc1e22527b995b638ca20724a 100644 +index b2e6eeb60db96cab7b95048d9773c3e3f6da10dc..faff98ac698a5576ef4112a334e845a50d60b857 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -768,6 +768,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -767,6 +767,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return true; } diff --git a/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch index fc34eef396..5d8874b7da 100644 --- a/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch @@ -19,7 +19,7 @@ index d500cd75a9229584a70bbdbda6de9bce67b836e8..e4f0db64c061af684c28f50f0a37fbca + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 773f93edb753b505ba7ceb4cacaab8d4fcb13c68..36d20d5e3a622bb944f89c37e8b9050ccea2c86d 100644 +index 4c7df81217c10d92d05e619ad760bc5d9a6a79cf..bd14edb06f7ce2560b600845df284e6c6860d699 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -454,6 +454,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 3508fd7084db5dc908c5cddc790bb37f44a50e25..7417725363a09500215d5e5e3be1d3a4458dd5e4 100644 +index aae3d51288a257f42e773cde052bee52fc1ca238..e428b3cb8c8ca5a662a0e867bf74d08775f1bacd 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -696,7 +696,7 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0124-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0124-Don-t-let-fishinghooks-use-portals.patch index 1bab52c0ae..1837e84c0f 100644 --- a/Spigot-Server-Patches/0124-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0124-Don-t-let-fishinghooks-use-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1aade318ef9b2ecd867a0301c79fb082a78d45c7..3b948d0805c86e2fbaf58b06736144c87cadf179 100644 +index 3f1dbca881ce19a633fc7c20d26d1a25b550edf7..8a2093ac5a6d47c795523a1aab87e46f10b1699e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -161,7 +161,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0128-Bound-Treasure-Maps-to-World-Border.patch b/Spigot-Server-Patches/0128-Bound-Treasure-Maps-to-World-Border.patch index b8f08716ca..faf6834800 100644 --- a/Spigot-Server-Patches/0128-Bound-Treasure-Maps-to-World-Border.patch +++ b/Spigot-Server-Patches/0128-Bound-Treasure-Maps-to-World-Border.patch @@ -23,7 +23,7 @@ index 0f248b6de3b822642389eba2ce3569a6538bdece..e8ce2ecf23e58d82febf6b9441e0004e if (structurestart != null && structurestart.e()) { diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index 4ee13ac45483022417e08bb7a4461eb34b3ec84a..5f10c4338e4f8feffd8f0145dee7550c4db6c9e0 100644 +index 73730fe25c84a867b8d95525c9d76d60a5797396..4c20db5a3f9e159997a9851691aca421241d6d95 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -24,6 +24,18 @@ public class WorldBorder { diff --git a/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch index a2af26f66d..38e21f3efd 100644 --- a/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch @@ -19,7 +19,7 @@ index 482d7b7cb6b89d79b2ce54338130481f9f1c8c24..bf32997c422d478699c32ce0539a65c3 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5b304c04bc77a0786aa362ceffea4c89bc4bb1e2..f367a76e8286eb92814ff9287819c4d7da16f922 100644 +index eb3ed0d8757c59b387cd74a6df7371c356bd6d3a..fbaf234e8400dc14dc2421c87c80eb887ba44fef 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2526,7 +2526,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0133-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0133-String-based-Action-Bar-API.patch index c1bcf54be7..ca1000312b 100644 --- a/Spigot-Server-Patches/0133-String-based-Action-Bar-API.patch +++ b/Spigot-Server-Patches/0133-String-based-Action-Bar-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 764a8ef952b6f3a38ae8430c0648ad1694aa89b9..d349f0c87bfad19cf0bddb4709f1d7b0dd4b4a36 100644 +index a85638fb4022361cb17cac0d666f26cdd1a5ef11..a4afce71be0707c43700b73ae0107074448e3d4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -216,6 +216,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -215,6 +215,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch index b25f3d1912..8f197b5f9e 100644 --- a/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch @@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 643e5883949de11d0205116e5ff11b4cc560ecb9..2932519886d0b8af83c1e92d4af23753d4782ba5 100644 +index aeb0a77d9aaf3877310528286a481f71fd5a4290..a97941d1f8a125c6d033b1d359c1527937f97799 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -918,11 +918,13 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch index 59ef779b79..fdb5db8220 100644 --- a/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch @@ -27,7 +27,7 @@ index f164844f339793860e773c499443ce160d0a6830..751551f173338217f6682532a9a5e1a2 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3b02a65ba2df5c01515c9cbf03b39b3c518451dc..0d7dcc1463efa395458e95f1236a20241ff66abe 100644 +index 63649936525efd33f50c602f6d723085edb2896e..0b971ad8addd65850162e46707c15fbc1ba9b8b9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -188,6 +188,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0145-Add-system-property-to-disable-book-size-limits.patch b/Spigot-Server-Patches/0145-Add-system-property-to-disable-book-size-limits.patch index 282d25b6ed..fd9be7e12c 100644 --- a/Spigot-Server-Patches/0145-Add-system-property-to-disable-book-size-limits.patch +++ b/Spigot-Server-Patches/0145-Add-system-property-to-disable-book-size-limits.patch @@ -11,7 +11,7 @@ to make books with as much data as they want. Do not use this without limiting incoming data from packets in some other way. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index bf17acbafd8a08b4c0eb84636a5708697735c560..e3adcc0c72b9e3b971e42b5dc1c60b862ed2bce3 100644 +index 38247fe6ca8ef1cad40883eb71d413c507a84f3e..8f59608ed9494e2ec2587c4385b4d6c72e4db53b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -35,6 +35,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { diff --git a/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 2f1df97269..e346d63b72 100644 --- a/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -39,7 +39,7 @@ index 0e8ba05455161883c86df6606104fab3529c3c0c..ad79e4521cee699de86a94885b273563 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f367a76e8286eb92814ff9287819c4d7da16f922..046ef418f8e16a8d50846f140d7147a3178ebca2 100644 +index fbaf234e8400dc14dc2421c87c80eb887ba44fef..08211fd37ab7916586c0579cfb9c014c29553991 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1773,6 +1773,13 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch index b54c5fe4f0..243acd00b3 100644 --- a/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -185,7 +185,7 @@ index 4b1f8c53737f998fa57859146d5ddb999cdc8d41..d34f772fae3543cec6a130831b1f3eaa System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 80d8b0b0eac47b8d8e62db60da9daf0da8671fb3..87595425a358a13c8f2393619d51a981140556cf 100644 +index 80d8b0b0eac47b8d8e62db60da9daf0da8671fb3..ed32242bd169e9f28607942aa31aa48a5799b215 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate; @@ -239,12 +239,12 @@ index 80d8b0b0eac47b8d8e62db60da9daf0da8671fb3..87595425a358a13c8f2393619d51a981 @Override public void sendMessage(IChatBaseComponent ichatbasecomponent) { - MinecraftServer.LOGGER.info(ichatbasecomponent.getString()); -+ MinecraftServer.LOGGER.info(org.bukkit.craftbukkit.util.CraftChatMessage.fromComponent(ichatbasecomponent, net.minecraft.server.EnumChatFormat.WHITE));// Paper - Log message with colors ++ MinecraftServer.LOGGER.info(org.bukkit.craftbukkit.util.CraftChatMessage.fromComponent(ichatbasecomponent));// Paper - Log message with colors } public KeyPair getKeyPair() { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 940c3acfa0dee0d454a1cc10dd3ca3862fd7b030..0b403f08bed136916969b927c04078c14697803e 100644 +index da5220728afbed353432b4c0399138d47f678ed1..63838572f60c9413b9531197b96783f3c77bd0f8 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -76,8 +76,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0158-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0158-Entity-fromMobSpawner.patch index 0b72728201..91c632cc24 100644 --- a/Spigot-Server-Patches/0158-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0158-Entity-fromMobSpawner.patch @@ -49,10 +49,10 @@ index b249af20c4712a89e5f340eb922291557099058a..ab5d83d34d9314a253353d6d01fdcd2b if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, blockposition).isCancelled()) { Entity vehicle = entity.getVehicle(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 1d02e9acb94c972f3dc178a15ed0963a9c80539e..440bc4513b91c72e01bdd2a106a84e82ab72ac97 100644 +index 7a6df77f196db8ccdaf589b680de9aab09b0ef32..2d84f8410a7b8ff88d9dbab64741dcdf40fc1612 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1047,5 +1047,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1046,5 +1046,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { Location origin = getHandle().origin; return origin == null ? null : origin.clone(); } diff --git a/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch index d26b0ea702..a57bf98a3d 100644 --- a/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 77f1ddc8a8d6fa816488de5d8c821bfa59f6c729..a61815c794885d7192eec62d05a54e765fb8c838 100644 +index 0b403f08bed136916969b927c04078c14697803e..1800a6c86b2150b8183acdce3a7f6daa1c9a350b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -509,9 +509,9 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0169-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0169-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index 94d2fdb211..b74a6a9374 100644 --- a/Spigot-Server-Patches/0169-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/Spigot-Server-Patches/0169-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -12,7 +12,7 @@ results in a separate line, even though it should not result in a line break. Log4j's implementation handles it correctly. diff --git a/pom.xml b/pom.xml -index 01dcaf4f4bbe03a118958e494544d7fc4a92e300..f4fbd5c016b61fdff916d51ce856c8e91fd22ff0 100644 +index aeaceac771644ece5365d07be77f4481ced2fe13..25e327c38cc3aa1f9ad9275faba481bdb4240e25 100644 --- a/pom.xml +++ b/pom.xml @@ -66,6 +66,11 @@ diff --git a/Spigot-Server-Patches/0170-Handle-plugin-prefixes-using-Log4J-configuration.patch b/Spigot-Server-Patches/0170-Handle-plugin-prefixes-using-Log4J-configuration.patch index c9b42c6ecd..373a195cbb 100644 --- a/Spigot-Server-Patches/0170-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/Spigot-Server-Patches/0170-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/pom.xml b/pom.xml -index f4fbd5c016b61fdff916d51ce856c8e91fd22ff0..4585ee5bead0a82e7ec04d3d3b11fad1d6c09c29 100644 +index 25e327c38cc3aa1f9ad9275faba481bdb4240e25..daeb60a93cf0bbd1f6b731b9502a80c93b2e090b 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ diff --git a/Spigot-Server-Patches/0171-Include-Log4J2-SLF4J-implementation.patch b/Spigot-Server-Patches/0171-Include-Log4J2-SLF4J-implementation.patch index 4c7bf0f9e5..60c71fa5d6 100644 --- a/Spigot-Server-Patches/0171-Include-Log4J2-SLF4J-implementation.patch +++ b/Spigot-Server-Patches/0171-Include-Log4J2-SLF4J-implementation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Include Log4J2 SLF4J implementation diff --git a/pom.xml b/pom.xml -index 4585ee5bead0a82e7ec04d3d3b11fad1d6c09c29..6fe4eff84b8a4476538bba144ef186d93345e284 100644 +index daeb60a93cf0bbd1f6b731b9502a80c93b2e090b..8ad07cf6e03cbc5354d2dd2b149b51bbb5067a9d 100644 --- a/pom.xml +++ b/pom.xml @@ -66,6 +66,12 @@ diff --git a/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch index 9cac1797c2..b9446e8ea0 100644 --- a/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 046ef418f8e16a8d50846f140d7147a3178ebca2..b0651dcfbfccab63108ece34304700db9af407b6 100644 +index 08211fd37ab7916586c0579cfb9c014c29553991..8da65ed9d96bc7fa3ebac27c2ac35c3bc97fd1f1 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -58,6 +58,8 @@ import org.bukkit.inventory.CraftingInventory; diff --git a/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch index ca07802299..f791ff0f87 100644 --- a/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch @@ -15,7 +15,7 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index b0651dcfbfccab63108ece34304700db9af407b6..d4a649a83f8e0497898108c52faf4baf9ba824f9 100644 +index 8da65ed9d96bc7fa3ebac27c2ac35c3bc97fd1f1..1e81032f3118fb0c572ffe1ac975e60d30f94d67 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2487,14 +2487,18 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0175-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-Server-Patches/0175-Expose-client-protocol-version-and-virtual-host.patch index e80d5177c4..8ae0d610ad 100644 --- a/Spigot-Server-Patches/0175-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-Server-Patches/0175-Expose-client-protocol-version-and-virtual-host.patch @@ -111,10 +111,10 @@ index 4f008e4723d2cb0bcabb2d5621203d63c40c4923..8545146fb1f093f821e3b966d9337049 return this.a; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d349f0c87bfad19cf0bddb4709f1d7b0dd4b4a36..b999821bbe5cbc5645c9b55eead88c3c65a4c62d 100644 +index a4afce71be0707c43700b73ae0107074448e3d4a..3d4a1065fbe38239743e485d078b76b47981baf1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -183,6 +183,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -182,6 +182,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch b/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch index df59f5f016..a39e2c78af 100644 --- a/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch +++ b/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch @@ -17,7 +17,7 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d4a649a83f8e0497898108c52faf4baf9ba824f9..2a3771d0650b404dd0729c63dd0bacb40213197d 100644 +index 1e81032f3118fb0c572ffe1ac975e60d30f94d67..be52533ef59c7a21119b8308247a5c8092a7db26 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -70,7 +70,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch index 88b848434c..cb6a1928fe 100644 --- a/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch @@ -39,7 +39,7 @@ index 630b279158f26902ebdcc6e5c810b189ce49c910..958279249fdadfe5c2808d2a046636f0 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5c1c4d5837bb65bc0509c7cb5a9d7f9a72dfe444..ef81c1d3a9679b0e65b453431de3cd0216f05bb6 100644 +index 6bf73af21ceb52708013b1e25373fa42ddbefb2b..30b7c9038d3a95b80304e052a5d629b461f76e99 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -308,6 +308,20 @@ public class CraftBlock implements Block { diff --git a/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch index 351cd3dfb4..bbf50969bb 100644 --- a/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch @@ -14,7 +14,7 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2a3771d0650b404dd0729c63dd0bacb40213197d..64f789d7c44ee186d28911b91cd070b15ca0a824 100644 +index be52533ef59c7a21119b8308247a5c8092a7db26..5cb402156dc29eb27b17266490f2a5ff88ba9dea 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -524,10 +524,10 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0187-Ability-to-apply-mending-to-XP-API.patch b/Spigot-Server-Patches/0187-Ability-to-apply-mending-to-XP-API.patch index f96c3990d2..8eff7f4dc9 100644 --- a/Spigot-Server-Patches/0187-Ability-to-apply-mending-to-XP-API.patch +++ b/Spigot-Server-Patches/0187-Ability-to-apply-mending-to-XP-API.patch @@ -43,10 +43,10 @@ index b3edb69a967058392f5027fbdc7fadff7e1dc6e2..87c6b77ce3b1446893a0d617b63f925a return i * 2; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b999821bbe5cbc5645c9b55eead88c3c65a4c62d..4375eb013953e8fdfdf85aed238f84ba81a75413 100644 +index 3d4a1065fbe38239743e485d078b76b47981baf1..5b088b21da2ca3945de9c5dcc4370114f930d739 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1018,8 +1018,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1017,8 +1017,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return GameMode.getByValue(getHandle().playerInteractManager.getGameMode().getId()); } diff --git a/Spigot-Server-Patches/0194-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0194-Add-ArmorStand-Item-Meta.patch index d10b3e1365..bd6648dd47 100644 --- a/Spigot-Server-Patches/0194-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0194-Add-ArmorStand-Item-Meta.patch @@ -267,10 +267,10 @@ index f700522840ee0dfd90871b1b0c8973d7d62a9353..3723faccac00afe19e59d71008ba1604 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 854836b839ffd650161f5ae7be3080362ac434b7..15d27001e8d574e5a4b2bd808e3d17e0cb823f6c 100644 +index b9435bbd51764f75b8d24171513f3dddc48906f8..b87d2581754fde163a7b5532b9d5e21b48d3e243 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1429,7 +1429,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1428,7 +1428,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaTropicalFishBucket.VARIANT.NBT, CraftMetaCrossbow.CHARGED.NBT, CraftMetaCrossbow.CHARGED_PROJECTILES.NBT, diff --git a/Spigot-Server-Patches/0204-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0204-Player.setPlayerProfile-API.patch index e0f8b7342e..8f5e841145 100644 --- a/Spigot-Server-Patches/0204-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0204-Player.setPlayerProfile-API.patch @@ -48,7 +48,7 @@ index 1b43f921646e3c1bfdca22ef7d3719c72aaf4520..1c4ac7bf7ac4d864ba6efd46d8c562c2 uniqueId = i.getId(); // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4375eb013953e8fdfdf85aed238f84ba81a75413..37422a0953853673cea2bbc5f2b742b5499801fc 100644 +index 5b088b21da2ca3945de9c5dcc4370114f930d739..d571248f597cbad63d26bc1bdf91cc263f88947f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,6 +1,8 @@ @@ -60,7 +60,7 @@ index 4375eb013953e8fdfdf85aed238f84ba81a75413..37422a0953853673cea2bbc5f2b742b5 import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -1176,8 +1178,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1175,8 +1177,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { hiddenPlayers.put(player.getUniqueId(), hidingPlugins); // Remove this player from the hidden player's EntityTrackerEntry @@ -75,7 +75,7 @@ index 4375eb013953e8fdfdf85aed238f84ba81a75413..37422a0953853673cea2bbc5f2b742b5 PlayerChunkMap.EntityTracker entry = tracker.trackedEntities.get(other.getId()); if (entry != null) { entry.clear(getHandle()); -@@ -1218,8 +1225,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1217,8 +1224,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } hiddenPlayers.remove(player.getUniqueId()); @@ -90,7 +90,7 @@ index 4375eb013953e8fdfdf85aed238f84ba81a75413..37422a0953853673cea2bbc5f2b742b5 getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, other)); -@@ -1228,6 +1240,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1227,6 +1239,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entry.updatePlayer(getHandle()); } } diff --git a/Spigot-Server-Patches/0210-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0210-Flag-to-disable-the-channel-limit.patch index 7c3e17146b..6422b74f23 100644 --- a/Spigot-Server-Patches/0210-Flag-to-disable-the-channel-limit.patch +++ b/Spigot-Server-Patches/0210-Flag-to-disable-the-channel-limit.patch @@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 37422a0953853673cea2bbc5f2b742b5499801fc..c69b3b33d82bac830ea55d30961017339af6aa7e 100644 +index d571248f597cbad63d26bc1bdf91cc263f88947f..f5c722644a1955c9bc68c89fdbb84526f9bbb7a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -138,6 +138,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -137,6 +137,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; @@ -20,7 +20,7 @@ index 37422a0953853673cea2bbc5f2b742b5499801fc..c69b3b33d82bac830ea55d3096101733 // Paper end public CraftPlayer(CraftServer server, EntityPlayer entity) { -@@ -1445,7 +1446,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1444,7 +1445,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void addChannel(String channel) { diff --git a/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index 747f8ea8bb..545295c55c 100644 --- a/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 64f789d7c44ee186d28911b91cd070b15ca0a824..4a0a8479448b5872f356379d6f68d9142d85e175 100644 +index 5cb402156dc29eb27b17266490f2a5ff88ba9dea..ab9ab7a88dde29ac141753e1f1e9c0ff87d199cd 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2502,7 +2502,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0226-Fix-CraftEntity-hashCode.patch b/Spigot-Server-Patches/0226-Fix-CraftEntity-hashCode.patch index 7e91fc74bf..b1800dac50 100644 --- a/Spigot-Server-Patches/0226-Fix-CraftEntity-hashCode.patch +++ b/Spigot-Server-Patches/0226-Fix-CraftEntity-hashCode.patch @@ -21,10 +21,10 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 440bc4513b91c72e01bdd2a106a84e82ab72ac97..bc2df82a5f4fb299328a45428c33e67ef153b39a 100644 +index 2d84f8410a7b8ff88d9dbab64741dcdf40fc1612..5f16dea1a543607e76f7ef70fe44e9a3f12e9132 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -725,14 +725,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -724,14 +724,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return false; } final CraftEntity other = (CraftEntity) obj; diff --git a/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch index 1bdce89188..f411be9c55 100644 --- a/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch @@ -88,7 +88,7 @@ index 88692d9eaea57a4d172d537a6cf2a3bffe058d54..f35d23340665ab323732915efc0c0ad7 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 4a0a8479448b5872f356379d6f68d9142d85e175..8eb12e89ea84051281149d96ca82905bc4366ba4 100644 +index ab9ab7a88dde29ac141753e1f1e9c0ff87d199cd..eb53d8bb5c36482c39afeb6c324a620d2c7b21fb 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2040,7 +2040,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -155,10 +155,10 @@ index 20f0783025516048851aedef0a70759c2953ae47..a6d75c0e07a25fdb59dde2e3eb2a0213 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c69b3b33d82bac830ea55d30961017339af6aa7e..ffbf2b983bb91c873f403b411a05c563feffeebf 100644 +index f5c722644a1955c9bc68c89fdbb84526f9bbb7a0..368f786300573ff24a8dc46d96a6fb6bac26b35a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -785,7 +785,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -784,7 +784,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (getHandle().activeContainer != getHandle().defaultContainer) { diff --git a/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 61e4724741..cdd72c5f12 100644 --- a/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,7 +16,7 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 8eb12e89ea84051281149d96ca82905bc4366ba4..8648845acb054e1e151e5376607e633b4154bbbd 100644 +index eb53d8bb5c36482c39afeb6c324a620d2c7b21fb..4fb5c47fc8505c6a6e68d21a240887a0cbe10d14 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1950,6 +1950,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0244-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0244-Re-add-vanilla-entity-warnings-for-duplicates.patch index 40cb81fe06..7fca9a2130 100644 --- a/Spigot-Server-Patches/0244-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0244-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -8,7 +8,7 @@ These are a critical sign that somethin went wrong, and you've lost some data... We should kind of know about these things you know. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7c1a748c9b6982e09626cba60651a6de6a5796d4..25e2a6580ae72ffa51bf67290992382797b2dd9c 100644 +index d4e963c169f847acce882dfba067be0d64638ec4..1019f180397abef5ec28d00c432415a7270026e2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1035,7 +1035,8 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0246-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0246-Use-asynchronous-Log4j-2-loggers.patch index b02faf3d51..7ddc8755fb 100644 --- a/Spigot-Server-Patches/0246-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0246-Use-asynchronous-Log4j-2-loggers.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use asynchronous Log4j 2 loggers diff --git a/pom.xml b/pom.xml -index 6fe4eff84b8a4476538bba144ef186d93345e284..fd417a9eeb7a3371ceabc07b49a7406b38b419a3 100644 +index 8ad07cf6e03cbc5354d2dd2b149b51bbb5067a9d..fc2921e9783f2db63b71c6e244e24c9416cdbf76 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,13 @@ diff --git a/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 38d371fe22..18a7c99300 100644 --- a/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -40,7 +40,7 @@ index 7804cc0f6a02d14f4adbe05b37e8470a382c0d26..4ee26ff08f7a058648ab54f0dcd81b46 protected void g() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2f57c7bc76ddd8fd4b796d85eaa7200d8da41865..a1c33c525ce8ae0f4736198658174f8d67ab6320 100644 +index 08bed18ad6f78c6aad444eeb5a321887d90e5829..9a001a2a7934dc87f3e57d3388a8a888ec43908b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -63,6 +63,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch b/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch index 89837b9d3b..b078dbfe95 100644 --- a/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch @@ -45,7 +45,7 @@ index 26ab855dcf38446a3d8577108bd16fdbb76126b2..adef07d4d521b4aaa6f3389b04aa27e2 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 8648845acb054e1e151e5376607e633b4154bbbd..6627d8402f784c16519adaabca967b8e1d365ddc 100644 +index 4fb5c47fc8505c6a6e68d21a240887a0cbe10d14..94469cf71f6617cd4fd9682781c8a3ef04ff3f9b 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -76,6 +76,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0275-Optimize-BlockPosition-helper-methods.patch b/Spigot-Server-Patches/0275-Optimize-BlockPosition-helper-methods.patch index a1635c282b..f54af3c8cc 100644 --- a/Spigot-Server-Patches/0275-Optimize-BlockPosition-helper-methods.patch +++ b/Spigot-Server-Patches/0275-Optimize-BlockPosition-helper-methods.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize BlockPosition helper methods Resolves #1338 diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 0ce39e34c1d60ec0fc9d4a0e1b802d8c96177b4b..df93e32242bb91ddb1c2da8965956d38ee381dc2 100644 +index ec0e8f970dba64561afd6477a5df2821d9a8889a..a3a376e35eaf17b128048bd26a22eef713e7d535 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -135,57 +135,74 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali diff --git a/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch index fe7e891311..bf45bb8124 100644 --- a/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index b69cff40922ba2d1a44c11bcae86f9439130ad96..9d23be3f212b208ddcc989e1bd736c9bf6aabcc4 100644 +index 22f18be4627fefe500239f7a35eee3b019bcffcc..085b70508bb116a1082a9fd79a389199a263109b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -910,8 +910,25 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0277-Restore-vanlla-default-mob-spawn-range.patch b/Spigot-Server-Patches/0277-Restore-vanlla-default-mob-spawn-range.patch index 7eda6c8e6e..85bd7774f6 100644 --- a/Spigot-Server-Patches/0277-Restore-vanlla-default-mob-spawn-range.patch +++ b/Spigot-Server-Patches/0277-Restore-vanlla-default-mob-spawn-range.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Restore vanlla default mob-spawn-range diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 3cd66886cdabfa8bcf1e9c8b5a9805d8b53a2eee..5e932a5d979a7253059e3c29c6ee846ad39214a5 100644 +index 98ed975a6241395b6119d5b3a62d24329aa1f05b..37ef07338e0e7ebb778b4446c8e7a630f597c7be 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -165,7 +165,7 @@ public class SpigotWorldConfig diff --git a/Spigot-Server-Patches/0278-Optimize-CraftBlockData-Creation.patch b/Spigot-Server-Patches/0278-Optimize-CraftBlockData-Creation.patch index 1b80ae6216..7bda590b2c 100644 --- a/Spigot-Server-Patches/0278-Optimize-CraftBlockData-Creation.patch +++ b/Spigot-Server-Patches/0278-Optimize-CraftBlockData-Creation.patch @@ -7,7 +7,7 @@ Avoids a hashmap lookup by cacheing a reference to the CraftBlockData and cloning it when one is needed. diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 9ab57be8500bf5106e32671b8d5fb11d8e9b1c60..c1ff62aa52595decd7ed8278eb63e7c6e46feefe 100644 +index c5fddef030489bff0de9e0efb4f11c83bcfee628..cca2bf1045c1305a9defa5241909b50711b85d4c 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -4,6 +4,8 @@ import com.google.common.collect.ImmutableMap; diff --git a/Spigot-Server-Patches/0288-Expose-attack-cooldown-methods-for-Player.patch b/Spigot-Server-Patches/0288-Expose-attack-cooldown-methods-for-Player.patch index 29dc008402..cae32fafa1 100644 --- a/Spigot-Server-Patches/0288-Expose-attack-cooldown-methods-for-Player.patch +++ b/Spigot-Server-Patches/0288-Expose-attack-cooldown-methods-for-Player.patch @@ -27,10 +27,10 @@ index 684978be7ccc401b71b0594828a7783b209a5210..f41975165a6a66479bc8fc1811c1d271 this.aB = 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ffbf2b983bb91c873f403b411a05c563feffeebf..a874ae6758e95c782bfb3d931bf8306997aa3a70 100644 +index 368f786300573ff24a8dc46d96a6fb6bac26b35a..fefe3b67ae62daedeb214d53d0c1f9d806356792 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1905,6 +1905,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1904,6 +1904,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { getInventory().setItemInMainHand(hand); } diff --git a/Spigot-Server-Patches/0289-Improve-death-events.patch b/Spigot-Server-Patches/0289-Improve-death-events.patch index 47a42eba3f..0df0db2e0b 100644 --- a/Spigot-Server-Patches/0289-Improve-death-events.patch +++ b/Spigot-Server-Patches/0289-Improve-death-events.patch @@ -357,10 +357,10 @@ index 90fdf89c811620d3c26486cd55c8cdb14ce9654c..b761a41dcd899b6556f07d3b835ce7e5 this.minecraftKey = minecraftKey; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a874ae6758e95c782bfb3d931bf8306997aa3a70..a8f46ceb4b5a545bc4dd8d1e7d9438238f8af93a 100644 +index fefe3b67ae62daedeb214d53d0c1f9d806356792..5445554b18c22b85cf9b3427c22d693a24bc596b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1698,7 +1698,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1697,7 +1697,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { diff --git a/Spigot-Server-Patches/0293-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/Spigot-Server-Patches/0293-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index 7bf94467f2..e4b9c71829 100644 --- a/Spigot-Server-Patches/0293-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/Spigot-Server-Patches/0293-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -32,10 +32,10 @@ index 005ebec266032dd873cc2e7d8919d9bd018457f7..97d85f8451a7a6cd17ac272492da52c5 this.s = this::l; if (this.i.canRead() && this.i.peek() == '#') { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c2da2e5cb 100644 +index b87d2581754fde163a7b5532b9d5e21b48d3e243..706f1bd66c79dddc26794cad818679473e20382f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -87,6 +87,12 @@ import org.bukkit.persistence.PersistentDataContainer; +@@ -86,6 +86,12 @@ import org.bukkit.persistence.PersistentDataContainer; import static org.spigotmc.ValidateUtils.*; // Spigot end @@ -48,7 +48,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c /** * Children must include the following: * -@@ -268,6 +274,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -267,6 +273,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Specific(Specific.To.NBT) static final ItemMetaKey BLOCK_DATA = new ItemMetaKey("BlockStateTag"); static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); @@ -59,7 +59,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c private IChatBaseComponent displayName; private IChatBaseComponent locName; -@@ -280,6 +290,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -279,6 +289,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private int hideFlag; private boolean unbreakable; private int damage; @@ -70,7 +70,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c private static final Set HANDLED_TAGS = Sets.newHashSet(); private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -317,6 +331,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -316,6 +330,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -86,7 +86,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c this.unhandledTags.putAll(meta.unhandledTags); this.persistentDataContainer.putAll(meta.persistentDataContainer.getRaw()); -@@ -393,6 +416,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -392,6 +415,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { persistentDataContainer.put(key, compound.get(key)); } } @@ -118,7 +118,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c Set keys = tag.getKeys(); for (String key : keys) { -@@ -530,6 +578,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -529,6 +577,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { setDamage(damage); } @@ -153,7 +153,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.decodeBase64(internal)); -@@ -658,6 +734,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -657,6 +733,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (hasDamage()) { itemTag.setInt(DAMAGE.NBT, damage); } @@ -177,7 +177,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c for (Map.Entry e : unhandledTags.entrySet()) { itemTag.set(e.getKey(), e.getValue()); -@@ -674,6 +767,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -673,6 +766,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -199,7 +199,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c NBTTagList createStringList(List list) { if (list == null || list.isEmpty()) { return null; -@@ -757,7 +865,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -756,7 +864,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -208,7 +208,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c } @Override -@@ -1157,7 +1265,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1156,7 +1264,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hideFlag == that.hideFlag) && (this.isUnbreakable() == that.isUnbreakable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) @@ -221,7 +221,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c } /** -@@ -1192,6 +1304,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1191,6 +1303,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (hasDamage() ? this.damage : 0); hash = 61 * hash + (hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); hash = 61 * hash + version; @@ -232,7 +232,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c return hash; } -@@ -1216,6 +1332,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1215,6 +1331,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.unbreakable = this.unbreakable; clone.damage = this.damage; clone.version = this.version; @@ -247,7 +247,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1273,6 +1397,24 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1272,6 +1396,24 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(DAMAGE.BUKKIT, damage); } @@ -272,7 +272,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c final Map internalTags = new HashMap(unhandledTags); serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1436,7 +1578,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1435,7 +1577,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaArmorStand.NO_BASE_PLATE.NBT, CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, @@ -283,7 +283,7 @@ index 15d27001e8d574e5a4b2bd808e3d17e0cb823f6c..c28ea1cef0620ba2956139c074fead3c // Paper end )); } -@@ -1461,4 +1605,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1460,4 +1604,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } // Paper end diff --git a/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch b/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch index 5c5d606da4..c43edf6010 100644 --- a/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch +++ b/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch @@ -59,7 +59,7 @@ index 214b577b326bc794fa3721deb6171228dd4f25e6..559e6b42ba5bf0ea92cccbabd2ef1d4c + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 056cbdeec8a1c17de44d59f16b77a995c82a3abb..ec4ce59c5e29b68d96856a9086fe2ba1bdbb1df1 100644 +index b7c83cd82ca1c9b6bdaaf566e800b8d15ad7d966..acc5f01d022e49348de0079a9a89455cffc255ee 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -378,7 +378,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { @@ -271,7 +271,7 @@ index 2d8e6a2f4a0c3c5d74a647d7164b0028781d3bf5..ffc9a1f7d58d67611c4ab46462ac13a9 return false; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5136905b71085445eb6bac00e9200af8cc7fbe27..14c82861158eed8c91336590fb71c69d185d22f8 100644 +index 3cf4f3b88157e3c174146e5ee30052686b57c768..53bd078594797f0e879305c14fd0731f6d348e42 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -143,6 +143,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch index 25042e1ce8..813a7040fa 100644 --- a/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch +++ b/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch @@ -23,7 +23,7 @@ index 8570e38f42e2f489e2899ac2f0c4a7b8dda3bb75..c97be42dd7b4c6ea2cadcc97f47185c7 this.e = flag; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 14c82861158eed8c91336590fb71c69d185d22f8..299a6586ddfdc221be93e2f3d55801ac06bf783b 100644 +index 53bd078594797f0e879305c14fd0731f6d348e42..88373b1081e69e8f81947682b68c40869b962b15 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -62,7 +62,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 0fcfcb5597..3bcf03981d 100644 --- a/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 299a6586ddfdc221be93e2f3d55801ac06bf783b..171018cbde28d206e3d2eee34e3e16c4b1a83424 100644 +index 88373b1081e69e8f81947682b68c40869b962b15..68ec2ef427bee5940c62b61964b5436e6ef425f6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1026,6 +1026,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0354-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0354-Entity-getEntitySpawnReason.patch index 028b049d8a..b942d30a23 100644 --- a/Spigot-Server-Patches/0354-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0354-Entity-getEntitySpawnReason.patch @@ -59,7 +59,7 @@ index 9368c4afa7bbb336894d73069b3c0858231d1e81..ae0f5e5a71502c432a4dcaa42a3fc9ee } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index faea0b31ddc43f5edabd53756e8b3f796f0c46bf..faecf79341623305a2ae55cb9c4b8844adf0c5bb 100644 +index 68ec2ef427bee5940c62b61964b5436e6ef425f6..79ab45540081c8e2f5dd1d84c6ae602f3664920f 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -240,7 +240,7 @@ public abstract class PlayerList { @@ -72,7 +72,7 @@ index faea0b31ddc43f5edabd53756e8b3f796f0c46bf..faecf79341623305a2ae55cb9c4b8844 }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a75034079b0f5a06509f9762593c5e805e35881c..955003d5f830b3a6988bf1b3b4058c28d5d48f77 100644 +index 271a1ef3d0aae7c1d0b373963504e70f2843cd24..0decbee892c532c0188b373728d8458c8cbbc0d9 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1000,6 +1000,7 @@ public class WorldServer extends World { @@ -84,10 +84,10 @@ index a75034079b0f5a06509f9762593c5e805e35881c..955003d5f830b3a6988bf1b3b4058c28 if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index bc2df82a5f4fb299328a45428c33e67ef153b39a..ff60568ce4320e6ebfa50489a564538b0f57da82 100644 +index 5f16dea1a543607e76f7ef70fe44e9a3f12e9132..d16d3fe58e6a45e3023946174d2e137a0670e455 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1053,5 +1053,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1052,5 +1052,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean fromMobSpawner() { return getHandle().spawnedViaMobSpawner; } diff --git a/Spigot-Server-Patches/0355-Update-entity-Metadata-for-all-tracked-players.patch b/Spigot-Server-Patches/0355-Update-entity-Metadata-for-all-tracked-players.patch index ebd182cec1..1b9bd11743 100644 --- a/Spigot-Server-Patches/0355-Update-entity-Metadata-for-all-tracked-players.patch +++ b/Spigot-Server-Patches/0355-Update-entity-Metadata-for-all-tracked-players.patch @@ -22,7 +22,7 @@ index 3ff7a7b4a853068eba2fb034246a58116a846523..3a88c9a67062eb73ad8257ea786efca7 this.f.accept(packet); if (this.tracker instanceof EntityPlayer) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index dca5e1363a8a850a8363cccab360109bd359aea5..de742d6a8c0a28d524850288eb4e2e548237d61e 100644 +index 34e5806cff6f0779603800c1b7839e7768f9d4e0..20cc434b2120c52c9a5786c67b773f65d286c4a9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2007,7 +2007,14 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0357-Implement-PlayerPostRespawnEvent.patch b/Spigot-Server-Patches/0357-Implement-PlayerPostRespawnEvent.patch index 47798aa152..03a17298e6 100644 --- a/Spigot-Server-Patches/0357-Implement-PlayerPostRespawnEvent.patch +++ b/Spigot-Server-Patches/0357-Implement-PlayerPostRespawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement PlayerPostRespawnEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index faecf79341623305a2ae55cb9c4b8844adf0c5bb..b8302de65a7b04790594d23e0bb730b2d3a1b191 100644 +index 79ab45540081c8e2f5dd1d84c6ae602f3664920f..7b2514355d26681ddd69c040ad6a7bc4d6aaaac2 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -627,9 +627,14 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0361-PlayerDeathEvent-getItemsToKeep.patch b/Spigot-Server-Patches/0361-PlayerDeathEvent-getItemsToKeep.patch index aa64cea6ce..20f18563a3 100644 --- a/Spigot-Server-Patches/0361-PlayerDeathEvent-getItemsToKeep.patch +++ b/Spigot-Server-Patches/0361-PlayerDeathEvent-getItemsToKeep.patch @@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 17c9c90359fc3e76b6fe77b5d61f62a8d03a914c..f375c9507c0ec0c2f810f8fff5304e70e02b7064 100644 +index 2f09034fd9ee037987de06bbd130b379089ff306..57b393c22448910c3ecc34353c3aa8480c58c074 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -516,6 +516,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0365-Per-Player-View-Distance-API-placeholders.patch b/Spigot-Server-Patches/0365-Per-Player-View-Distance-API-placeholders.patch index 77b98d8b58..28c3c8c34f 100644 --- a/Spigot-Server-Patches/0365-Per-Player-View-Distance-API-placeholders.patch +++ b/Spigot-Server-Patches/0365-Per-Player-View-Distance-API-placeholders.patch @@ -39,10 +39,10 @@ index 2e95069c1907df951680f2a00441a72500c48430..2f466af4d56d6f87c9d98226276b041b double deltaX = this.locX() - player.locX(); double deltaZ = this.locZ() - player.locZ(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6e3bcfe2cd77cd1fd592f8148f5286be3099cb24..6672feaf5198b89969796185a2fc110308678eb0 100644 +index a614db834dfe8096ec0a7e6bc6e0348bfb300a1d..71d5ebe8c6ea2d52886c28e0fdc55e5993238709 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1959,6 +1959,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1958,6 +1958,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { super.remove(); } } diff --git a/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch b/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch index ea4a28fbf1..66621d2e85 100644 --- a/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch +++ b/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f496006f3cc373ec2c9d8ef73d38389c6574d90b..65c171cec3cc7c7c7433c63b3718fa7e1c16f148 100644 +index 20cc434b2120c52c9a5786c67b773f65d286c4a9..96d26b45851c4066978186d49eed7ee131cc9140 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -286,7 +286,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0369-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch b/Spigot-Server-Patches/0369-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch index 62e1cc56f7..a839d62d71 100644 --- a/Spigot-Server-Patches/0369-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0369-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch @@ -19,7 +19,7 @@ This change ensures the chunks are always loaded when entities are added to the world, or a valid entity moves between chunks. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 955003d5f830b3a6988bf1b3b4058c28d5d48f77..b8b83554e2a7d7d0119ecf479d8e0bef556f775f 100644 +index 0decbee892c532c0188b373728d8458c8cbbc0d9..a699c5e0b240fac3066e874e7d52f061d01e0c5a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -703,11 +703,14 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch index ef7666b6ce..6416f8958d 100644 --- a/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -21,7 +21,7 @@ index 572679e4d1ca0d84a08a5c48542fa40d426461e5..071e5e7f729d6c3ffb70506e7ef32eeb + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 45882ee30f52067909d55bca9202df66a9a48677..0ee1d8e4869bfd0ccba21a227e115a36ff027984 100644 +index 4b50158fe12533d0af541be343731d220e772bd9..8b499c815c77bf5b356d4216ba6cbf2a329c9aca 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -586,6 +586,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant -Date: Sun, 31 May 2020 21:55:52 -0400 -Subject: [PATCH] Fix serialization of colors from components - -This patch fixes the serialization of display names, item lores and -other things which use strings with color codes. The old implementation -deleted the color codes at the beginning of the resulting string if it -matched the default color passed to the conversion function. This -resulted in items having a black display name losing the black color -code in the beginning of the text when the item was serialized (e.g. -saving an ItemStack in a Yaml config). - -Spigot has now made the issue worse and expanded the scope to more places. - -Original work by (but impl pretty much fully changed): -Co-Authored-By: wea_ondara - -diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java -index 2e162b9ea31c8bf81cfa5282566b37fc29537f51..7edb88d515e3dab0d81b8f7a545ab614b4b51489 100644 ---- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java -+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java -@@ -67,7 +67,7 @@ public final class CraftChatMessage { - case 1: - EnumChatFormat format = formatMap.get(match.toLowerCase(java.util.Locale.ENGLISH).charAt(1)); - if (format == EnumChatFormat.RESET) { -- modifier = new ChatModifier(); -+ modifier = new ChatModifier().setColor(format); // Paper - } else if (format.isFormat()) { - switch (format) { - case BOLD: -@@ -94,7 +94,11 @@ public final class CraftChatMessage { - break; - case 2: - if (keepNewlines) { -- currentChatComponent.addSibling(new ChatComponentText("\n")); -+ // Paper start - retain formatting for new lines -+ ChatComponentText ichatbasecomponent = new ChatComponentText("\n"); -+ ichatbasecomponent.setChatModifier(modifier.clone()); -+ currentChatComponent.addSibling(ichatbasecomponent); -+ // Paper end - } else { - currentChatComponent = null; - } -@@ -172,9 +176,21 @@ public final class CraftChatMessage { - if (component == null) return ""; - StringBuilder out = new StringBuilder(); - -+ // Paper start - fix deletion of color codes at the beginning of result string -+ boolean hadColor = false; - for (IChatBaseComponent c : (Iterable) component) { - ChatModifier modi = c.getChatModifier(); -- out.append(modi.getColor() == null ? defaultColor : modi.getColor()); -+ EnumChatFormat color = modi.getColor(); -+ if (!c.getText().isEmpty() || color != null) { -+ if (color != null) { -+ out.append(color); -+ hadColor = true; -+ } else if (hadColor) { -+ out.append(ChatColor.RESET); -+ hadColor = false; -+ } -+ } -+ // Paper end - if (modi.isBold()) { - out.append(EnumChatFormat.BOLD); - } -@@ -192,7 +208,7 @@ public final class CraftChatMessage { - } - out.append(c.getText()); - } -- return out.toString().replaceFirst("^(" + defaultColor + ")*", ""); -+ return out.toString(); // Paper - fix deletion of color codes at the beginning of result string - } - - public static IChatBaseComponent fixComponent(IChatBaseComponent component) { -diff --git a/src/test/java/org/bukkit/craftbukkit/CraftChatMessageTest.java b/src/test/java/org/bukkit/craftbukkit/CraftChatMessageTest.java -new file mode 100644 -index 0000000000000000000000000000000000000000..759049174d2113837aa06faea82ddcc683b4d9c6 ---- /dev/null -+++ b/src/test/java/org/bukkit/craftbukkit/CraftChatMessageTest.java -@@ -0,0 +1,61 @@ -+package org.bukkit.craftbukkit; -+ -+import net.minecraft.server.IChatBaseComponent; -+import org.bukkit.craftbukkit.util.CraftChatMessage; -+import org.bukkit.support.AbstractTestingBase; -+import org.junit.Test; -+ -+import static org.junit.Assert.assertEquals; -+ -+public class CraftChatMessageTest extends AbstractTestingBase { -+ @Test -+ public void testSimpleStrings() { -+ testString("§fFoo"); -+ testString("Foo"); -+ testString("Foo§bBar"); -+ testString("Foo§bBar"); -+ testString("§fFoo§bBar"); -+ testString("§fFoo§bBar§rBaz"); -+ testString("§rFoo"); -+ testString("Test§0\n§0\n§5Test"); -+ } -+ -+ @Test -+ public void testComponents() { -+ testComponent("Foo§bBar§rBaz", create("Foo", "§bBar", "Baz")); -+ testComponent("§fFoo§bBar§rBaz", create("", "§fFoo", "§bBar", "Baz")); -+ testComponent("§fFoo§bBar§rBaz", create("", "§fFoo", "§bBar", "", "Baz")); -+ testComponent("§fFoo§bBar§rBaz", create("§fFoo", "§bBar", "Baz")); -+ testComponent("Foo§bBar§rBaz", create("", "Foo", "§bBar", "Baz")); -+ testComponent("§fFoo§bBar§rBaz", create("§fFoo", "§bBar", "Baz")); -+ testComponent("F§foo§bBar§rBaz", create("F§foo", "§bBar", "Baz")); -+ } -+ -+ private IChatBaseComponent create(String txt, String ...rest) { -+ IChatBaseComponent cmp = toComp(txt); -+ for (String s : rest) { -+ cmp.addSibling(toComp(s)); -+ } -+ -+ return cmp; -+ } -+ -+ private IChatBaseComponent toComp(String txt) { -+ return CraftChatMessage.fromString(txt, true)[0]; -+ } -+ -+ private void testString(String expected) { -+ IChatBaseComponent cmp = toComp(expected); -+ String actual = CraftChatMessage.fromComponent(cmp); -+ assertEquals(expected, actual); -+ } -+ -+ private void testComponent(String expected, IChatBaseComponent components) { -+ String actual = CraftChatMessage.fromComponent(components); -+ assertEquals(expected, actual); -+ -+ IChatBaseComponent expectedCmp = toComp(expected); -+ String actualExpectedCmp = CraftChatMessage.fromComponent(expectedCmp); -+ assertEquals(expected, actualExpectedCmp); -+ } -+} diff --git a/work/Bukkit b/work/Bukkit index d6db283966..e269963640 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit d6db283966d16725450e506b1d43be39a2173426 +Subproject commit e2699636407094a6e25843907291cde511fbb19d diff --git a/work/CraftBukkit b/work/CraftBukkit index aae46f82ea..1b2830a3b3 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit aae46f82eab8ae0bd855d94209083df2144818e4 +Subproject commit 1b2830a3b3aa5ecf4d2f44696654fc028a2c53a0