From ab347c4c96b66cf4e67ac303b25fd86d4d17e2af Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 30 Jun 2020 01:20:29 -0400 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) 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 Bukkit Changes: 42d5a714 SPIGOT-5899: Hoglins API similar to Piglins 2c1ee10e SPIGOT-5887: ClickType doesn't include off hand swaps 5ff7c7ce SPIGOT-5886: Missing BlockData CraftBukkit Changes: 7560f5f5 SPIGOT-5905: Fix hex colours not being allowed in MOTD d47c47ee SPIGOT-5889: Villager using composter should call EntityChangeBlockEvent 2fe6b4a3 SPIGOT-5899: Hoglins API similar to Piglins e09dbeca SPIGOT-5887: ClickType doesn't include off hand swaps 23aac2a5 SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously 92cbf656 SPIGOT-5884: Tab completions lost on reloadData / minecraft:reload fb4e54ad SPIGOT-5902: PlayerRespawnEvent places player at spawn before event is called aa8f3d5a SPIGOT-5901: Structures are generated in all worlds based on the setting for the main world a0c35937 SPIGOT-5895: PlayerChangedWorldEvent#getFrom is incorrect 89c0a5c3 SPIGOT-5886: Missing BlockData Spigot Changes: 0287a20d SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously --- .../0063-Make-plugins-list-alphabetical.patch | 2 +- ...dd-an-asterisk-to-legacy-API-plugins.patch | 2 +- .../0002-Paper-config-files.patch | 4 +- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 15 +------ Spigot-Server-Patches/0004-MC-Utils.patch | 14 +++---- ...-MinecraftKey-Information-to-Objects.patch | 2 +- ...to-current-Chunk-for-Entity-and-Bloc.patch | 2 +- Spigot-Server-Patches/0009-Timings-v2.patch | 10 ++--- ...d-mobs-to-jump-and-take-water-damage.patch | 2 +- ...ck-and-tnt-entities-at-the-specified.patch | 2 +- ...ient-crashes-server-lists-and-Mojang.patch | 4 +- ...023-Further-improve-server-tick-loop.patch | 4 +- .../0025-Entity-Origin-API.patch | 4 +- ...nfigurable-top-of-nether-void-damage.patch | 2 +- .../0030-Configurable-end-credits.patch | 4 +- .../0032-Optimize-explosions.patch | 2 +- .../0034-Disable-thunder.patch | 2 +- .../0035-Disable-ice-and-snow.patch | 2 +- ...figurable-container-update-tick-rate.patch | 4 +- ...44-Ensure-commands-are-not-ran-async.patch | 4 +- .../0046-Expose-server-CommandMap.patch | 2 +- ...dd-configurable-portal-search-radius.patch | 8 ++-- .../0052-Add-velocity-warnings.patch | 2 +- ...oreboards-for-non-players-by-default.patch | 4 +- .../0058-Complete-resource-pack-API.patch | 2 +- ...ading-permissions.yml-before-plugins.patch | 2 +- ...llow-Reloading-of-Custom-Permissions.patch | 2 +- .../0062-Remove-Metadata-on-reload.patch | 2 +- .../0065-Add-World-Util-Methods.patch | 2 +- ...069-Use-a-Shared-Random-for-Entities.patch | 2 +- ...le-spawn-chances-for-skeleton-horses.patch | 2 +- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 4 +- ...Entity-AddTo-RemoveFrom-World-Events.patch | 2 +- ...0078-Add-PlayerUseUnknownEntityEvent.patch | 2 +- ...nilla-per-world-scoreboard-coloring-.patch | 2 +- ...Remove-unused-World-Tile-Entity-List.patch | 2 +- .../0087-Configurable-Player-Collision.patch | 4 +- ...91-Implement-PlayerLocaleChangeEvent.patch | 4 +- ...-possibility-for-getServer-singleton.patch | 4 +- ...item-frames-performance-and-bug-fixe.patch | 2 +- ...-API-Replenishable-Lootables-Feature.patch | 2 +- .../0099-Optimize-UserCache-Thread-Safe.patch | 2 +- ...1-Optional-TNT-doesn-t-move-in-water.patch | 4 +- .../0105-Fix-Double-World-Add-issues.patch | 2 +- ...setting-for-proxy-online-mode-status.patch | 2 +- ...onfigurable-packet-in-spam-threshold.patch | 2 +- ...11-Configurable-flying-kick-messages.patch | 2 +- .../0112-Chunk-registration-fixes.patch | 2 +- ...uto-fix-bad-Y-levels-on-player-login.patch | 4 +- ...118-Cache-user-authenticator-threads.patch | 6 +-- ...0-Allow-Reloading-of-Command-Aliases.patch | 2 +- ...2-Don-t-let-fishinghooks-use-portals.patch | 2 +- ...30-Properly-fix-item-duplication-bug.patch | 6 +-- .../0135-Enforce-Sync-Player-Saves.patch | 2 +- ...llow-entities-to-ride-themselves-572.patch | 2 +- .../0138-Cap-Entity-Collisions.patch | 2 +- ...le-async-calls-to-restart-the-server.patch | 4 +- ...ke-parrots-stay-on-shoulders-despite.patch | 2 +- ...n-option-to-prevent-player-names-fro.patch | 2 +- ...oleAppender-for-console-improvements.patch | 6 +-- .../0151-Add-UnknownCommandEvent.patch | 2 +- .../0152-Basic-PlayerProfile-API.patch | 4 +- .../0156-Entity-fromMobSpawner.patch | 2 +- .../0160-ProfileWhitelistVerifyEvent.patch | 2 +- .../0171-Add-PlayerJumpEvent.patch | 2 +- ...2-handle-PacketPlayInKeepAlive-async.patch | 2 +- ...rt-serverside-behavior-of-keepalives.patch | 2 +- .../0181-AsyncTabCompleteEvent.patch | 4 +- ...8-PlayerNaturallySpawnCreaturesEvent.patch | 2 +- ...nt-extended-PaperServerListPingEvent.patch | 8 ++-- .../0204-getPlayerUniqueId-API.patch | 2 +- ...-allowed-colored-signs-to-be-created.patch | 2 +- ...ld.spawnParticle-API-and-add-Builder.patch | 2 +- .../0237-InventoryCloseEvent-Reason-API.patch | 16 +++---- ...nventory-when-cancelling-PlayerInter.patch | 2 +- ...nilla-entity-warnings-for-duplicates.patch | 2 +- ...-more-information-to-Entity.toString.patch | 4 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 4 +- ...2-Vanished-players-don-t-have-rights.patch | 2 +- ...dd-some-Debug-to-Chunk-Entity-slices.patch | 2 +- ...revent-Saving-Bad-entities-to-chunks.patch | 2 +- ...ead-Entities-in-entityList-iteration.patch | 4 +- ...nd-make-tab-spam-limits-configurable.patch | 2 +- .../0264-Add-hand-to-bucket-events.patch | 2 +- ...dd-Early-Warning-Feature-to-WatchDog.patch | 4 +- ...69-Use-ConcurrentHashMap-in-JsonList.patch | 2 +- .../0286-Improve-death-events.patch | 10 ++--- ...tator-target-events-and-improve-impl.patch | 6 +-- ...5-Add-Velocity-IP-Forwarding-Support.patch | 4 +- ...event-players-from-moving-into-unloa.patch | 2 +- ...10-Reset-players-airTicks-on-respawn.patch | 8 ++-- ...er-Thread-Pool-and-Thread-Priorities.patch | 2 +- .../0313-Optimize-World-Time-Updates.patch | 2 +- ...t-allow-digging-into-unloaded-chunks.patch | 2 +- .../0318-Book-Size-Limits.patch | 2 +- ...ault-permission-message-configurable.patch | 2 +- ...entity-dismount-during-teleportation.patch | 18 ++++---- ...-replace-OfflinePlayer-getLastPlayed.patch | 4 +- .../0327-Fix-PlayerEditBookEvent.patch | 2 +- ...vehicle-tracking-issue-on-disconnect.patch | 4 +- .../0333-Fix-sign-edit-memory-leak.patch | 2 +- .../0334-Limit-Client-Sign-length-more.patch | 2 +- ...342-Add-LivingEntity-getTargetEntity.patch | 4 +- .../0344-Entity-getEntitySpawnReason.patch | 4 +- ...ity-Metadata-for-all-tracked-players.patch | 2 +- .../0349-Server-Tick-Events.patch | 2 +- ...0350-PlayerDeathEvent-getItemsToKeep.patch | 6 +-- ...l-to-changed-postToMainThread-method.patch | 2 +- ...isPrimaryThread-and-MinecraftServer-.patch | 6 +-- ...h-entity-loss-due-to-unloaded-chunks.patch | 2 +- .../0359-Duplicate-UUID-Resolve-Option.patch | 6 +-- ...le-Keep-Spawn-Loaded-range-per-world.patch | 4 +- ...367-Fix-World-isChunkGenerated-calls.patch | 2 +- .../0370-incremental-chunk-saving.patch | 4 +- Spigot-Server-Patches/0371-Anti-Xray.patch | 2 +- ...-being-ticked-when-notifying-navigat.patch | 2 +- ...77-Asynchronous-chunk-IO-and-loading.patch | 8 ++-- ...etChunkIfLoadedImmediately-in-places.patch | 4 +- .../0379-Reduce-sync-loads.patch | 2 +- ...if-we-have-a-custom-Bukkit-generator.patch | 2 +- ...ement-optional-per-player-mob-spawns.patch | 4 +- ...391-Expose-the-internal-current-tick.patch | 2 +- ...-sneak-when-changing-worlds-MC-10657.patch | 6 +-- ...or-when-player-hand-set-to-empty-typ.patch | 2 +- .../0399-Optimize-Hoppers.patch | 2 +- ...layerDeathEvent-shouldDropExperience.patch | 4 +- ...timise-IEntityAccess-getPlayerByUUID.patch | 2 +- .../0409-Entity-Activation-Range-2.0.patch | 4 +- ...x-items-vanishing-through-end-portal.patch | 4 +- .../0417-Optimise-random-block-ticking.patch | 2 +- ...n-to-nerf-pigmen-from-nether-portals.patch | 2 +- .../0420-Make-the-GUI-graph-fancier.patch | 2 +- ...22-Prevent-teleporting-dead-entities.patch | 2 +- ...imise-TickListServer-by-rewriting-it.patch | 2 +- ...spawn-settings-and-per-player-option.patch | 2 +- ...re-Entity-is-never-double-registered.patch | 4 +- ...ering-entities-from-unloading-chunks.patch | 2 +- ...-PlayerChunkMap-adds-crashing-server.patch | 2 +- ...ptimize-Collision-to-not-load-chunks.patch | 2 +- .../0435-Don-t-tick-dead-players.patch | 4 +- .../0438-Increase-Light-Queue-Size.patch | 2 +- ...asks-Speed-up-processing-of-chunk-lo.patch | 4 +- ...move-existing-players-to-world-spawn.patch | 8 ++-- ...-Add-tick-times-API-and-mspt-command.patch | 6 +-- ...442-Expose-MinecraftServer-isRunning.patch | 2 +- ...ions-until-after-entity-ticking-is-d.patch | 2 +- .../0447-Improved-Watchdog-Support.patch | 6 +-- ...vent-opening-inventories-when-frozen.patch | 8 ++-- ...imise-entity-hard-collision-checking.patch | 2 +- ...-Implement-Player-Client-Options-API.patch | 4 +- ...g-Broken-behavior-of-PlayerJoinEvent.patch | 2 +- ...Load-Chunks-for-Login-Asynchronously.patch | 6 +-- ...pawn-point-if-spawn-in-unloaded-worl.patch | 2 +- ...m-duplication-issues-and-teleport-is.patch | 8 ++-- .../0470-Implement-Brigadier-Mojang-API.patch | 2 +- ...PickItem-Packet-and-kick-for-invalid.patch | 2 +- .../0473-Expose-game-version.patch | 2 +- .../0474-Sync-position-on-teleportation.patch | 2 +- .../0477-Implement-Mob-Goal-API.patch | 2 +- ...tance-map-to-optimise-entity-tracker.patch | 4 +- ...-isOutsideRange-to-use-distance-maps.patch | 2 +- ...No-Tick-view-distance-implementation.patch | 2 +- ...Wait-for-Async-Tasks-during-shutdown.patch | 4 +- ...k-Priority-Urgency-System-for-Chunks.patch | 6 +-- ...ookup-for-Treasure-Maps-Fixes-lag-fr.patch | 2 +- .../0505-Optimize-Light-Engine.patch | 2 +- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 2 +- ...er-runTaskTimerAsynchronously-Plugin.patch | 2 +- ...-desync-in-playerconnection-causing-.patch | 2 +- ...implement-PlayerRecipeBookClickEvent.patch | 2 +- ...20-Add-permission-for-command-blocks.patch | 2 +- ...sure-Entity-AABB-s-are-never-invalid.patch | 6 +-- ...WorldBorder-collision-checks-and-air.patch | 2 +- ...ld-Difficulty-Remembering-Difficulty.patch | 4 +- ...sh-dismount-events-from-worldgen-thr.patch | 42 ------------------- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 178 files changed, 293 insertions(+), 348 deletions(-) delete mode 100644 Spigot-Server-Patches/0528-Don-t-fire-unleash-dismount-events-from-worldgen-thr.patch diff --git a/Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch b/Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch index c7997e7c1..2b36db8e4 100644 --- a/Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch +++ b/Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make /plugins list alphabetical diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java -index 23a8a8616756f417c11dd28e63e27c5c4df383c0..6b21089cd4a09c3c49caf19f1b70f7a50dba3995 100644 +index e8a7f435fb30da3506b2b4fa8c5675c829edc105..4a75997f93f5c33f19200994562aaff99bdd422f 100644 --- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java +++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java @@ -3,6 +3,9 @@ package org.bukkit.command.defaults; diff --git a/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch b/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch index 4020e2fa6..9c95b7231 100644 --- a/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch +++ b/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch @@ -23,7 +23,7 @@ index 1b6d737046646c102b0d519ab3f67c3fbd503979..541e28a9bece0beb0c2cf02c39030840 // Paper end } diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java -index 6b21089cd4a09c3c49caf19f1b70f7a50dba3995..ae07c88937da014d711e219b07e7d4b767f24ba5 100644 +index 4a75997f93f5c33f19200994562aaff99bdd422f..665211cb1bb27d228a43342ebca0f60e0b7f6c4b 100644 --- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java +++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java @@ -74,7 +74,13 @@ public class PluginsCommand extends BukkitCommand { diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index ad80c4d4f..e4af6d843 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -575,7 +575,7 @@ index 27e6872c675647d7e61040b76183dac4e347a40c..aa68eb71b131c1d529ded6c651621cfa this.setPVP(dedicatedserverproperties.pvp); this.setAllowFlight(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ede38b7b5fe4acc29ae9c12298a73a3a745983ac..781eaaa4544dfa6e2c523d4d3d99929e7ab46ac7 100644 +index 4ee11b6fbbb49b1f52fe2cf64f77c1bdd2fd3907..51499ef45faa2bba5f180ee333c09af73d3b708e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -135,9 +135,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { @@ -636,7 +636,7 @@ index d5e1da2eeea7c06289f52509af844df59e8a29b2..63d3d43f74bed94cd03aa3b7254e6630 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c02d8ae1c198492daf1a0fc82badaaf942766902..e34031d0afa6918ce70150531c7a5c5097bf23d9 100644 +index 2c23fb72d3965f2c35c12b3d130725644d389ca0..38d6a46ec51c12983d229d962eb7dc3701ce13fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -801,6 +801,7 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 955f7ed44..4a58b7cc1 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -279,19 +279,6 @@ index 771841e08591955e61c7bcc5b09c8457652c1b9c..8162c11d14b8e88c2b572f9ddf6b7a15 String s1 = ((INamable) t0).getName(); if (this.b.containsKey(s1)) { -diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index 026c51b5ce80ff4161d2f126e8df9dc493a46957..fb3ddcc5d5a1154a7e0583135ecd541e8f67ff0b 100644 ---- a/src/main/java/net/minecraft/server/ChunkStatus.java -+++ b/src/main/java/net/minecraft/server/ChunkStatus.java -@@ -90,7 +90,7 @@ public class ChunkStatus { - return (CompletableFuture) function.apply(ichunkaccess); - }); - private static final List q = ImmutableList.of(ChunkStatus.FULL, ChunkStatus.FEATURES, ChunkStatus.LIQUID_CARVERS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS, ChunkStatus.STRUCTURE_STARTS); -- private static final IntList r = (IntList) SystemUtils.a((Object) (new IntArrayList(a().size())), (intarraylist) -> { -+ private static final IntList r = (IntList) SystemUtils.a((new IntArrayList(a().size())), (java.util.function.Consumer)(IntArrayList intarraylist) -> { // Paper - decompile fix - int i = 0; - - for (int j = a().size() - 1; j >= 0; --j) { diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java index fbb708f5f7e4d2da9d96b595498da436b088a408..f27c7041cdc2f062f0abb222b02026194ab33c60 100644 --- a/src/main/java/net/minecraft/server/CraftingManager.java @@ -527,7 +514,7 @@ index 998101592723abb26c91d1f92e98be1cf24c954d..ee9069c744df63cbb7f21dd9d28d6d55 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1360385091332ddf032b075990e59eee5543feb1..bae5ddbd97bd3f3422c699c42f025337b7cef574 100644 +index ea3685df509101f3fed8b07088baef3ffdb4b85a..5e2dff9a30615b5580710f872a92ab9f07fca6cf 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1549,9 +1549,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0622f0d8d765c1249fd97f27c3c83af519f01c00..3e679f66cd922cf0b47a84cdd1a83f311ddf6d0b 100644 +index 9da321fc0e02e4a2e47f515011df33714affd368..ee93b977b5f78855fd58a2055ca4e17255f3388b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -49,7 +49,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; 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 ddc0ee4dd..fd87bcbea 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 @@ -80,7 +80,7 @@ index 7c7826cf3adb19814984ab627e4c4726d8933244..bd92ed2e6d4766f4f16ec3002c41b36b } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3e679f66cd922cf0b47a84cdd1a83f311ddf6d0b..f51325612fa14c1428679d6955a6d92322da7c84 100644 +index ee93b977b5f78855fd58a2055ca4e17255f3388b..e3f2e259b2c5e478bde45554995b9c742d9e2008 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -178,7 +178,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 7d849282f..db30bc9bf 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1003,7 +1003,7 @@ index aa68eb71b131c1d529ded6c651621cfab071b3c4..9cba62efdb051c9850bbf28b0be17a7e } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f51325612fa14c1428679d6955a6d92322da7c84..81f2c91f9e27e2ad2855b64a7849efa18505e952 100644 +index e3f2e259b2c5e478bde45554995b9c742d9e2008..98eec5efe474011665bd819d0d0b11abd6a068ea 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -1118,7 +1118,7 @@ index dccb315440f7429fe881bd0d12af8f1ae8e35c3d..96a95413f74592ef0a8e9367fd3ed81f if (!this.world.isClientSide && this.dN() && this.aC()) { this.damageEntity(DamageSource.DROWN, 1.0F); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 64994a9635efa36ec09623c3869f22faed09b21c..fc92fbb05e442d453d6d5dd4e36143a576f55b6b 100644 +index 70604fbf6bdd5166fc91d57fb4db4a8337bc4727..0867ad04857c652dcbcdf130bb5353113ea039a0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -65,7 +65,7 @@ import org.bukkit.craftbukkit.CraftServer; @@ -1407,7 +1407,7 @@ index 3e2e355177e32856dac07dc8b98658ad1b717045..7c5eaff23ef6bf3cdf2575330ea6341d 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 cfc2005ee5639c88ad1e21f0dd41c917a7c5db05..ef622ae8946c7caafa222c42749ddbd90425f61c 100644 +index b8d3c4d35cee2ba4678f6d22b8ea956d598d9d9b..88fa8d63c5bb2c76ba09db6bb002f6d6b6a42afc 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; @@ -1628,7 +1628,7 @@ index bd5a2eee9cb435a5ee75a39cea231151fba00387..a559f423b19a1e6f8efb632727025084 CrashReport crashreport = CrashReport.a(throwable, "Ticking entity"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked"); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f45b5ddc66024e993ac94436ee25a03e085742b4..dd02f7b8c0c0055a506bceab68cec98faf4a7641 100644 +index d643ff0a0ae9d45711c9a40fc12af68157604a33..9df9ce88e23b31f0303a3c84136a10ea14a6d33d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -3,6 +3,8 @@ package net.minecraft.server; @@ -1758,7 +1758,7 @@ index f45b5ddc66024e993ac94436ee25a03e085742b4..dd02f7b8c0c0055a506bceab68cec98f // CraftBukkit start - moved from MinecraftServer.saveChunks diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e34031d0afa6918ce70150531c7a5c5097bf23d9..384fece1d7a1b07b04b09b4876ded0d603b1840b 100644 +index 38d6a46ec51c12983d229d962eb7dc3701ce13fd..9947bbbb8ca2810bce420cdd12a1874afd6b1c0c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2048,12 +2048,31 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch index ecb06718c..3e47e61bd 100644 --- a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch +++ b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch @@ -31,7 +31,7 @@ index 2e869004c8c6b8bfbb002fb4eda04519d50390c8..8a6856e0fd7b9b515d98f45aaabefbc3 this.b.setJumping(this.a); this.a = false; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 81f2c91f9e27e2ad2855b64a7849efa18505e952..f8a85f1c96729ad97aa5f21ac0468c92f243f079 100644 +index 98eec5efe474011665bd819d0d0b11abd6a068ea..a50b005b9f3fc58674560f42b9c4a20fd8b669fa 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1024,6 +1024,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch index 6066138b6..ddde3606d 100644 --- a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch +++ b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch @@ -24,7 +24,7 @@ index 8ee2b9bb1bce698fce50ac1b3fc477fcafd0542c..d59b82b7bb1f6d1b231f4e394e0a67a3 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f8a85f1c96729ad97aa5f21ac0468c92f243f079..80f1c4930d6dd602210b07a50b10c45e9f80ae8a 100644 +index a50b005b9f3fc58674560f42b9c4a20fd8b669fa..e85172eb69b04746eab08abf213dcd02cd4513ee 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1761,6 +1761,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 02fea3de3..91650d34e 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,7 +19,7 @@ index aab33df7a36eb69300fedfce733985d6c239ca01..550232cb3819138b3bae0fa1c5142948 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fc92fbb05e442d453d6d5dd4e36143a576f55b6b..1fcdbbbc7b60edd1e87bab5f1c5d19a6755de17c 100644 +index 0867ad04857c652dcbcdf130bb5353113ea039a0..9eacc1ba58986c21c5d8dc8d8d14c6f3b48fd171 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1224,7 +1224,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index dd02f7b8c0c0055a506bceab68cec98faf4a7641..eb53a8232371433aabe300af5629cf1735ff18fb 100644 +index 9df9ce88e23b31f0303a3c84136a10ea14a6d33d..f764eaf58d225d3c875dda66c1a2ac43ef3c1eae 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1088,6 +1088,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { 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 05b755623..cf16b0e54 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 12730f52fdb0774dcf8be81547c8f03ef9f184a4..be0ade74030c5f8584b5caa22d6d3084a0853afa 100644 +index bfe36be070677d215eadd3ad38f93c6bddab0b75..9e132052e1a9b997300e3f5d88473fc5f9ebdd73 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -420,9 +420,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0030-Configurable-end-credits.patch b/Spigot-Server-Patches/0030-Configurable-end-credits.patch index 509463869..4d39e6b1e 100644 --- a/Spigot-Server-Patches/0030-Configurable-end-credits.patch +++ b/Spigot-Server-Patches/0030-Configurable-end-credits.patch @@ -20,7 +20,7 @@ index f7a0a33e49cadf9b2bd43f118c106937760da762..50dec5cb5e924301842300e8fc80cb67 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 183346d37e36be70348ecf0f2f26a0e0ef35eab8..c3fc8de59042e97560785997fdb3f7bbdc6234e6 100644 +index 5bf3c279b86ed0fa416ee7dd9923172d6e6261a5..7012bd08fb4715eb66e6f47733b82f556c2b8a11 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -60,7 +60,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -32,7 +32,7 @@ index 183346d37e36be70348ecf0f2f26a0e0ef35eab8..c3fc8de59042e97560785997fdb3f7bb private final RecipeBookServer recipeBook = new RecipeBookServer(); private Vec3D cm; private int cn; -@@ -752,6 +752,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -749,6 +749,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.getWorldServer().removePlayer(this); if (!this.viewingCredits) { this.viewingCredits = true; diff --git a/Spigot-Server-Patches/0032-Optimize-explosions.patch b/Spigot-Server-Patches/0032-Optimize-explosions.patch index a95dcc207..d1d73ce7a 100644 --- a/Spigot-Server-Patches/0032-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch @@ -123,7 +123,7 @@ index bf156897acfe25c16a1b09a83a00ba3ab647a2dd..842563f2030382659a62a3a63d9af9d5 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0f2011a776619301dd6a133b9a4044b4f5b69cfc..e1af87a172d011a212aaafc55ef651ff60df35b6 100644 +index 7b58499c24d5a4296cc539087ca86d2ec4148b1c..991baec71cfeb79ee2108870645a19582f151def 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1208,6 +1208,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant this.e() && (double) blockposition.getX() < this.g() && (double) (blockposition.getZ() + 1) > this.f() && (double) blockposition.getZ() < this.h(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9eec2ec61777222c1290ad3112b003409001e51a..4548a38464fac65a88da26e95660542eeb482ccb 100644 +index 223482e468862407d53299219e2f4debecd0cd87..f38c88df648aa715aefb18018779efd8075d781e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -83,7 +83,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch index 68a1232e5..690ca1f25 100644 --- a/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0069-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 b75c6aa78dd9c7478912b0b68de7a27289a480ba..0b0dca503a91bbd7991996bf6c395991c993604d 100644 +index 1903635fd3416965adbbba5af38ff29dac0c6670..b5625318ca6bfeeada2d3fb009b711685265ebaa 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/0070-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch index 098d8d722..8e413d7e4 100644 --- a/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch @@ -22,7 +22,7 @@ index d8b9d87bca6eb95c2cea91e4d8466b9792582d52..92d1dffbf436a21943b4a6aa0fabf54f + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4548a38464fac65a88da26e95660542eeb482ccb..20200408da6cae15576926f79de22b955781201d 100644 +index f38c88df648aa715aefb18018779efd8075d781e..5e64aca8c318f2fd909cd0e934867e890a152373 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -475,7 +475,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 6c9a38a51..cabdba7ec 100644 --- a/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -32,7 +32,7 @@ index f87fc631255aa5948459f0726b188ebbbae13c5f..446a2ffcd95fd631750b74fd31b4c410 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e1af87a172d011a212aaafc55ef651ff60df35b6..db0184af459472c73df5990699def5bdaef573c2 100644 +index 991baec71cfeb79ee2108870645a19582f151def..a2954709415751d9688b5b3597f5b15ae5bd8ccb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1174,6 +1174,7 @@ 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 0ae5eb7da3c8baf6ff54cc3b83bba41127457134..022b05be76768cf0fb702ac5f9fa48c5e474391c 100644 +index b68338310106858195099bb45b8bf4da723b8439..809ae79c0febf8a6de8bf0ca4d996b68bff8a2b6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -728,7 +728,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch b/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch index b523521a5..b6b7c7786 100644 --- a/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch +++ b/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Auto fix bad Y levels on player login Bring down to a saner Y level if super high, as this can cause the server to crash diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 177f865688c40d0ecca72771007e2271626ab5cc..b7f7dd59fd9deaff9ec3797b395c91c91ce5b54c 100644 +index ab89e508ee8b8142fb7c0b5101b0b0e157a68f35..1f98d4bec282c46355e325dcb9fe0cb23394ba9e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -206,6 +206,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -203,6 +203,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void loadData(NBTTagCompound nbttagcompound) { super.loadData(nbttagcompound); diff --git a/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch b/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch index 810d6961b..726bbaec7 100644 --- a/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch +++ b/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index b7f7dd59fd9deaff9ec3797b395c91c91ce5b54c..0f865f4f94d84da4eb6d0e1288ca7678a23545b2 100644 +index 1f98d4bec282c46355e325dcb9fe0cb23394ba9e..c1c858f9384eb6e952198e531633d0a571c39ac2 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -4,7 +4,9 @@ import com.google.common.collect.Lists; @@ -27,7 +27,7 @@ index b7f7dd59fd9deaff9ec3797b395c91c91ce5b54c..0f865f4f94d84da4eb6d0e1288ca7678 private final AdvancementDataPlayer advancementDataPlayer; private final ServerStatisticManager serverStatisticManager; private float lastHealthScored = Float.MIN_VALUE; -@@ -414,13 +416,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -411,13 +413,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { while (!this.removeQueue.isEmpty()) { int i = Math.min(this.removeQueue.size(), Integer.MAX_VALUE); int[] aint = new int[i]; @@ -50,7 +50,7 @@ index b7f7dd59fd9deaff9ec3797b395c91c91ce5b54c..0f865f4f94d84da4eb6d0e1288ca7678 this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint)); } -@@ -1436,7 +1445,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1433,7 +1442,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.lastHealthSent = -1.0F; this.lastFoodSent = -1; // this.recipeBook.a((RecipeBook) entityplayer.recipeBook); // CraftBukkit diff --git a/Spigot-Server-Patches/0120-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0120-Allow-Reloading-of-Command-Aliases.patch index c3aeb44ba..a8aae9e9c 100644 --- a/Spigot-Server-Patches/0120-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-Server-Patches/0120-Allow-Reloading-of-Command-Aliases.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fc76268c767aeee06dd802cc10df65bbff7ea536..5281efee7b7abe7ce6e6c8709147c052e3bb972e 100644 +index 04593705633b94b35c291e9622615ca0ad9ef9a4..d670295d6857276e3382b5d38afa25d1c93d7278 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2193,5 +2193,24 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch index 284219eb3..2474bd653 100644 --- a/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0122-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 6d6ce3b5a012f49b2e0725d66ad4bcae4a7310f7..de126bf6c95e90dd9a81ee8d815806b8908709ec 100644 +index 14351cc9e60a0b8d33d319da9d473e74072767d7..393a2d3ede8e82b33979f18e0cda796bf003f8ef 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -162,7 +162,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch index ccf66d9db..ee946ddf2 100644 --- a/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 0f865f4f94d84da4eb6d0e1288ca7678a23545b2..7227717f1ede5d67432f97f527c2d18f9d1c656f 100644 +index c1c858f9384eb6e952198e531633d0a571c39ac2..7d6b1893ae6b7a3e937f8f83fc222709c8120814 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1936,7 +1936,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1933,7 +1933,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override protected boolean isFrozen() { @@ -19,7 +19,7 @@ index 0f865f4f94d84da4eb6d0e1288ca7678a23545b2..7227717f1ede5d67432f97f527c2d18f @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index a264a32b7eb2ce21756f493b0fdac60e1368fffa..1422b249c6136f2b06d46478cdf51e14e20bc0e3 100644 +index 17edeff6cf5c3f7fee5c17028d3231f70f358537..e04bb290a94f5cfc93b5bd2121e6b32610199237 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2569,7 +2569,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0135-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0135-Enforce-Sync-Player-Saves.patch index 7021f234f..8e1da02a9 100644 --- a/Spigot-Server-Patches/0135-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0135-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 dd8c91a05c4e55ee24268e9d5edad141d320e814..b351c9e0b1eefa482b661c12bd9e8f0abe7f203c 100644 +index b7982bbff805b7bc73c9ce74007f32cf05eac5b1..cc5fea8bce240e0585a334eeb311ce040b9ca040 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -961,11 +961,13 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch index b0e8a63ed..a03971152 100644 --- a/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index de126bf6c95e90dd9a81ee8d815806b8908709ec..e36855b969bdef5e85e6b29879f960b0675a7937 100644 +index 393a2d3ede8e82b33979f18e0cda796bf003f8ef..bd270ea92404c2055c09324988e1ec28109a8815 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1950,6 +1950,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0138-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0138-Cap-Entity-Collisions.patch index a71d86556..1c0ad7590 100644 --- a/Spigot-Server-Patches/0138-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0138-Cap-Entity-Collisions.patch @@ -27,7 +27,7 @@ index 255b4081314162cbe344b008158c6f4584795fb8..04ee0856a8c62e1afb438d4fddf40e60 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e36855b969bdef5e85e6b29879f960b0675a7937..13b10732917ffb823688336e888a329c774cc251 100644 +index bd270ea92404c2055c09324988e1ec28109a8815..912f5be0264b604df175f5825765b03b319a841c 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/0142-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch index d22caba35..b57da83a4 100644 --- a/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 28ade7187d6fd61adbfe65a1944426168b131c4c..878a9de29c728a0b49fb8ee15be85516176795bd 100644 +index 793d4d928bac4febf090291eb773871b492cdc6d..28478370fc182751178f7dd6c20435218174c700 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -91,6 +91,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant optional = ((Either) playerchunk.a().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7227717f1ede5d67432f97f527c2d18f9d1c656f..6414ff3ca7e5f217268f7114f7ac751532444af6 100644 +index 7d6b1893ae6b7a3e937f8f83fc222709c8120814..d2c61467b8373444609a6aad9688c5b747547d9c 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1,5 +1,6 @@ diff --git a/Spigot-Server-Patches/0199-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0199-Implement-extended-PaperServerListPingEvent.patch index 105699883..e11e55d8f 100644 --- a/Spigot-Server-Patches/0199-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0199-Implement-extended-PaperServerListPingEvent.patch @@ -177,7 +177,7 @@ index 0000000000000000000000000000000000000000..a85466bc7e0a8aa54b9eff14077fe6c9 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 62ca208a95434ca1d8970b01f7291647e0b1f93f..30d04825b8a65e0af66f3591ee6baaa433893b54 100644 +index 5a5fc0626562d46f1ea6ce3e779e75de55611548..1698b42ed56a2932c5c1d60c655c9fd4cf5bed66 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -200,10 +200,10 @@ index 62ca208a95434ca1d8970b01f7291647e0b1f93f..30d04825b8a65e0af66f3591ee6baaa4 for (int k = 0; k < agameprofile.length; ++k) { diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java -index d9d9999e79f888d9d9ac0ef9ae5b3db67ac405ed..da804a9904c0bf7219729e9b9aca1bfc72dd10d6 100644 +index d38de25d71ba1eb405e34ba2b04a2cfbccd637cc..ee18dc3fa2d0beeccbe1539573cce433f87566b8 100644 --- a/src/main/java/net/minecraft/server/PacketStatusListener.java +++ b/src/main/java/net/minecraft/server/PacketStatusListener.java -@@ -37,6 +37,8 @@ public class PacketStatusListener implements PacketStatusInListener { +@@ -35,6 +35,8 @@ public class PacketStatusListener implements PacketStatusInListener { this.networkManager.close(PacketStatusListener.a); } else { this.d = true; @@ -212,7 +212,7 @@ index d9d9999e79f888d9d9ac0ef9ae5b3db67ac405ed..da804a9904c0bf7219729e9b9aca1bfc // CraftBukkit start // this.networkManager.sendPacket(new PacketStatusOutServerInfo(this.minecraftServer.getServerPing())); final Object[] players = minecraftServer.getPlayerList().players.toArray(); -@@ -132,6 +134,9 @@ public class PacketStatusListener implements PacketStatusInListener { +@@ -130,6 +132,9 @@ public class PacketStatusListener implements PacketStatusInListener { ping.setServerInfo(new ServerPing.ServerData(minecraftServer.getServerModName() + " " + minecraftServer.getVersion(), version)); this.networkManager.sendPacket(new PacketStatusOutServerInfo(ping)); diff --git a/Spigot-Server-Patches/0204-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0204-getPlayerUniqueId-API.patch index 416a38828..78fc6ba53 100644 --- a/Spigot-Server-Patches/0204-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0204-getPlayerUniqueId-API.patch @@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0305b1100711e57288c639078a15bee89b0d7964..03ab59bceca94ab23278b8f531ccdcc6a85da799 100644 +index 3954eb18bb28ad9033c957e05a13068b8751dbc9..22b5a20b1183d2421e4f43245b1ace30adffb7e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1481,6 +1481,26 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0211-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0211-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index c1a95a812..7d7c87ca1 100644 --- a/Spigot-Server-Patches/0211-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0211-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 77060bd127cedd4baa9bc88e700c23faf74d0057..351eeb83d8a28b19e3805f0d8a377f4ed060c592 100644 +index ccf083fbfa97b2a24338a3c1fe18e9a8c850feaf..411e6ff17ac50a410da038ad538ad56ba3aef8a8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2542,7 +2542,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0215-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0215-Expand-World.spawnParticle-API-and-add-Builder.patch index 92e6e6d47..a075e8a65 100644 --- a/Spigot-Server-Patches/0215-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0215-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 022b05be76768cf0fb702ac5f9fa48c5e474391c..0c677b8e1b1a103c7d727dba19fff1f74b7ed382 100644 +index 809ae79c0febf8a6de8bf0ca4d996b68bff8a2b6..10eb83bec33050ec1054de493960c87f67d4ec66 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -56,7 +56,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0237-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0237-InventoryCloseEvent-Reason-API.patch index 52c44fcd4..6a33d4e8b 100644 --- a/Spigot-Server-Patches/0237-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0237-InventoryCloseEvent-Reason-API.patch @@ -34,10 +34,10 @@ index 08141147f9795546e9397abed95834ed5e69a126..d9e5d71a87140c90b79902887bd2f481 this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ac5f86c6fccd9410505e29bd60ba8351054703ed..290be5ffdfc5322d45dc5bca39de4138ee57f92d 100644 +index d2c61467b8373444609a6aad9688c5b747547d9c..dc8f88d102c06d8fb28ffd66de36f32efec54ff2 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -411,7 +411,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -408,7 +408,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // Paper end if (!this.world.isClientSide && !this.activeContainer.canUse(this)) { @@ -46,7 +46,7 @@ index ac5f86c6fccd9410505e29bd60ba8351054703ed..290be5ffdfc5322d45dc5bca39de4138 this.activeContainer = this.defaultContainer; } -@@ -585,7 +585,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -582,7 +582,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { @@ -55,7 +55,7 @@ index ac5f86c6fccd9410505e29bd60ba8351054703ed..290be5ffdfc5322d45dc5bca39de4138 } String deathMessage = event.getDeathMessage(); -@@ -1166,7 +1166,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1163,7 +1163,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return OptionalInt.empty(); } else { if (this.activeContainer != this.defaultContainer) { @@ -64,7 +64,7 @@ index ac5f86c6fccd9410505e29bd60ba8351054703ed..290be5ffdfc5322d45dc5bca39de4138 } this.nextContainerCounter(); -@@ -1226,7 +1226,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1223,7 +1223,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end if (this.activeContainer != this.defaultContainer) { @@ -73,7 +73,7 @@ index ac5f86c6fccd9410505e29bd60ba8351054703ed..290be5ffdfc5322d45dc5bca39de4138 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1290,7 +1290,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1287,7 +1287,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void closeInventory() { @@ -88,7 +88,7 @@ index ac5f86c6fccd9410505e29bd60ba8351054703ed..290be5ffdfc5322d45dc5bca39de4138 this.o(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 351eeb83d8a28b19e3805f0d8a377f4ed060c592..027f9a86f458aab7d94f132981a9c700a0afea57 100644 +index 411e6ff17ac50a410da038ad538ad56ba3aef8a8..201b2b0dcbaf6765390c18052f3b3450e63066e4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2080,7 +2080,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -114,7 +114,7 @@ index d5e7a41b39cb384cf9b52303bcbe11ae09b4162b..3a2ab5a5745e2c698042357321bcfe7b PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); cserver.getPluginManager().callEvent(playerQuitEvent); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0c677b8e1b1a103c7d727dba19fff1f74b7ed382..8a42f9ed3e1579b8b034de9321e5545505298d6b 100644 +index 10eb83bec33050ec1054de493960c87f67d4ec66..4675ddb1f7c989521dfc9fbd0367e6fbbaa7abda 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -967,7 +967,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0240-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0240-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 48838b35c..ffd4555d0 100644 --- a/Spigot-Server-Patches/0240-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0240-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 027f9a86f458aab7d94f132981a9c700a0afea57..1bb64d388c27e3438b1f5ab70ccaa1aa529aa32c 100644 +index 201b2b0dcbaf6765390c18052f3b3450e63066e4..e3391017b3dcfbfc942b84118391928a6a5b807c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1989,6 +1989,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0242-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0242-Re-add-vanilla-entity-warnings-for-duplicates.patch index 99513fb60..04fb42eb8 100644 --- a/Spigot-Server-Patches/0242-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0242-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 8a42f9ed3e1579b8b034de9321e5545505298d6b..c37b69b1632a72e3c7df5fd2643c0b3ff517d06b 100644 +index 4675ddb1f7c989521dfc9fbd0367e6fbbaa7abda..57be6e9c0062cfe94ad551abd7e8bea1213a10b6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -957,7 +957,8 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0245-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0245-add-more-information-to-Entity.toString.patch index a850ab78a..e888f67d6 100644 --- a/Spigot-Server-Patches/0245-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0245-add-more-information-to-Entity.toString.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 039a95a62e115f7095c38eb9a161dc0ff054a50a..2fcf43b7a2c5af2f7965a8556a3be9a086dc6420 100644 +index 2dfc881894753469080a5038c770e126cb19a806..50f9d217494ab2823596523839d5992fc480912d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2429,7 +2429,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2435,7 +2435,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { diff --git a/Spigot-Server-Patches/0246-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0246-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index c4b3220ef..931987389 100644 --- a/Spigot-Server-Patches/0246-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0246-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2fcf43b7a2c5af2f7965a8556a3be9a086dc6420..f735c8cc9f68451ec64c2024769c37955e2ea963 100644 +index 50f9d217494ab2823596523839d5992fc480912d..8e128fa303b345a10535630fd58442435ef1e439 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -52,7 +52,7 @@ index 324967c892ff8878326af4229668fcbde37ef202..5540fc6eee8115400774b7a792b9d3b4 public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c37b69b1632a72e3c7df5fd2643c0b3ff517d06b..9177f300e734afc5e4739655cdcb8b33866ff6cc 100644 +index 57be6e9c0062cfe94ad551abd7e8bea1213a10b6..fc6639d9729b2714389f191de7a21cb1aa853c75 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -83,6 +83,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0252-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0252-Vanished-players-don-t-have-rights.patch index 8b9e80ccc..6662d0502 100644 --- a/Spigot-Server-Patches/0252-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0252-Vanished-players-don-t-have-rights.patch @@ -17,7 +17,7 @@ index 26d446077bb563ca3c5bb0339695b3364a3e41bf..88a1db211286fc8a6164312d7eb0839c return this.getBlock().c(this.p(), iblockaccess, blockposition, voxelshapecollision); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f735c8cc9f68451ec64c2024769c37955e2ea963..f35ebacaf7c3a583d48efe58db9583c12c9c31a1 100644 +index 8e128fa303b345a10535630fd58442435ef1e439..af6f0c391e6e410f0bf4e4e6ddf6fd18bb4d26ed 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -98,7 +98,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0254-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0254-Add-some-Debug-to-Chunk-Entity-slices.patch index e8239176a..3bb6f213f 100644 --- a/Spigot-Server-Patches/0254-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0254-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -58,7 +58,7 @@ index a27f91e6c3d1f5dd0adf8a3b48a640cc63676114..3ba19f75d24a1539c94f4fed9b8f90ae return; } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f35ebacaf7c3a583d48efe58db9583c12c9c31a1..e41c0a5891ef10ab7537f0f00ee6ab3e418d762c 100644 +index af6f0c391e6e410f0bf4e4e6ddf6fd18bb4d26ed..b0338278f3cfecdb30e1d2febf1ff2a04d0cc66d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -71,6 +71,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0257-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0257-Prevent-Saving-Bad-entities-to-chunks.patch index 5ad7dc6a8..32c50a9dc 100644 --- a/Spigot-Server-Patches/0257-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0257-Prevent-Saving-Bad-entities-to-chunks.patch @@ -80,7 +80,7 @@ index 28039aa8421207ce04840cc90e03d21bc8b7269f..17b8c4445af2bd2ed907d05ed3c396d4 public static ChunkStatus.Type a(@Nullable NBTTagCompound nbttagcompound) { if (nbttagcompound != null) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9177f300e734afc5e4739655cdcb8b33866ff6cc..972a2fc6febc43156b8aa0917b881c6c604ec2c1 100644 +index fc6639d9729b2714389f191de7a21cb1aa853c75..e5fff59efc2d2794024eae93854a296d2b82cf3e 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 implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0259-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0259-Ignore-Dead-Entities-in-entityList-iteration.patch index c6c9c812b..e0e758c99 100644 --- a/Spigot-Server-Patches/0259-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0259-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -51,7 +51,7 @@ index 3ba19f75d24a1539c94f4fed9b8f90aecc918cdc..f7be161c8557ae3848227b1a61e27374 if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check list.add(t0); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e41c0a5891ef10ab7537f0f00ee6ab3e418d762c..413dd5456d14842ab48143b6ee35e37dcb5ca3db 100644 +index b0338278f3cfecdb30e1d2febf1ff2a04d0cc66d..55f8863f823836065f4de8240bfeb490bd391a55 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -195,6 +195,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,7 +63,7 @@ index e41c0a5891ef10ab7537f0f00ee6ab3e418d762c..413dd5456d14842ab48143b6ee35e37d public float getBukkitYaw() { return this.yaw; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 972a2fc6febc43156b8aa0917b881c6c604ec2c1..afba8d654bd227ad60ec502de8834c45f239f479 100644 +index e5fff59efc2d2794024eae93854a296d2b82cf3e..1a103dd830109e119acc1a371b37386e228586b5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1152,6 +1152,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0263-Break-up-and-make-tab-spam-limits-configurable.patch b/Spigot-Server-Patches/0263-Break-up-and-make-tab-spam-limits-configurable.patch index 8b6210644..d3b964a7a 100644 --- a/Spigot-Server-Patches/0263-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/Spigot-Server-Patches/0263-Break-up-and-make-tab-spam-limits-configurable.patch @@ -45,7 +45,7 @@ index c8a7d8092a2849b62a8d83d7970756fd76100025..2e5c71d6b7d120a308076d95a3d5b73c + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 1bb64d388c27e3438b1f5ab70ccaa1aa529aa32c..17247eb9c08de10da50b94d65ac3f05453805137 100644 +index e3391017b3dcfbfc942b84118391928a6a5b807c..351cb9643b05e83f97a7976979346325e76f44da 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/0264-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0264-Add-hand-to-bucket-events.patch index bda2aecaf..6ecb605d0 100644 --- a/Spigot-Server-Patches/0264-Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/0264-Add-hand-to-bucket-events.patch @@ -95,7 +95,7 @@ index ca3e831e3191dd8ffe7f2b6ab9ecc05acfe1b0af..cc4421aa61d7d87c164c1f88ad8b5fa0 public boolean s_() { return this.isClientSide; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index afba8d654bd227ad60ec502de8834c45f239f479..f6c459facde67500499365af6da9f43adcd80606 100644 +index 1a103dd830109e119acc1a371b37386e228586b5..a343cba51850bb7214c241a92db0694d3c1aaf60 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1483,15 +1483,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0267-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0267-Add-Early-Warning-Feature-to-WatchDog.patch index 9cbdf8acc..7501053a9 100644 --- a/Spigot-Server-Patches/0267-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/Spigot-Server-Patches/0267-Add-Early-Warning-Feature-to-WatchDog.patch @@ -36,7 +36,7 @@ index 2e5c71d6b7d120a308076d95a3d5b73c5aca8bc9..1b21911c3e4fd1d4a3305176bb8477c3 public static int tabSpamLimit = 500; private static void tabSpamLimiters() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 30d04825b8a65e0af66f3591ee6baaa433893b54..3a7e2d1b2a11edbf430333bb8f4788c073dcf18e 100644 +index 1698b42ed56a2932c5c1d60c655c9fd4cf5bed66..b13d8ec9aa0a51d5432129f1b0ecef3beb5b7276 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -899,6 +899,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 31ffa627417745f87917933cb96873fd8657b49a..850a88c5b7887baf40787b21c04f40b9809157d7 100644 +index 3a2ab5a5745e2c698042357321bcfe7b1bd92154..c3acd5e610301de924eb1f49f00f9a3ae85eefb3 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -543,7 +543,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0286-Improve-death-events.patch b/Spigot-Server-Patches/0286-Improve-death-events.patch index 661d8331d..20c4b4e8c 100644 --- a/Spigot-Server-Patches/0286-Improve-death-events.patch +++ b/Spigot-Server-Patches/0286-Improve-death-events.patch @@ -27,7 +27,7 @@ index 6281f7900afab3ef1c9ba3c034b91cbfa1900f50..3c2f8407906879c8dca07b538f59f4bb int i = this.f ? 300 : 100; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 413dd5456d14842ab48143b6ee35e37dcb5ca3db..a704feb0c19b56964d017f9e0ea3f26bc3e975f8 100644 +index 55f8863f823836065f4de8240bfeb490bd391a55..a9664f03b8b7d2c12565b8c08891c7021aa5482b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1460,6 +1460,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -38,7 +38,7 @@ index 413dd5456d14842ab48143b6ee35e37dcb5ca3db..a704feb0c19b56964d017f9e0ea3f26b public void a(Entity entity, int i, DamageSource damagesource) { if (entity instanceof EntityPlayer) { CriterionTriggers.c.a((EntityPlayer) entity, this, damagesource); -@@ -2343,6 +2344,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2349,6 +2350,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.fallDistance = 0.0F; } @@ -279,7 +279,7 @@ index 4b249a644c680a7cc64b0d31cf453f94ff2b6a0c..d6a98bb7fc107649c179cded2d37c06a return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 290be5ffdfc5322d45dc5bca39de4138ee57f92d..1b57f2ec7da87b4f87e35e1d5e6a272a641d0669 100644 +index dc8f88d102c06d8fb28ffd66de36f32efec54ff2..650579eb1bb73416b629229fce897d2941bd3b0d 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -80,6 +80,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -293,7 +293,7 @@ index 290be5ffdfc5322d45dc5bca39de4138ee57f92d..1b57f2ec7da87b4f87e35e1d5e6a272a // CraftBukkit start public String displayName; -@@ -582,6 +586,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -579,6 +583,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { String deathmessage = defaultMessage.getString(); org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory); @@ -309,7 +309,7 @@ index 290be5ffdfc5322d45dc5bca39de4138ee57f92d..1b57f2ec7da87b4f87e35e1d5e6a272a // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { -@@ -733,8 +746,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -730,8 +743,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } } diff --git a/Spigot-Server-Patches/0304-Call-player-spectator-target-events-and-improve-impl.patch b/Spigot-Server-Patches/0304-Call-player-spectator-target-events-and-improve-impl.patch index 5e7e706da..16f59decc 100644 --- a/Spigot-Server-Patches/0304-Call-player-spectator-target-events-and-improve-impl.patch +++ b/Spigot-Server-Patches/0304-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index b360077d72afafcaa23c438eb073b9286c8fb563..e0d7bb9c1df2898ead246265f4ab2f05396f59c8 100644 +index 650579eb1bb73416b629229fce897d2941bd3b0d..91de641e52693d2a776ae68810965b6e4643220f 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1697,15 +1697,59 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1694,15 +1694,59 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return (Entity) (this.spectatedEntity == null ? this : this.spectatedEntity); } @@ -88,7 +88,7 @@ index b360077d72afafcaa23c438eb073b9286c8fb563..e0d7bb9c1df2898ead246265f4ab2f05 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 17247eb9c08de10da50b94d65ac3f05453805137..f0d8388d6ac0ed5546d34f628a6b2ba6c56b1c61 100644 +index 351cb9643b05e83f97a7976979346325e76f44da..d33657d94a4e9c6563fbc7826e18624528c498f5 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1133,6 +1133,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0305-Add-Velocity-IP-Forwarding-Support.patch b/Spigot-Server-Patches/0305-Add-Velocity-IP-Forwarding-Support.patch index 37ab2eb61..3e6bd5b39 100644 --- a/Spigot-Server-Patches/0305-Add-Velocity-IP-Forwarding-Support.patch +++ b/Spigot-Server-Patches/0305-Add-Velocity-IP-Forwarding-Support.patch @@ -227,7 +227,7 @@ index 8cb29ddc0d5a5951ea35e1a16c023efb9b0be42d..2916119507ec5ecd9266569b0003d050 public java.util.UUID spoofedUUID; public com.mojang.authlib.properties.Property[] spoofedProfile; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index a7560ac0719d789f2b8ebc0294190a9bd43a2512..2098d8b0e1e7f71f0fe83d04625271b09e662a6f 100644 +index 91235f7bc80967a759ed8bb25d74ff0af6e25ef4..c20a3b6eb8c836d2d84995b91a98390e04e3ae51 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java @@ -164,6 +164,7 @@ public class PacketDataSerializer extends ByteBuf { @@ -289,7 +289,7 @@ index ae74dc9e183e66062455cf2a18ab43ae87976046..7eb230f1b27eddf48f1b12fc78877a36 public void a(PacketDataSerializer packetdataserializer) throws IOException { this.a = packetdataserializer.i(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6aba97153123084f99088f10ccfc16ae8e3a0639..b0ce13c6a62c77ba26dcd006df781ec00b3509f7 100644 +index 8cd2742f93b8d18c17053c94184c4c23990de951..237dda5e5c1bd3fc01152b865a7ed47617588cc4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -675,7 +675,7 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0309-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0309-Add-option-to-prevent-players-from-moving-into-unloa.patch index ec2778b10..f69f424d7 100644 --- a/Spigot-Server-Patches/0309-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/Spigot-Server-Patches/0309-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -20,7 +20,7 @@ index 37bd28f18d3f48767d8141bde3395b8443d5650a..a73b88d51608ce94f6e4c9013c8c4de9 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f0d8388d6ac0ed5546d34f628a6b2ba6c56b1c61..e815200d1b81bd0d8a62e28a43cc01f4da956fa0 100644 +index d33657d94a4e9c6563fbc7826e18624528c498f5..b1bad421650a8c93cdc38d1f4f83ab1c39e2f624 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -350,6 +350,13 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0310-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0310-Reset-players-airTicks-on-respawn.patch index 767ffd917..e2bcd3917 100644 --- a/Spigot-Server-Patches/0310-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0310-Reset-players-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a704feb0c19b56964d017f9e0ea3f26bc3e975f8..41c14d367e0b51e109001167d3c7b40676f364b8 100644 +index a9664f03b8b7d2c12565b8c08891c7021aa5482b..1a677783baa0b9a3dcfcd84caccba61d76fad2fb 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2256,6 +2256,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2262,6 +2262,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } @@ -17,10 +17,10 @@ index a704feb0c19b56964d017f9e0ea3f26bc3e975f8..41c14d367e0b51e109001167d3c7b406 return 300; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index e0d7bb9c1df2898ead246265f4ab2f05396f59c8..4b1923c81df02d0d48a5e61b9e4487d4a2fe789b 100644 +index 91de641e52693d2a776ae68810965b6e4643220f..2a4fc3d633924fbdfa166b3c3a39e0bae8a07310 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -2028,6 +2028,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -2025,6 +2025,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } this.setHealth(this.getMaxHealth()); diff --git a/Spigot-Server-Patches/0312-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/Spigot-Server-Patches/0312-Improve-Server-Thread-Pool-and-Thread-Priorities.patch index dcf114c29..4a9275442 100644 --- a/Spigot-Server-Patches/0312-Improve-Server-Thread-Pool-and-Thread-Priorities.patch +++ b/Spigot-Server-Patches/0312-Improve-Server-Thread-Pool-and-Thread-Priorities.patch @@ -12,7 +12,7 @@ server threads Allow usage of a single thread executor by not using ForkJoin so single core CPU's. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3a7e2d1b2a11edbf430333bb8f4788c073dcf18e..601bf747ad7c4419d087573fc3098a1f84324c4d 100644 +index b13d8ec9aa0a51d5432129f1b0ecef3beb5b7276..f4c93a65c28eeca4a07aaf9b00507d5c6649d137 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -175,6 +175,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant, PlayerChunk.Failure>> completablefuture = this.a(chunkcoordintpair, 1, (i) -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 18305112c8fcf1de1a21d9afea1a987859615dc7..638d7303f55e99293703bca80c43f8f00a43c550 100644 +index 576f5c8c4d702dae7f2db9fb221365394542fcfb..a243dc63eb4c811065c742e61b334864ad582fbe 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -5,6 +5,8 @@ import com.google.common.collect.ImmutableList; diff --git a/Spigot-Server-Patches/0361-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0361-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 8e017df9e..62aa3501f 100644 --- a/Spigot-Server-Patches/0361-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0361-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -21,7 +21,7 @@ index 6e29e3294d0661cc35d53b4201d980a2db4f5c93..6e1756eb90b6237100612527f69c9952 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 19680baafcc8a5a18ec3f58da694372117c7e969..b24968ce9604b98f9b7a6c7498625f976cc58dd2 100644 +index b9e047643e1c3f84f26d936fcb067f607018ef34..d6a3c51826ac82fd46b8f6c98be7bf405ffa3f38 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -607,6 +607,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index ed5b69682fc80d8ff9a0e068d45456a75cbe3891..6e9a5b77ef7e67534b64781ee9db6b6d3e33e879 100644 +index 4529ccc02f53fadc6ac2df97682b21913487bc22..85b73e65a4c1af052e75473bc239d91d5d1fd108 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -93,6 +93,79 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0378-Use-getChunkIfLoadedImmediately-in-places.patch b/Spigot-Server-Patches/0378-Use-getChunkIfLoadedImmediately-in-places.patch index 0b1b44251..9ee98edac 100644 --- a/Spigot-Server-Patches/0378-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/Spigot-Server-Patches/0378-Use-getChunkIfLoadedImmediately-in-places.patch @@ -8,7 +8,7 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk load in that case). diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2fc83aa9aabbb4ae5a22d69c9840e6235d29cd1b..a396051c46613ac863fd296b55465c01bd2c7ce7 100644 +index 70d3b429bfe08f1d2e5a3ac8368d8221770d5307..092e49ae11ff735cf0179de8e0aaa73f7842e372 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1015,7 +1015,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -65,7 +65,7 @@ index 25785eed8c714b87635679e44ef06726c9a1b24c..2278835e15449c72d1bbbf0a2694c386 if (chunk != null) { chunk.a(oclass, axisalignedbb, list, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6e9a5b77ef7e67534b64781ee9db6b6d3e33e879..85a025bd20cbcf5547b0c9e0f8d4a62f5bcfc358 100644 +index 85b73e65a4c1af052e75473bc239d91d5d1fd108..df04a1d39a4ad3a5cf30372bd14a65d1ff5459b3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -90,7 +90,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0379-Reduce-sync-loads.patch b/Spigot-Server-Patches/0379-Reduce-sync-loads.patch index e0b0f912d..3801c8671 100644 --- a/Spigot-Server-Patches/0379-Reduce-sync-loads.patch +++ b/Spigot-Server-Patches/0379-Reduce-sync-loads.patch @@ -329,7 +329,7 @@ index 2278835e15449c72d1bbbf0a2694c386554242e3..dd3dd03200ad8f0219d6673abfe8fc87 if (chunk != null) { chunk.a(oclass, axisalignedbb, list, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 85a025bd20cbcf5547b0c9e0f8d4a62f5bcfc358..7e01a4953c7fcff3a1199c7ca4c7731748418d69 100644 +index df04a1d39a4ad3a5cf30372bd14a65d1ff5459b3..8c0b1f28c3a914ce467345104e024650b9ebe2fe 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -165,6 +165,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0381-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch b/Spigot-Server-Patches/0381-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch index 67ed4f398..36ac6d6a2 100644 --- a/Spigot-Server-Patches/0381-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch +++ b/Spigot-Server-Patches/0381-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch @@ -7,7 +7,7 @@ If the Bukkit generator already has a spawn, use it immediately instead of spending time generating one that we won't use diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7c1fb8786db9df10530f78d0fa2a1391d4d7308d..7ed6cdb1eff72ef056fb7495c8f2812717e96ad9 100644 +index 0633944364179ffb9b9fdd0400d82fd5b2ab3892..41c4b2df34faa95afdd2d35b0bac021d77c56884 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -512,11 +512,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant entitytypes = entity.getEntityType(); int i = entitytypes.getChunkRange() * 16; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 59afafecabd59ede1398c124769262f7568426ed..4f2c8a9fbfa4596f5414dd742affc4cc45deab5a 100644 +index f21011761ddf3082bc9bb59f1ec6d97e5d98c705..d28985adf70b7a06688ac3113477a681f4b19693 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1352,7 +1352,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0434-Optimize-Collision-to-not-load-chunks.patch b/Spigot-Server-Patches/0434-Optimize-Collision-to-not-load-chunks.patch index 3527a6ac1..deb0f581d 100644 --- a/Spigot-Server-Patches/0434-Optimize-Collision-to-not-load-chunks.patch +++ b/Spigot-Server-Patches/0434-Optimize-Collision-to-not-load-chunks.patch @@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading massive amounts of surrounding chunks due to large AABB lookups. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d4bb4e73ce8867ce56dce0ea84dea2dff91846d4..8f1e8728502d1dcae1fb538875f72460fc926d7c 100644 +index e895bf811ce5d441541725ade48e3f07ca86fc2b..152f613159ef88977de867c0deec94bfa4353f7a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -80,6 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0435-Don-t-tick-dead-players.patch b/Spigot-Server-Patches/0435-Don-t-tick-dead-players.patch index 26b48cfda..0c8149a78 100644 --- a/Spigot-Server-Patches/0435-Don-t-tick-dead-players.patch +++ b/Spigot-Server-Patches/0435-Don-t-tick-dead-players.patch @@ -7,10 +7,10 @@ Causes sync chunk loads and who knows what all else. This is safe because Spectators are skipped in unloaded chunks too in vanilla. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 41aee7ad9b0bec813b617428cdcc7002e3f66c63..cf7ff024c1645593b7922249b7ee8f82b8811fa2 100644 +index 7792ce6e94d25021666ef21da790f337d411234e..c6f326787328ff6b2f974d653dc9e7932c3c0205 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -472,7 +472,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -469,7 +469,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public void playerTick() { try { diff --git a/Spigot-Server-Patches/0438-Increase-Light-Queue-Size.patch b/Spigot-Server-Patches/0438-Increase-Light-Queue-Size.patch index 1b143f00e..2890f58e7 100644 --- a/Spigot-Server-Patches/0438-Increase-Light-Queue-Size.patch +++ b/Spigot-Server-Patches/0438-Increase-Light-Queue-Size.patch @@ -28,7 +28,7 @@ index b987399ca3786a30f87c98658e8bf04d4aa2e2da..08949526752e4d66e4c0df11f76f6500 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index aecc0fee6924922f1599a99a643c1d2437e22fc6..29104c3a2f5231c8870208327facca2d33bfc9c3 100644 +index 99b6a4d277816699a5abd9ec889535c064758e97..0d91765cb6386c9483a6b5494e37bd7806638928 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -662,7 +662,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant(this); // Paper -@@ -171,6 +171,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -168,6 +168,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end @@ -30,7 +30,7 @@ index cf7ff024c1645593b7922249b7ee8f82b8811fa2..dad115496d3210e1471f1c4eb81989c2 private void b(WorldServer worldserver) { BlockPosition blockposition = worldserver.getSpawn(); -@@ -346,7 +347,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -343,7 +344,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { position = Vec3D.a(((WorldServer) world).getSpawn()); } this.world = world; @@ -40,7 +40,7 @@ index cf7ff024c1645593b7922249b7ee8f82b8811fa2..dad115496d3210e1471f1c4eb81989c2 this.playerInteractManager.a((WorldServer) world); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index cac27c509dd3bec9f7feabf5804d1140055b1c6e..610c3ed31e0dceeded4dbd5f63db23def88e1ea6 100644 +index a9dc7807508e5227b59a750f982bf7a0740fa493..6f6d1d4c733faa80045fb63269b16ba127c2b616 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -134,6 +134,8 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0441-Add-tick-times-API-and-mspt-command.patch b/Spigot-Server-Patches/0441-Add-tick-times-API-and-mspt-command.patch index 15ffd0b02..3085dbf98 100644 --- a/Spigot-Server-Patches/0441-Add-tick-times-API-and-mspt-command.patch +++ b/Spigot-Server-Patches/0441-Add-tick-times-API-and-mspt-command.patch @@ -87,7 +87,7 @@ index aad1420dc63c16b558ad1ca34accf8a7a9af6363..ac01d492872fde6df2b7113005457c71 version = getInt("config-version", 20); set("config-version", 20); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 98e3acdc618ceda35e8086746aed698d304321c0..5bef465bfe90b08524862b13f9e22dcf9e3438cd 100644 +index 5b6f3d811ff55d0c6d55bddc7707ef878baff782..04eb2af28f9843ef7641f5464d2a043c696de864 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -107,6 +107,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant br = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.p); protected static final DataWatcherObject bs = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.p); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 6ab11c9b5b6139d917cf1b69430173f0222c6c8b..0d624d35a86f77cc710162c302270535126ad13d 100644 +index 27926559a665a5af14f11b8b4331cdb5f120eb41..83a3c8d8d15f5792f5618ab301e3c9ed1c1162cd 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -118,7 +118,7 @@ index 6ab11c9b5b6139d917cf1b69430173f0222c6c8b..0d624d35a86f77cc710162c302270535 private long ch = SystemUtils.getMonotonicMillis(); private Entity spectatedEntity; public boolean worldChangeInvuln; -@@ -1683,6 +1684,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1680,6 +1681,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public String locale = null; // CraftBukkit - lowercase // Paper - default to null public void a(PacketPlayInSettings packetplayinsettings) { diff --git a/Spigot-Server-Patches/0462-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/Spigot-Server-Patches/0462-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch index 5ad6055e7..307636900 100644 --- a/Spigot-Server-Patches/0462-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch +++ b/Spigot-Server-Patches/0462-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch @@ -28,7 +28,7 @@ receives a deterministic result, and should no longer require 1 tick delays anymore. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 0d624d35a86f77cc710162c302270535126ad13d..35c8e18a45dc4b461d6dd320e1235ec627662723 100644 +index 83a3c8d8d15f5792f5618ab301e3c9ed1c1162cd..b90d5fdd58ede1cf57e36b6f65ce259cf55615ba 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -104,6 +104,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0463-Load-Chunks-for-Login-Asynchronously.patch b/Spigot-Server-Patches/0463-Load-Chunks-for-Login-Asynchronously.patch index 86ca7e206..17450b374 100644 --- a/Spigot-Server-Patches/0463-Load-Chunks-for-Login-Asynchronously.patch +++ b/Spigot-Server-Patches/0463-Load-Chunks-for-Login-Asynchronously.patch @@ -18,7 +18,7 @@ index 0080a0cbe58d1a81c434ef97659428c8bf1ec290..eebd4c50a7324250d3ebe7060739a71a boolean flag1 = this.playerChunkMap.b(); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c879e5d9acd400db5b7fdb770e5f8cc419e3bb23..228666eccfb924d2844c911e734eef4b0a6b3afa 100644 +index a0249d7a60c1381ebd7131d735a73fa2e9250543..561610ee1a99c781ccabd600812a0d10cd4ba785 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1326,7 +1326,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -31,7 +31,7 @@ index c879e5d9acd400db5b7fdb770e5f8cc419e3bb23..228666eccfb924d2844c911e734eef4b public void c(Vec3D vec3d) { diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 35c8e18a45dc4b461d6dd320e1235ec627662723..426c4105ba99c364c3d67f1b421e6b1218de9480 100644 +index b90d5fdd58ede1cf57e36b6f65ce259cf55615ba..658f5d8515db84a55d9cea092163feac596ea956 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -43,6 +43,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -73,7 +73,7 @@ index 50163f7291474062bde81631c9220e8a9f5bb718..ebab6961b752ca0b1c1b28f85abb33c7 if (entityplayer != null) { this.g = LoginListener.EnumProtocolState.DELAY_ACCEPT; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 1b9a089eddacbaf1a7d7e19478ee756b4ab601b2..4f37401909f1845d0f18aa497a6561b705e2fd14 100644 +index 6faa8764d19f3e58808de9dc84145f765c8958a8..22ded747e9e8683faa17924149f9b279752e47ea 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -69,6 +69,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0464-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/Spigot-Server-Patches/0464-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index 44301e1d9..44d9b275b 100644 --- a/Spigot-Server-Patches/0464-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/Spigot-Server-Patches/0464-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -7,7 +7,7 @@ The code following this has better support for null worlds to move them back to the world spawn. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 228666eccfb924d2844c911e734eef4b0a6b3afa..465abc3d4fe2386aa57565e4441fac7f55e26924 100644 +index 561610ee1a99c781ccabd600812a0d10cd4ba785..f31f4fdecc824b27afefc79d1791a293227cbc9c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1754,9 +1754,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0469-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/Spigot-Server-Patches/0469-Fix-numerous-item-duplication-issues-and-teleport-is.patch index 0d28eca40..31694c8e5 100644 --- a/Spigot-Server-Patches/0469-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/Spigot-Server-Patches/0469-Fix-numerous-item-duplication-issues-and-teleport-is.patch @@ -16,7 +16,7 @@ So even if something NEW comes up, it would be impossible to drop the same item twice because the source was destroyed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 465abc3d4fe2386aa57565e4441fac7f55e26924..3ff93f1498896ec1c92eb8273fb1e656a2cd8179 100644 +index f31f4fdecc824b27afefc79d1791a293227cbc9c..449a687399f38d3ef79685ff80531cf1212f054a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1910,11 +1910,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -34,7 +34,7 @@ index 465abc3d4fe2386aa57565e4441fac7f55e26924..3ff93f1498896ec1c92eb8273fb1e656 entityitem.defaultPickupDelay(); // CraftBukkit start -@@ -2559,6 +2560,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2565,6 +2566,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @Nullable public Entity teleportTo(WorldServer worldserver, BlockPosition location) { // CraftBukkit end @@ -47,7 +47,7 @@ index 465abc3d4fe2386aa57565e4441fac7f55e26924..3ff93f1498896ec1c92eb8273fb1e656 if (this.world instanceof WorldServer && !this.dead) { this.world.getMethodProfiler().enter("changeDimension"); // CraftBukkit start -@@ -2662,7 +2669,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2668,7 +2675,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke entity.bukkitEntity = this.getBukkitEntity(); if (this instanceof EntityInsentient) { @@ -56,7 +56,7 @@ index 465abc3d4fe2386aa57565e4441fac7f55e26924..3ff93f1498896ec1c92eb8273fb1e656 } // CraftBukkit end } -@@ -2683,7 +2690,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2689,7 +2696,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean canPortal() { diff --git a/Spigot-Server-Patches/0470-Implement-Brigadier-Mojang-API.patch b/Spigot-Server-Patches/0470-Implement-Brigadier-Mojang-API.patch index e111f1e5b..249dbea43 100644 --- a/Spigot-Server-Patches/0470-Implement-Brigadier-Mojang-API.patch +++ b/Spigot-Server-Patches/0470-Implement-Brigadier-Mojang-API.patch @@ -69,7 +69,7 @@ index 4b6f45501106f49f118a93e5027734cdb7ff2727..fa0f247e51c20ea0e3cbaccbc8dbb2a1 public boolean hasPermission(int i) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 4f37401909f1845d0f18aa497a6561b705e2fd14..26f659d0ab20bbe365419e8ff38214926e039e2a 100644 +index 22ded747e9e8683faa17924149f9b279752e47ea..daa066cbec8097b86f8b3c564e8134607e57b3cd 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -584,8 +584,12 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0472-Validate-PickItem-Packet-and-kick-for-invalid.patch b/Spigot-Server-Patches/0472-Validate-PickItem-Packet-and-kick-for-invalid.patch index 789c796c6..744a212e9 100644 --- a/Spigot-Server-Patches/0472-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ b/Spigot-Server-Patches/0472-Validate-PickItem-Packet-and-kick-for-invalid.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 26f659d0ab20bbe365419e8ff38214926e039e2a..93536306c39c1ee574d45f39e8e40df3540c6e51 100644 +index daa066cbec8097b86f8b3c564e8134607e57b3cd..0ece15a8457debc7d8343c894b060e81be845488 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -697,7 +697,14 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0473-Expose-game-version.patch b/Spigot-Server-Patches/0473-Expose-game-version.patch index 67bfdaf5e..3c954a232 100644 --- a/Spigot-Server-Patches/0473-Expose-game-version.patch +++ b/Spigot-Server-Patches/0473-Expose-game-version.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3a46076a125bbfa19ca8a22dc5ab71fd024ab113..04164a0749fdef5a570cd37781090cddef90aeb1 100644 +index c06e5c2be056020a5954f25ecb4d185fe399e3f3..c2d70667b4ea98572dbcefc0ec3b801624783e1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -516,6 +516,13 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch b/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch index b7f7712a8..83099f36b 100644 --- a/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch +++ b/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch @@ -13,7 +13,7 @@ it is triggering a massive movement velocity. This will ensure that the servers position is synchronized anytime player is teleported. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 93536306c39c1ee574d45f39e8e40df3540c6e51..681de2638eb606185077668d87340f7258e2ad90 100644 +index 0ece15a8457debc7d8343c894b060e81be845488..7fd991fd3994a18625c193aeb15ed521d3b6a447 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -501,6 +501,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0477-Implement-Mob-Goal-API.patch b/Spigot-Server-Patches/0477-Implement-Mob-Goal-API.patch index 69ea61e20..9585061b5 100644 --- a/Spigot-Server-Patches/0477-Implement-Mob-Goal-API.patch +++ b/Spigot-Server-Patches/0477-Implement-Mob-Goal-API.patch @@ -870,7 +870,7 @@ index 96f4401044cacf88e8e00b5b18821c105e634fba..112d8bab65bf41263a477c5faa717687 public PathfinderGoalWrapped(int i, PathfinderGoal pathfindergoal) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 04164a0749fdef5a570cd37781090cddef90aeb1..9e4a67efff99301cceb796573a2cd1f3e0ec06cb 100644 +index c2d70667b4ea98572dbcefc0ec3b801624783e1f..b9291bc3c9c511d698e3a6478bb31562625c0466 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2305,5 +2305,11 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch b/Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch index 4f5ccf8d3..86f8a2897 100644 --- a/Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch +++ b/Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use distance map to optimise entity tracker Use the distance map to find candidate players for tracking. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3ff93f1498896ec1c92eb8273fb1e656a2cd8179..b11383b35662b1e59b89e916e55340cee2726944 100644 +index 449a687399f38d3ef79685ff80531cf1212f054a..3bbacebc3397f2c1d695f64bf3f4eb2b89b112b6 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -245,6 +245,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -44,7 +44,7 @@ index 9b89c0c8a3f1dada4e9b2aaeed0b92e56229b7ca..0c46297e6ff229538d77b2f481e4ab13 List list = this.tracker.getPassengers(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 57f7dfc6a5316cfec5cce9c60e7b91d94c505f50..735beaf6fa6e6ccf2137b64a0b5179ada2907011 100644 +index d9ed9df3021dab1f5ee0a51215a002253ac1e34c..b32d41fac5f855e302469209f368c3674b849fe3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1526,6 +1526,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 9eaf78095415f09073615db80a87b1fd93a126cc..1a88503a743202e1da7dd81b5501d7b48943b3db 100644 +index 2b7e7a7aaa56b9c51fa0c8065ff25828d92c09ee..5f9ab1b81c1440d9b3003fbbf7d00b135a6b811e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -115,6 +115,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0488-Wait-for-Async-Tasks-during-shutdown.patch b/Spigot-Server-Patches/0488-Wait-for-Async-Tasks-during-shutdown.patch index f6eb6134c..5a56c0318 100644 --- a/Spigot-Server-Patches/0488-Wait-for-Async-Tasks-during-shutdown.patch +++ b/Spigot-Server-Patches/0488-Wait-for-Async-Tasks-during-shutdown.patch @@ -10,7 +10,7 @@ Adds a 5 second grace period for any async tasks to finish and warns if any are still running after that delay just as reload does. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b108ce5affe48f06e69b0f0482e1333085ca7304..ab65eb18b0fec71cda5305414bf59239644fe9bb 100644 +index b32d41fac5f855e302469209f368c3674b849fe3..7c1c929819c450f853c91618b2853fcb424caa22 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -772,6 +772,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant -Date: Mon, 29 Jun 2020 04:00:07 -0400 -Subject: [PATCH] Don't fire unleash/dismount events from worldgen threads - -Mojang can trigger this during worldgen and tries to fire bukkit events. - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 38887c1b7849926fab0a3b2db0e7b81388364172..2aa38528d78f2619317b96b1c944982b17f7160b 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2117,7 +2117,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - // CraftBukkit start - CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); - Entity orig = craft == null ? null : craft.getHandle(); -- if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { -+ if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity && MCUtil.isMainThread()) { // Paper - VehicleExitEvent event = new VehicleExitEvent( - (Vehicle) getBukkitEntity(), - (LivingEntity) entity.getBukkitEntity(), !suppressCancellation // Paper -@@ -2132,7 +2132,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - // CraftBukkit end - // Spigot start - org.spigotmc.event.entity.EntityDismountEvent event = new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity(), !suppressCancellation); // Paper -- Bukkit.getPluginManager().callEvent(event); -+ if (MCUtil.isMainThread()) Bukkit.getPluginManager().callEvent(event); // Paper - if (event.isCancelled()) { - return false; - } -diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 605bbf0174e60f795e445193a0284739ea452946..301f1ae8820df24d7c8453335abc1934aa7fae43 100644 ---- a/src/main/java/net/minecraft/server/EntityInsentient.java -+++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -1339,7 +1339,7 @@ public abstract class EntityInsentient extends EntityLiving { - boolean flag1 = super.a(entity, flag); - - if (flag1 && this.isLeashed()) { -- this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit -+ if (MCUtil.isMainThread()) this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit // Paper - this.unleash(true, true); - } - diff --git a/work/Bukkit b/work/Bukkit index 3c844f351..42d5a714f 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 3c844f351a81d1b9bce7a39e7055a933f10c9a96 +Subproject commit 42d5a714f434eb1324dfef1b38218d7e40c67644 diff --git a/work/CraftBukkit b/work/CraftBukkit index 32acc2621..7560f5f5a 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 32acc2621791b5f38e71df1da1b43858bdeaa0e2 +Subproject commit 7560f5f5a69fc5fa17ec0c33eaba8abe026a53ef diff --git a/work/Spigot b/work/Spigot index ad703da04..0287a20df 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit ad703da04d2ffbf84a75e5ee32f2829380864bb7 +Subproject commit 0287a20df344c0bc462ddc64851e5a160a1775fc