From 48b6bfe2a636cba20778983cda4d20c78244873e Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 23 Jul 2019 20:17:32 +0100 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: c987938a SPIGOT-5180: Add Villager#sleep() and #wakeup() methods CraftBukkit Changes: 7f33c6a2 SPIGOT-5196: Restore previous version behaviour regarding cancelled BlockBreakEvent 6a5fc902 Improve diff in EntityHanging c98d61bf SPIGOT-4712: Allow spawning of upwards or downwards facing item frames db971477 SPIGOT-5199: Fix NPE if setting the book of the ItemMeta of a lectern b0ef3996 SPIGOT-4679 Fix black lines after book paragraphs 1215188f SPIGOT-5180: Add Villager#sleep() and #wakeup() methods c03b2bef SPIGOT-4975: NPE on WorldGenStronghold When Using Multiple Worlds 65ea162c Ensure Bukkit data pack is always up to date 0b107b8d MC-157395, SPIGOT-5193: Small armor stands do not drop loot 6da0abca SPIGOT-5195: Player loot table does not drop when keepInventory is on 8b09d983 SPIGOT-5190: Superfluous EntityCombustEvent called when using fire aspect sword Spigot Changes: 1981d553 SPIGOT-5198: Catch more bad async operations 6a14ca46 Rebuild patches --- Spigot-Server-Patches/0009-Timings-v2.patch | 72 +++++++++---------- ...ient-crashes-server-lists-and-Mojang.patch | 14 ++-- ...023-Further-improve-server-tick-loop.patch | 12 ++-- .../0025-Entity-Origin-API.patch | 16 ++--- .../0030-Configurable-end-credits.patch | 8 +-- .../0032-Optimize-explosions.patch | 12 ++-- ...44-Ensure-commands-are-not-ran-async.patch | 14 ++-- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 14 ++-- ...Entity-AddTo-RemoveFrom-World-Events.patch | 8 +-- ...Remove-unused-World-Tile-Entity-List.patch | 10 +-- ...95-Implement-PlayerLocaleChangeEvent.patch | 8 +-- ...-possibility-for-getServer-singleton.patch | 6 +- ...item-frames-performance-and-bug-fixe.patch | 12 ++-- .../0103-Optimize-UserCache-Thread-Safe.patch | 8 +-- .../0109-Fix-Double-World-Add-issues.patch | 6 +- ...ers-that-dismount-from-other-players.patch | 6 +- .../0126-Optimise-removeQueue.patch | 6 +- ...to-control-if-armour-stands-can-move.patch | 8 +-- ...37-Properly-fix-item-duplication-bug.patch | 8 +-- ...PI-for-Reason-Source-Triggering-play.patch | 36 +++++----- .../0148-Do-not-let-armorstands-drown.patch | 8 +-- ...le-async-calls-to-restart-the-server.patch | 14 ++-- ...property-to-disable-book-size-limits.patch | 6 +- ...oleAppender-for-console-improvements.patch | 32 ++++----- .../0159-Basic-PlayerProfile-API.patch | 24 +++---- .../0160-Shoulder-Entities-Release-API.patch | 8 +-- ...-Extend-Player-Interact-cancellation.patch | 6 +- ...nt-extended-PaperServerListPingEvent.patch | 18 ++--- ...d-method-to-open-already-placed-sign.patch | 6 +- ...ld.spawnParticle-API-and-add-Builder.patch | 10 +-- .../0245-InventoryCloseEvent-Reason-API.patch | 28 ++++---- ...ies-option-to-debug-dupe-uuid-issues.patch | 14 ++-- ...ead-Entities-in-entityList-iteration.patch | 16 ++--- ...dd-Early-Warning-Feature-to-WatchDog.patch | 14 ++-- ...Allow-disabling-armour-stand-ticking.patch | 12 ++-- ...ets-from-world-player-list-not-serve.patch | 14 ++-- .../0288-Optimize-Hoppers.patch | 14 ++-- ...loadChunk-int-int-false-load-unconve.patch | 8 +-- .../0300-Improve-death-events.patch | 26 +++---- .../0310-Optimize-Server-World-Map.patch | 8 +-- ...mit-lightning-strike-effect-distance.patch | 10 +-- ...-Call-player-spectator-target-events.patch | 6 +- ...29-Reset-players-airTicks-on-respawn.patch | 8 +-- .../0334-Optimize-World-Time-Updates.patch | 6 +- ...entity-dismount-during-teleportation.patch | 12 ++-- ...vehicle-tracking-issue-on-disconnect.patch | 6 +- .../0366-Entity-getEntitySpawnReason.patch | 12 ++-- .../0372-Server-Tick-Events.patch | 8 +-- ...0373-PlayerDeathEvent-getItemsToKeep.patch | 6 +- .../0382-Async-Chunk-placeholder.patch | 6 +- ...n-item-frames-are-modified-MC-123450.patch | 8 +-- ...isPrimaryThread-and-MinecraftServer-.patch | 8 +-- .../0387-Duplicate-UUID-Resolve-Option.patch | 14 ++-- ...le-Keep-Spawn-Loaded-range-per-world.patch | 22 +++--- ...x-some-generation-concurrency-issues.patch | 10 +-- .../0396-incremental-chunk-saving.patch | 14 ++-- ...398-Fix-World-isChunkGenerated-calls.patch | 24 +++---- ...ot-call-superfluous-EntityCombustEve.patch | 22 ------ work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 61 files changed, 378 insertions(+), 400 deletions(-) delete mode 100644 Spigot-Server-Patches/0405-SPIGOT-5190-Do-not-call-superfluous-EntityCombustEve.patch diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 882d5ce2f..2e2ea6901 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 004767ba009e3a42594e7d442299af724f0f3da5 Mon Sep 17 00:00:00 2001 +From 32433f247363809b8ea035499c20a4fee2e8fe1e Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 0000000000..3f9fb6f906 +index 000000000..3f9fb6f90 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,133 @@ @@ -145,7 +145,7 @@ index 0000000000..3f9fb6f906 +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 0000000000..366de66657 +index 000000000..366de6665 --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,107 @@ @@ -257,7 +257,7 @@ index 0000000000..366de66657 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5518ec1e54..0c65afccfd 100644 +index 5518ec1e5..0c65afccf 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -304,7 +304,7 @@ index 5518ec1e54..0c65afccfd 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 70c881643d..a4b6d6fd4c 100644 +index abba434da..1426bd01a 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -31,6 +31,15 @@ public class Block implements IMaterial { @@ -324,7 +324,7 @@ index 70c881643d..a4b6d6fd4c 100644 private final float frictionFactor; protected final BlockStateList blockStateList; diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 3ed48be382..c4d989f702 100644 +index 3ed48be38..c4d989f70 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -573,6 +573,7 @@ public class Chunk implements IChunkAccess { @@ -344,7 +344,7 @@ index 3ed48be382..c4d989f702 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index dd6e69a0f1..25e0163c60 100644 +index dd6e69a0f..25e0163c6 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -150,11 +150,13 @@ public class ChunkProviderServer extends IChunkProvider { @@ -396,7 +396,7 @@ index dd6e69a0f1..25e0163c60 100644 @Override diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 28bf9e14d6..03be77299b 100644 +index 28bf9e14d..03be77299 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -434,7 +434,7 @@ index 28bf9e14d6..03be77299b 100644 } diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java -index 12885cbd60..49de6e997a 100644 +index 12885cbd6..49de6e997 100644 --- a/src/main/java/net/minecraft/server/CustomFunction.java +++ b/src/main/java/net/minecraft/server/CustomFunction.java @@ -13,12 +13,22 @@ public class CustomFunction { @@ -461,7 +461,7 @@ index 12885cbd60..49de6e997a 100644 return this.b; } diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java -index 53735b52a3..721839b4c6 100644 +index 53735b52a..721839b4c 100644 --- a/src/main/java/net/minecraft/server/CustomFunctionData.java +++ b/src/main/java/net/minecraft/server/CustomFunctionData.java @@ -101,7 +101,7 @@ public class CustomFunctionData implements IResourcePackListener { @@ -474,7 +474,7 @@ index 53735b52a3..721839b4c6 100644 int j = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 5e0797afde..f572cd8fc7 100644 +index 5e0797afd..f572cd8fc 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -19,6 +19,8 @@ import java.util.Collections; @@ -562,7 +562,7 @@ index 5e0797afde..f572cd8fc7 100644 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d4954801cb..fd4712c710 100644 +index d4954801c..fd4712c71 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; @@ -601,7 +601,7 @@ index d4954801cb..fd4712c710 100644 protected Vec3D a(Vec3D vec3d, EnumMoveType enummovetype) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 5c863860ae..ed5b9a9516 100644 +index dcbc4ea7e..b1f130f91 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -677,7 +677,7 @@ index 5c863860ae..ed5b9a9516 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b397fd3445..18d5461cac 100644 +index 1701d39ea..8d04500ac 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -63,7 +63,7 @@ import org.bukkit.craftbukkit.CraftServer; @@ -689,7 +689,7 @@ index b397fd3445..18d5461cac 100644 import org.spigotmc.SlackActivityAccountant; // Spigot public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant implements IMojangStatistics, ICommandListener, AutoCloseable, Runnable { -@@ -686,6 +686,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit @@ -721,7 +721,7 @@ index b397fd3445..18d5461cac 100644 } this.methodProfiler.enter("snooper"); -@@ -1014,30 +1013,29 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant implements TickList { @@ -1031,7 +1031,7 @@ index 00bbd34b6a..f533860bbe 100644 this.g.clear(); } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 2efaf516ff..22a8ea916a 100644 +index 2efaf516f..22a8ea916 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer; @@ -1050,7 +1050,7 @@ index 2efaf516ff..22a8ea916a 100644 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1d5e4c5127..60c222b12b 100644 +index 1d5e4c512..60c222b12 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -1105,7 +1105,7 @@ index 1d5e4c5127..60c222b12b 100644 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 6cb7925d34..aaf3882634 100644 +index 825e72e53..ab82623cc 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,7 @@ @@ -1205,7 +1205,7 @@ index 6cb7925d34..aaf3882634 100644 // 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 4d38bf5018..936f181f06 100644 +index 2fd73f483..6de0b6e5d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1931,12 +1931,31 @@ public final class CraftServer implements Server { @@ -1242,7 +1242,7 @@ index 4d38bf5018..936f181f06 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index b98a7b56a4..0000000000 +index b98a7b56a..000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,164 +0,0 @@ @@ -1411,7 +1411,7 @@ index b98a7b56a4..0000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 184802803c..9280bb6f74 100644 +index e434738cb..9f5080b23 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1749,6 +1749,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1430,7 +1430,7 @@ index 184802803c..9280bb6f74 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index b90979c7ba..8823f94f7b 100644 +index b90979c7b..8823f94f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -1,5 +1,6 @@ @@ -1496,7 +1496,7 @@ index b90979c7ba..8823f94f7b 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 3f55381c15..0d9a466809 100644 +index 3f55381c1..0d9a46680 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,9 +1,11 @@ @@ -1581,7 +1581,7 @@ index 3f55381c15..0d9a466809 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b78..3d90b34268 100644 +index e52ef47b7..3d90b3426 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1593,7 +1593,7 @@ index e52ef47b78..3d90b34268 100644 this.value = value; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index dd602243d3..924ab7f541 100644 +index dd602243d..924ab7f54 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -288,6 +288,13 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -1611,7 +1611,7 @@ index dd602243d3..924ab7f541 100644 * This helper class represents the different NBT Tags. *

diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index ca7789b5e0..4423839697 100644 +index ca7789b5e..442383969 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -31,7 +31,7 @@ import net.minecraft.server.EntityWither; 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 30b4b0192..30668f785 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 @@ -1,4 +1,4 @@ -From d02c4d04df4da6331455d3f31a1e9a345fe48baf Mon Sep 17 00:00:00 2001 +From 8a94ed11527adbb597c3cf4dca2d9d202f9e1e94 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:32:43 -0600 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang @@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java -index 3f35a28ba1..cf00f35a5b 100644 +index 3f35a28ba..cf00f35a5 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -70,7 +70,7 @@ public class EULA { @@ -19,10 +19,10 @@ index 3f35a28ba1..cf00f35a5b 100644 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 18d5461cac..e709b9123d 100644 +index 8d04500ac..cec120cf2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1297,7 +1297,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 1 Mar 2016 23:09:29 -0600 Subject: [PATCH] Further improve server tick loop @@ -12,7 +12,7 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e709b9123d..c16f2a9c16 100644 +index cec120cf2..7bb83014b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -157,7 +157,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 40dcb31258..5f85eb2ba2 100644 +index 40dcb3125..5f85eb2ba 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -163,6 +163,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -51,7 +51,7 @@ index 40dcb31258..5f85eb2ba2 100644 NBTTagList nbttaglist = new NBTTagList(); double[] adouble1 = adouble; diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index f8d8d8f353..0f9fa41133 100644 +index f8d8d8f35..0f9fa4113 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -254,6 +254,14 @@ public class EntityFallingBlock extends Entity { @@ -70,7 +70,7 @@ index f8d8d8f353..0f9fa41133 100644 public void a(boolean flag) { diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index e988abd67c..f2ee53ab90 100644 +index e988abd67..f2ee53ab9 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -104,6 +104,14 @@ public class EntityTNTPrimed extends Entity { @@ -89,7 +89,7 @@ index e988abd67c..f2ee53ab90 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index ce510c4867..b7c94fe238 100644 +index ce510c486..b7c94fe23 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -161,6 +161,7 @@ public class NBTTagList extends NBTList { @@ -101,10 +101,10 @@ index ce510c4867..b7c94fe238 100644 if (i >= 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 aaf3882634..b9e1816e82 100644 +index ab82623cc..9c487fb61 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1101,6 +1101,11 @@ public class WorldServer extends World { +@@ -1103,6 +1103,11 @@ public class WorldServer extends World { this.H.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit @@ -117,7 +117,7 @@ index aaf3882634..b9e1816e82 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a98f6f3389..d1d37c06bf 100644 +index a98f6f338..d1d37c06b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1009,4 +1009,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0030-Configurable-end-credits.patch b/Spigot-Server-Patches/0030-Configurable-end-credits.patch index fdb929645..9b436347c 100644 --- a/Spigot-Server-Patches/0030-Configurable-end-credits.patch +++ b/Spigot-Server-Patches/0030-Configurable-end-credits.patch @@ -1,11 +1,11 @@ -From f13f1a117cb7ab0d080989a022144036df1e9404 Mon Sep 17 00:00:00 2001 +From 2babc5e8d9394f46ce6a5cbef320ed1b394d8ac2 Mon Sep 17 00:00:00 2001 From: DoctorDark Date: Wed, 16 Mar 2016 02:21:39 -0500 Subject: [PATCH] Configurable end credits diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index a797a57671..c2b9690a0c 100644 +index a797a5767..c2b9690a0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -139,4 +139,10 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index a797a57671..c2b9690a0c 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index d960d117f8..f3a9c0f2b4 100644 +index ed21ad635..41668d3db 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 d960d117f8..f3a9c0f2b4 100644 private final RecipeBookServer recipeBook; private Vec3D cr; private int cs; -@@ -707,6 +707,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -706,6 +706,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 ef72264b4..da736b9b0 100644 --- a/Spigot-Server-Patches/0032-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From 85255374d47dda4ae56b01c57b7a66978c0fb320 Mon Sep 17 00:00:00 2001 +From f945ca215b4e13bd1ef95950c3c916db65175ea9 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 11:59:48 -0600 Subject: [PATCH] Optimize explosions @@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving an entity's exposure during an explosion. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index c2b9690a0c..a5ec0bc0e0 100644 +index c2b9690a0..a5ec0bc0e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -145,4 +145,10 @@ public class PaperWorldConfig { @@ -25,7 +25,7 @@ index c2b9690a0c..a5ec0bc0e0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index cdd8939504..bd6a0bd16b 100644 +index cdd893950..bd6a0bd16 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -172,7 +172,7 @@ public class Explosion { @@ -123,10 +123,10 @@ index cdd8939504..bd6a0bd16b 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c16f2a9c16..85c04d4035 100644 +index 7bb83014b..6d9db5294 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1141,6 +1141,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 3 Mar 2016 01:17:12 -0600 Subject: [PATCH] Ensure commands are not ran async @@ -14,7 +14,7 @@ big slowdown in execution but throwing an exception at same time to raise awaren that it is happening so that plugin authors can fix their code to stop executing commands async. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 36c56773f3..962362889a 100644 +index 36c56773f..962362889 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1553,6 +1553,29 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -48,12 +48,12 @@ index 36c56773f3..962362889a 100644 } else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) { // Do nothing, this is coming from a plugin diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8cdaf4758d..63e26ae4b5 100644 +index 688ab8ccf..115d4b600 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -707,6 +707,29 @@ public final class CraftServer implements Server { Validate.notNull(commandLine, "CommandLine cannot be null"); - org.spigotmc.AsyncCatcher.catchOp( "command dispatch" ); // Spigot + org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot + // Paper Start + if (!org.spigotmc.AsyncCatcher.shuttingDown && !Bukkit.isPrimaryThread()) { @@ -82,7 +82,7 @@ index 8cdaf4758d..63e26ae4b5 100644 return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java -index ddef523ea8..70f8d42992 100644 +index ddef523ea..70f8d4299 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -13,6 +13,7 @@ public class ServerShutdownThread extends Thread { @@ -94,7 +94,7 @@ index ddef523ea8..70f8d42992 100644 } finally { try { diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java -index aeed769725..9f7d2ef932 100644 +index aeed76972..9f7d2ef93 100644 --- a/src/main/java/org/spigotmc/AsyncCatcher.java +++ b/src/main/java/org/spigotmc/AsyncCatcher.java @@ -6,6 +6,7 @@ public class AsyncCatcher @@ -106,7 +106,7 @@ index aeed769725..9f7d2ef932 100644 public static void catchOp(String reason) { diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java -index e7b953ca31..ccea803f58 100644 +index e7b953ca3..ccea803f5 100644 --- a/src/main/java/org/spigotmc/RestartCommand.java +++ b/src/main/java/org/spigotmc/RestartCommand.java @@ -43,6 +43,7 @@ public class RestartCommand extends Command diff --git a/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 3c630ca51..cb67a744c 100644 --- a/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -1,4 +1,4 @@ -From ac322fe105093fc639e571fac8a0e5cce52c5b6a Mon Sep 17 00:00:00 2001 +From 37a6f823c355660c814b5ced5abca655be766b10 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 19:55:45 -0400 Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener @@ -6,7 +6,7 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener Saves on some object allocation and processing when no plugin listens to this diff --git a/src/main/java/net/minecraft/server/BlockPlant.java b/src/main/java/net/minecraft/server/BlockPlant.java -index 9bf42bb5ef..0526af776d 100644 +index 9bf42bb5e..0526af776 100644 --- a/src/main/java/net/minecraft/server/BlockPlant.java +++ b/src/main/java/net/minecraft/server/BlockPlant.java @@ -16,7 +16,7 @@ public class BlockPlant extends Block { @@ -19,7 +19,7 @@ index 9bf42bb5ef..0526af776d 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockTallPlant.java b/src/main/java/net/minecraft/server/BlockTallPlant.java -index ef392f5fe8..227fe073fd 100644 +index ef392f5fe..227fe073f 100644 --- a/src/main/java/net/minecraft/server/BlockTallPlant.java +++ b/src/main/java/net/minecraft/server/BlockTallPlant.java @@ -55,7 +55,7 @@ public class BlockTallPlant extends BlockPlant { @@ -32,10 +32,10 @@ index ef392f5fe8..227fe073fd 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 85c04d4035..1cbb8b1ef7 100644 +index 6d9db5294..524b8dc6c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1107,6 +1107,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c40777ecb8..cb5515dc3b 100644 +index c40777ecb..cb5515dc3 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -440,7 +440,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -66,7 +66,7 @@ index c40777ecb8..cb5515dc3b 100644 this.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 252fbb36eb..44ababac7a 100644 +index 332663c75..991f0132b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -71,6 +71,7 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch index e238350c1..ac24cb00d 100644 --- a/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch @@ -1,14 +1,14 @@ -From 8840587b8d1c787f21915ab058e88d720e56403c Mon Sep 17 00:00:00 2001 +From 21e3a13e33fa949b25056cc51be4b77342dc337e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:32:58 -0400 Subject: [PATCH] Entity AddTo/RemoveFrom World Events diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 44ababac7a..d2e6bd8c39 100644 +index 991f0132b..e5fd949e2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1107,6 +1107,7 @@ public class WorldServer extends World { +@@ -1109,6 +1109,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -16,7 +16,7 @@ index 44ababac7a..d2e6bd8c39 100644 } } -@@ -1116,6 +1117,7 @@ public class WorldServer extends World { +@@ -1117,6 +1118,7 @@ public class WorldServer extends World { if (this.tickingEntities) { throw new IllegalStateException("Removing entity while ticking!"); } else { diff --git a/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch index 1e71b40ab..661ae549c 100644 --- a/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From 4e1e1c945760b2c4649778faddc0660e15f4b60b Mon Sep 17 00:00:00 2001 +From 66eb68aecc656e97825ab083d2446999a3773802 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 00:25:28 -0400 Subject: [PATCH] Remove unused World Tile Entity List @@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List Massive hit to performance and it is completely unnecessary. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 07d1505867..ebeb48f6dc 100644 +index 07d150586..ebeb48f6d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -40,7 +40,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -67,10 +67,10 @@ index 07d1505867..ebeb48f6dc 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d2e6bd8c39..c81156a7ca 100644 +index e5fd949e2..552373ddb 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1557,7 +1557,7 @@ public class WorldServer extends World { +@@ -1558,7 +1558,7 @@ public class WorldServer extends World { } bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size())); @@ -79,7 +79,7 @@ index d2e6bd8c39..c81156a7ca 100644 bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a())); bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a())); bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n"); -@@ -1720,7 +1720,7 @@ public class WorldServer extends World { +@@ -1721,7 +1721,7 @@ public class WorldServer extends World { private void a(Writer writer) throws IOException { CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer); diff --git a/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch index bf94c39c0..b42e8cec6 100644 --- a/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch +++ b/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch @@ -1,11 +1,11 @@ -From f4fa73ca0720878a17001c4926e6c159446bdc2d Mon Sep 17 00:00:00 2001 +From 9c9d885ced2c7e1e66302b61ebb40c1e5eaa9a05 Mon Sep 17 00:00:00 2001 From: Isaac Moore Date: Tue, 19 Apr 2016 14:09:31 -0500 Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ceb88515f3..ef80bc12f6 100644 +index accf20f03..9dfa92f88 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -37,7 +37,7 @@ import org.bukkit.inventory.MainHand; @@ -17,7 +17,7 @@ index ceb88515f3..ef80bc12f6 100644 public PlayerConnection playerConnection; public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; -@@ -1450,13 +1450,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1449,13 +1449,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(getBukkitEntity(), getMainHand() == EnumMainHand.LEFT ? MainHand.LEFT : MainHand.RIGHT); this.server.server.getPluginManager().callEvent(event); } @@ -40,7 +40,7 @@ index ceb88515f3..ef80bc12f6 100644 this.cl = packetplayinsettings.e(); this.getDataWatcher().set(EntityPlayer.bt, (byte) packetplayinsettings.f()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a3faa7da33..2a04e9f504 100644 +index 881fa70b2..151dcf243 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1758,8 +1758,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch index 4af4d3c98..0a875e0ed 100644 --- a/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 1d10e6e32bcf870ba8f8e0a3f44fe1afbfabc7f6 Mon Sep 17 00:00:00 2001 +From 5e758106631ef6319880888cf38ead080a7de9d9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 257258c189..bb0b37a29c 100644 +index 57db59671..9562fde4c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -68,6 +68,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot @@ -25,7 +25,7 @@ index 257258c189..bb0b37a29c 100644 this.resourcePackRepository = new ResourcePackRepository<>(ResourcePackLoader::new); this.ai = new CraftingManager(); this.aj = new TagRegistry(); -@@ -2119,7 +2121,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 29 Apr 2016 20:02:00 -0400 Subject: [PATCH] Improve Maps (in item frames) performance and bug fixes @@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system. Additionally, numerous issues to player position tracking on maps has been fixed. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 5c45d8ee08..87d3337c88 100644 +index aaf297e71..3f829f79e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -605,6 +605,12 @@ public abstract class EntityHuman extends EntityLiving { @@ -30,7 +30,7 @@ index 5c45d8ee08..87d3337c88 100644 return entityitem; } diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java -index fc08158937..090d3dbd31 100644 +index fc0815893..090d3dbd3 100644 --- a/src/main/java/net/minecraft/server/WorldMap.java +++ b/src/main/java/net/minecraft/server/WorldMap.java @@ -31,6 +31,7 @@ public class WorldMap extends PersistentBase { @@ -102,10 +102,10 @@ index fc08158937..090d3dbd31 100644 for ( org.bukkit.map.MapCursor cursor : render.cursors) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d2e6bd8c39..863b678846 100644 +index 552373ddb..26840d500 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1044,6 +1044,7 @@ public class WorldServer extends World { +@@ -1045,6 +1045,7 @@ public class WorldServer extends World { { if ( iter.next().trackee == entity ) { @@ -114,7 +114,7 @@ index d2e6bd8c39..863b678846 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java -index 256a131781..5768cd512e 100644 +index 256a13178..5768cd512 100644 --- a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java +++ b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java @@ -5,7 +5,7 @@ import org.bukkit.map.MapCursor; diff --git a/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch index bd8eef733..7ab50353e 100644 --- a/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 26b42293f673a7c08bf8f14fde2260901ca07a3e Mon Sep 17 00:00:00 2001 +From dbf172874d23bea013db9a87fec778d833ee3f12 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bb0b37a29c..b7e188cf9f 100644 +index 9562fde4c..842116da7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -752,7 +752,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 21 Jun 2016 22:54:34 -0400 Subject: [PATCH] Fix Double World Add issues @@ -8,13 +8,13 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added. Also add debug if something else tries to, and abort before world gets bad state diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 863b678846..f6831a33a4 100644 +index 26840d500..35e46dd75 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -934,6 +934,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { - org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot + org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot + if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper if (entity.dead) { // WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit diff --git a/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch b/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch index b60af3148..0fb7e508a 100644 --- a/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch +++ b/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch @@ -1,14 +1,14 @@ -From 472812cd2e86962b1e22b8ccaa27fa997ecc7742 Mon Sep 17 00:00:00 2001 +From 7fc9411e0c2d870ae25a7e0c3da3ea22ddb5d24d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 31 Jul 2016 16:33:03 -0500 Subject: [PATCH] Re-track players that dismount from other players diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ef80bc12f6..c0889bfc20 100644 +index 9dfa92f88..940663bd3 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -981,6 +981,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -980,6 +980,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { if (entity1 != entity && this.playerConnection != null) { this.playerConnection.a(this.locX, this.locY, this.locZ, this.yaw, this.pitch); } diff --git a/Spigot-Server-Patches/0126-Optimise-removeQueue.patch b/Spigot-Server-Patches/0126-Optimise-removeQueue.patch index 448660624..c40d99ed5 100644 --- a/Spigot-Server-Patches/0126-Optimise-removeQueue.patch +++ b/Spigot-Server-Patches/0126-Optimise-removeQueue.patch @@ -1,11 +1,11 @@ -From 3d1daac800afd1ea09b18d50ac15b616e6be5352 Mon Sep 17 00:00:00 2001 +From 669429b5aee9103951c2c3163b42193b8c7239b1 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Fri, 25 Nov 2016 13:22:40 +0000 Subject: [PATCH] Optimise removeQueue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index fd53e53562..a835f77dc3 100644 +index 3c67a03a9..d5344d5c8 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; @@ -50,7 +50,7 @@ index fd53e53562..a835f77dc3 100644 this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint)); } -@@ -1324,7 +1333,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1323,7 +1332,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/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch index bd87ed1ed..d99654add 100644 --- a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From 02f8350a638e2937a4fc5ba86243e2c3dcf83e36 Mon Sep 17 00:00:00 2001 +From f35ea1e0498c253d3e0d72ed12413b2ca1ea2f5a Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 9bf18e9b06..de5a4a05ad 100644 +index 6561dc637..dbc75382a 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -43,6 +43,7 @@ public class EntityArmorStand extends EntityLiving { @@ -16,7 +16,7 @@ index 9bf18e9b06..de5a4a05ad 100644 public EntityArmorStand(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -789,4 +790,13 @@ public class EntityArmorStand extends EntityLiving { +@@ -796,4 +797,13 @@ public class EntityArmorStand extends EntityLiving { return this.getEntityType().k().a(f); } @@ -31,7 +31,7 @@ index 9bf18e9b06..de5a4a05ad 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 2b66a08ade..124c3185bc 100644 +index 2b66a08ad..124c3185b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -211,4 +211,16 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch index d12843a3e..8946a33d1 100644 --- a/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From a4c3a38bf45b8c61a927d6776e5fd4390b369cc0 Mon Sep 17 00:00:00 2001 +From 9118f2d067a4a6703747aa90bf9998f93648dd82 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Tue, 27 Dec 2016 01:57:57 +0000 Subject: [PATCH] Properly fix item duplication bug @@ -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 a835f77dc3..5d659d626b 100644 +index d5344d5c8..fc9899037 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1797,7 +1797,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1796,7 +1796,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override protected boolean isFrozen() { @@ -19,7 +19,7 @@ index a835f77dc3..5d659d626b 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 13c1d9b914..068827e2ea 100644 +index 13c1d9b91..068827e2e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2515,7 +2515,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index b71d1c3cc..043ff236e 100644 --- a/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 03f39502eeb5083f0bc4a54de2de1ac40915ad44 Mon Sep 17 00:00:00 2001 +From 9c5efdb0aa5c3b84136139050c0cf19e1376ac8d Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index a4b6d6fd4c..2c0e59c60d 100644 +index 1426bd01a..880fc5270 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -511,13 +511,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index a4b6d6fd4c..2c0e59c60d 100644 } diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java -index 2d2cd09ad1..ed88e208d0 100644 +index 2d2cd09ad..ed88e208d 100644 --- a/src/main/java/net/minecraft/server/ContainerGrindstone.java +++ b/src/main/java/net/minecraft/server/ContainerGrindstone.java @@ -81,7 +81,7 @@ public class ContainerGrindstone extends Container { @@ -41,7 +41,7 @@ index 2d2cd09ad1..ed88e208d0 100644 world.triggerEffect(1042, blockposition, 0); diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index cf857b88de..5fae347db2 100644 +index cf857b88d..5fae347db 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -607,7 +607,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -54,7 +54,7 @@ index cf857b88de..5fae347db2 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index a4cd502bca..214ecdb884 100644 +index a4cd502bc..214ecdb88 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -16,9 +16,59 @@ public class EntityExperienceOrb extends Entity { @@ -134,7 +134,7 @@ index a4cd502bca..214ecdb884 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 758559d35d..2a351701b4 100644 +index 758559d35..2a351701b 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -404,7 +404,7 @@ public class EntityFishingHook extends Entity { @@ -147,7 +147,7 @@ index 758559d35d..2a351701b4 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c435c7303d..c5e671961b 100644 +index 34c7dab97..106e54f7a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -385,7 +385,8 @@ public abstract class EntityLiving extends Entity { @@ -161,7 +161,7 @@ index c435c7303d..c5e671961b 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index 4ac5cce062..05970c5644 100644 +index 4ac5cce06..05970c564 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -43,7 +43,7 @@ public class EntityThrownExpBottle extends EntityProjectileThrowable { @@ -174,7 +174,7 @@ index 4ac5cce062..05970c5644 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 25c7214ded..594cc70def 100644 +index 25c7214de..594cc70de 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -508,7 +508,7 @@ public class EntityTurtle extends EntityAnimal { @@ -187,7 +187,7 @@ index 25c7214ded..594cc70def 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 09d12d1fca..a4033a6663 100644 +index 09d12d1fc..a4033a666 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -504,7 +504,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -200,7 +200,7 @@ index 09d12d1fca..a4033a6663 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index 1753c67aa9..a24e7127d7 100644 +index 1753c67aa..a24e7127d 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -147,7 +147,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -213,7 +213,7 @@ index 1753c67aa9..a24e7127d7 100644 } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 363a98bece..0cc34400be 100644 +index 363a98bec..0cc34400b 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -117,7 +117,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -226,7 +226,7 @@ index 363a98bece..0cc34400be 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 954f0f2019..ac60c96e3a 100644 +index d4df76611..bce3844dd 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -364,7 +364,7 @@ public class PlayerInteractManager { @@ -239,7 +239,7 @@ index 954f0f2019..ac60c96e3a 100644 return true; diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index d2698e847c..edc4a5c34e 100644 +index d2698e847..edc4a5c34 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -2,7 +2,7 @@ package net.minecraft.server; @@ -252,7 +252,7 @@ index d2698e847c..edc4a5c34e 100644 public SlotFurnaceResult(EntityHuman entityhuman, IInventory iinventory, int i, int j, int k) { diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 0cb2e6d874..2bbd3663a7 100644 +index 0cb2e6d87..2bbd3663a 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -554,7 +554,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I @@ -265,10 +265,10 @@ index 0cb2e6d874..2bbd3663a7 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b02bc99298..ac680a6a78 100644 +index 6a212e8ee..72e54b08e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1695,7 +1695,7 @@ public class CraftWorld implements World { +@@ -1697,7 +1697,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new EntityTNTPrimed(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { @@ -278,7 +278,7 @@ index b02bc99298..ac680a6a78 100644 entity = new EntityLightning(world, x, y, z, false); } else if (Firework.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 1b512cc45c..fbad045675 100644 +index 1b512cc45..fbad04567 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -20,6 +20,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { diff --git a/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch index 699e3c60e..13ba04d5a 100644 --- a/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch @@ -1,14 +1,14 @@ -From 9ea404bf49b2813a616fb19a09d7fed57e502d05 Mon Sep 17 00:00:00 2001 +From adba45d168b214c08095f750fe909b28608806b4 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 18 Feb 2017 19:29:58 -0600 Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index de5a4a05ad..297ed7c1ce 100644 +index dbc75382a..f7e593afe 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -798,5 +798,10 @@ public class EntityArmorStand extends EntityLiving { +@@ -805,5 +805,10 @@ public class EntityArmorStand extends EntityLiving { super.move(moveType, vec3d); } } @@ -20,7 +20,7 @@ index de5a4a05ad..297ed7c1ce 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 96bed03b15..0733caf7bd 100644 +index 537781e29..abd96b2c4 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -223,6 +223,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch index bb74da48e..66a09e198 100644 --- a/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From 153b2024ee027d82e6cad338025d9afed894e013 Mon Sep 17 00:00:00 2001 +From 22fe020e25d7e0ad7e8d2974617403a6cfe1d20b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 May 2017 23:34:11 -0500 Subject: [PATCH] Properly handle async calls to restart the server @@ -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 b7e188cf9f..d8dd78b56a 100644 +index 842116da7..7f6c3d4f6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -88,6 +88,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 13 May 2017 20:11:21 -0500 Subject: [PATCH] Add system property to disable book size limits @@ -11,11 +11,11 @@ to make books with as much data as they want. Do not use this without limiting incoming data from packets in some other way. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index fe8e6dcb77..f8a3c9718d 100644 +index 804fe9499..7262920c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -36,6 +36,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { - static final int MAX_PAGES = 50; + static final int MAX_PAGES = 100; static final int MAX_PAGE_LENGTH = 320; // 256 limit + 64 characters to allow for psuedo colour codes static final int MAX_TITLE_LENGTH = 32; + private static final boolean OVERRIDE_CHECKS = Boolean.getBoolean("disable.book-limits"); // Paper - Add override diff --git a/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch index 5a5bfafa0..5619290e5 100644 --- a/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From e81667bbdaab0d52dc2d54ed822697ad462bf617 Mon Sep 17 00:00:00 2001 +From 48234569f5c6642bf40a3651bb0693c505a13a10 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index 04b0dd9a7f..54d214a8cf 100644 +index 04b0dd9a7..54d214a8c 100644 --- a/pom.xml +++ b/pom.xml @@ -41,10 +41,27 @@ @@ -75,7 +75,7 @@ index 04b0dd9a7f..54d214a8cf 100644 org.apache.maven.plugins diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 -index 0000000000..cd6e259239 +index 000000000..cd6e25923 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -0,0 +1,40 @@ @@ -121,7 +121,7 @@ index 0000000000..cd6e259239 +} diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java new file mode 100644 -index 0000000000..685deaa0e5 +index 000000000..685deaa0e --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java @@ -0,0 +1,17 @@ @@ -143,7 +143,7 @@ index 0000000000..685deaa0e5 + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index f2c65e40a1..f8fa3f78e7 100644 +index f2c65e40a..f8fa3f78e 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -85,6 +85,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -185,7 +185,7 @@ index f2c65e40a1..f8fa3f78e7 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d8dd78b56a..2cf4adf779 100644 +index 7f6c3d4f6..dd188e941 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate; @@ -225,7 +225,7 @@ index d8dd78b56a..2cf4adf779 100644 Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); } // CraftBukkit end -@@ -943,7 +947,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -7,7 +7,7 @@ Establishes base extension of profile systems for future edits too diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java new file mode 100644 -index 0000000000..b151a13c1b +index 000000000..b151a13c1 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java @@ -0,0 +1,280 @@ @@ -293,7 +293,7 @@ index 0000000000..b151a13c1b +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java new file mode 100644 -index 0000000000..25836b975b +index 000000000..25836b975 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java @@ -0,0 +1,30 @@ @@ -329,7 +329,7 @@ index 0000000000..25836b975b +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java new file mode 100644 -index 0000000000..3bcdb8f93f +index 000000000..3bcdb8f93 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java @@ -0,0 +1,17 @@ @@ -352,7 +352,7 @@ index 0000000000..3bcdb8f93f +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java new file mode 100644 -index 0000000000..4b2a67423f +index 000000000..4b2a67423 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java @@ -0,0 +1,29 @@ @@ -387,7 +387,7 @@ index 0000000000..4b2a67423f +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java new file mode 100644 -index 0000000000..3aceb0ea8a +index 000000000..3aceb0ea8 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java @@ -0,0 +1,11 @@ @@ -403,7 +403,7 @@ index 0000000000..3aceb0ea8a + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 1f6a126329..6d278a0da5 100644 +index 1f6a12632..6d278a0da 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,7 +1,10 @@ @@ -429,10 +429,10 @@ index 1f6a126329..6d278a0da5 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2cf4adf779..6276833474 100644 +index dd188e941..798bf3521 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1256,7 +1256,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 17 Jun 2017 15:18:30 -0400 Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1efec35941..9d1c3b0737 100644 +index c7bb6cbcb..92569f934 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1800,20 +1800,44 @@ public abstract class EntityHuman extends EntityLiving { @@ -58,10 +58,10 @@ index 1efec35941..9d1c3b0737 100644 @Override public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index fa9cedd6e2..4d9125c226 100644 +index 28ebb73a9..6cce1928a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -664,6 +664,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -665,6 +665,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { getHandle().getCooldownTracker().a(CraftMagicNumbers.getItem(material), ticks); } diff --git a/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch index 89df45ca3..999d62765 100644 --- a/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch +++ b/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch @@ -1,4 +1,4 @@ -From 252bb03623497434bf0011f19b74e6725ee31326 Mon Sep 17 00:00:00 2001 +From 690247761e27ecdc269add52468d5858c76a571e Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Feb 2018 10:43:46 +0000 Subject: [PATCH] Extend Player Interact cancellation @@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index ac60c96e3a..a898535d1b 100644 +index bce3844dd..8b30b7d4e 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -136,6 +136,11 @@ public class PlayerInteractManager { @@ -25,7 +25,7 @@ index ac60c96e3a..a898535d1b 100644 + this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition.shift(dir))); + } + // Paper end - this.player.playerConnection.sendPacket(new PacketPlayOutBlockBreak(blockposition, this.world.getType(blockposition), packetplayinblockdig_enumplayerdigtype, false)); + this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); // Update any tile entity data for this block TileEntity tileentity = this.world.getTileEntity(blockposition); @@ -440,7 +445,25 @@ public class PlayerInteractManager { diff --git a/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch index a3b8f1fb8..67f63800e 100644 --- a/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 3f76cff698d6e21e7a9628c25fd4fb5d719d40e5 Mon Sep 17 00:00:00 2001 +From f96c992cf77cd972d27bca1231e644e6ba854b7f Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Implement extended PaperServerListPingEvent diff --git a/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java new file mode 100644 -index 0000000000..c1a8e295b6 +index 000000000..c1a8e295b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java @@ -0,0 +1,31 @@ @@ -43,7 +43,7 @@ index 0000000000..c1a8e295b6 +} diff --git a/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java new file mode 100644 -index 0000000000..a2a409e635 +index 000000000..a2a409e63 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java @@ -0,0 +1,11 @@ @@ -60,7 +60,7 @@ index 0000000000..a2a409e635 +} diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java new file mode 100644 -index 0000000000..a85466bc7e +index 000000000..a85466bc7 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java @@ -0,0 +1,112 @@ @@ -177,7 +177,7 @@ index 0000000000..a85466bc7e + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6276833474..f768e116bd 100644 +index 798bf3521..46b3fcf07 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,6 +1,9 @@ @@ -190,7 +190,7 @@ index 6276833474..f768e116bd 100644 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.gson.JsonElement; -@@ -1059,7 +1062,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 5000000000L) { this.Z = i; this.serverPing.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.getMaxPlayers(), this.getPlayerCount())); @@ -200,7 +200,7 @@ index 6276833474..f768e116bd 100644 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 2b08f285d1..295c9ac22d 100644 +index 2b08f285d..295c9ac22 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 { @@ -223,7 +223,7 @@ index 2b08f285d1..295c9ac22d 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index aa125a52dc..ea52e89bd9 100644 +index aa125a52d..ea52e89bd 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -29,6 +29,7 @@ public class ServerPing { @@ -248,7 +248,7 @@ index aa125a52dc..ea52e89bd9 100644 this.c = agameprofile; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index bd601333ee..6c5430ff94 100644 +index bd601333e..6c5430ff9 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -290,7 +290,7 @@ public class SpigotConfig diff --git a/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch index bcdffde1e..002206664 100644 --- a/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch @@ -1,14 +1,14 @@ -From 7e1cf3d55185e302e284541bccbd6be873a9c62f Mon Sep 17 00:00:00 2001 +From a45f7597a04a99fe14cb4b041ddbbb720c6c8655 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 1 Apr 2018 02:29:37 +0300 Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 4d9125c226..308f6fd5d7 100644 +index 6cce1928a..2f24b52dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -763,4 +763,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -764,4 +764,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { entity.remove(); } } diff --git a/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch index c3ab1a2cc..95424f587 100644 --- a/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 10adafc83cafff0ee6f55d01991eb2b544412b40 Mon Sep 17 00:00:00 2001 +From 77af93a647ee680f0a25d0d1f3fb9da25a50162b Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -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 78d5cf4738..8ede95a0b6 100644 +index 73c4fa2a4..18abad9d8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -52,7 +52,7 @@ public class WorldServer extends World { @@ -22,7 +22,7 @@ index 78d5cf4738..8ede95a0b6 100644 boolean tickingEntities; private final MinecraftServer server; private final WorldNBTStorage dataManager; -@@ -1329,12 +1329,17 @@ public class WorldServer extends World { +@@ -1330,12 +1330,17 @@ public class WorldServer extends World { } public int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) { @@ -43,10 +43,10 @@ index 78d5cf4738..8ede95a0b6 100644 if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ac680a6a78..c3dffc1e44 100644 +index 72e54b08e..3ef989346 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2161,11 +2161,17 @@ public class CraftWorld implements World { +@@ -2163,11 +2163,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch index 3914a64dd..08e0b4445 100644 --- a/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From caf172832352a28c0bf4d34e9729e72fe410f977 Mon Sep 17 00:00:00 2001 +From b3ac49835faaa81cda96aa6a80a69d854368a5e4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index bae1cd65d0..d2b228d0a8 100644 +index 8bec59b8f..7d6a2e8d5 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -164,7 +164,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -34,7 +34,7 @@ index bae1cd65d0..d2b228d0a8 100644 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 5d659d626b..c48ac7a482 100644 +index fc9899037..dcd48d8b3 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -362,7 +362,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -46,7 +46,7 @@ index 5d659d626b..c48ac7a482 100644 this.activeContainer = this.defaultContainer; } -@@ -537,7 +537,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -536,7 +536,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 5d659d626b..c48ac7a482 100644 } String deathMessage = event.getDeathMessage(); -@@ -1059,7 +1059,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1058,7 +1058,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return OptionalInt.empty(); } else { if (this.activeContainer != this.defaultContainer) { @@ -64,7 +64,7 @@ index 5d659d626b..c48ac7a482 100644 } this.nextContainerCounter(); -@@ -1112,7 +1112,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1111,7 +1111,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end if (this.activeContainer != this.defaultContainer) { @@ -73,7 +73,7 @@ index 5d659d626b..c48ac7a482 100644 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1176,7 +1176,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1175,7 +1175,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void closeInventory() { @@ -88,7 +88,7 @@ index 5d659d626b..c48ac7a482 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 89beac63aa..b9793d4cc6 100644 +index 89beac63a..b9793d4cc 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2025,7 +2025,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -101,7 +101,7 @@ index 89beac63aa..b9793d4cc6 100644 this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index a167843bfb..9e5cd22d7d 100644 +index a167843bf..9e5cd22d7 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -402,7 +402,7 @@ public abstract class PlayerList { @@ -114,7 +114,7 @@ index a167843bfb..9e5cd22d7d 100644 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 8ede95a0b6..cd4cb9616c 100644 +index 18abad9d8..a607c819c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -987,7 +987,7 @@ public class WorldServer extends World { @@ -136,10 +136,10 @@ index 8ede95a0b6..cd4cb9616c 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 308f6fd5d7..f54f895909 100644 +index 2f24b52dd..92c7449b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -618,8 +618,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -619,8 +619,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void closeInventory() { @@ -155,7 +155,7 @@ index 308f6fd5d7..f54f895909 100644 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2bba7f359d..39285c92c4 100644 +index e610c8aae..ce35e6bbc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -781,7 +781,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -168,7 +168,7 @@ index 2bba7f359d..39285c92c4 100644 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9e6ad82ba5..e84df5dd4e 100644 +index 9e6ad82ba..e84df5dd4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1259,8 +1259,19 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index ccbc4c361..40a6f8e6c 100644 --- a/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From 9b93fc0dd61ee4f91577b0ceee341de42e7bcf1b Mon Sep 17 00:00:00 2001 +From be784e43b2526bf7a73473e1b90210a51f1f877c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -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 6ada923797..9241874139 100644 +index 6ada92379..924187413 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -19,7 +19,7 @@ index 6ada923797..9241874139 100644 if (bukkitEntity == null) { bukkitEntity = CraftEntity.getEntity(world.getServer(), this); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ce13b91f66..16acacc3ec 100644 +index e6c55d87b..6379d2d84 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1014,6 +1014,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -40,7 +40,7 @@ index ce13b91f66..16acacc3ec 100644 protected void g() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e780f7af40..627fec10a8 100644 +index e780f7af4..627fec10a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -68,6 +68,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -52,7 +52,7 @@ index e780f7af40..627fec10a8 100644 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 895d9ccac8..14dde107ac 100644 +index dc258e3b2..b11604957 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -72,6 +72,9 @@ public class WorldServer extends World { @@ -66,7 +66,7 @@ index 895d9ccac8..14dde107ac 100644 // Add env and gen to constructor public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) { @@ -936,6 +939,12 @@ public class WorldServer extends World { - org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot + org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper if (entity.dead) { + // Paper start @@ -78,7 +78,7 @@ index 895d9ccac8..14dde107ac 100644 // WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit return false; } else if (this.isUUIDTaken(entity)) { -@@ -1099,7 +1108,24 @@ public class WorldServer extends World { +@@ -1101,7 +1110,24 @@ public class WorldServer extends World { } } diff --git a/Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch index 1722c9ba9..26a77524d 100644 --- a/Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From a680062d33a9e21c10228f994cf97c7a47dd1adb Mon Sep 17 00:00:00 2001 +From c1497231a38c361881fcc0d0be1f27fc5d945dea Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -11,7 +11,7 @@ This will ensure that dead entities are skipped from iteration since they shouldn't of been in the list in the first place. diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 360abc05e4..391726d99c 100644 +index 360abc05e..391726d99 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -176,6 +176,7 @@ public class PaperCommand extends Command { @@ -23,7 +23,7 @@ index 360abc05e4..391726d99c 100644 MutablePair> 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/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a74e389d14..09e010e670 100644 +index a74e389d1..09e010e67 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -678,6 +678,7 @@ public class Chunk implements IChunkAccess { @@ -51,7 +51,7 @@ index a74e389d14..09e010e670 100644 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 701090c11e..7d579c119b 100644 +index 701090c11..7d579c119 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -126,6 +126,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,7 +63,7 @@ index 701090c11e..7d579c119b 100644 private float av; private float aw; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 14dde107ac..7efc39df7d 100644 +index b11604957..4b7104927 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -845,7 +845,7 @@ public class WorldServer extends World { @@ -75,7 +75,7 @@ index 14dde107ac..7efc39df7d 100644 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; -@@ -1136,6 +1136,7 @@ public class WorldServer extends World { +@@ -1138,6 +1138,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -83,7 +83,7 @@ index 14dde107ac..7efc39df7d 100644 new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid } -@@ -1150,6 +1151,7 @@ public class WorldServer extends World { +@@ -1151,6 +1152,7 @@ public class WorldServer extends World { this.removeEntityFromChunk(entity); this.entitiesById.remove(entity.getId()); this.unregisterEntity(entity); @@ -92,7 +92,7 @@ index 14dde107ac..7efc39df7d 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0c190e5f49..ddfb39ef6f 100644 +index 62240fbf9..a4df908bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -931,6 +931,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch index 7c9833b56..0c88fceab 100644 --- a/Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch @@ -1,4 +1,4 @@ -From 8cc7127cdb6e25d9203312019470e428ba99951d Mon Sep 17 00:00:00 2001 +From e220aec9f0be7078d01e47a707f639aff5147bad Mon Sep 17 00:00:00 2001 From: miclebrick Date: Wed, 8 Aug 2018 15:30:52 -0400 Subject: [PATCH] Add Early Warning Feature to WatchDog @@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash. This will help diagnose what was going on in that time before the crash. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 207e5d3e23..a13c8c68b6 100644 +index 207e5d3e2..a13c8c68b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -25,6 +25,7 @@ import org.bukkit.configuration.file.YamlConfiguration; @@ -36,10 +36,10 @@ index 207e5d3e23..a13c8c68b6 100644 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 f768e116bd..ec35d98cc5 100644 +index 46b3fcf07..e99e698c4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -862,6 +862,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Wed, 15 Aug 2018 01:26:09 -0700 Subject: [PATCH] Allow disabling armour stand ticking diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 09607fb447..5832c3e868 100644 +index 09607fb44..5832c3e86 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -386,4 +386,10 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index 09607fb447..5832c3e868 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 961e284712..b71d061a37 100644 +index 9e7b4f6fe..627925e3b 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,11 @@ public class EntityArmorStand extends EntityLiving { @@ -101,7 +101,7 @@ index 961e284712..b71d061a37 100644 Vector3f vector3f = (Vector3f) this.datawatcher.get(EntityArmorStand.c); if (!this.headPose.equals(vector3f)) { -@@ -700,31 +735,37 @@ public class EntityArmorStand extends EntityLiving { +@@ -707,31 +742,37 @@ public class EntityArmorStand extends EntityLiving { public void setHeadPose(Vector3f vector3f) { this.headPose = vector3f; this.datawatcher.set(EntityArmorStand.c, vector3f); @@ -140,7 +140,7 @@ index 961e284712..b71d061a37 100644 public Vector3f r() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b29e0c5d35..2cbcd1e17b 100644 +index 29eace446..2f293aa83 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2265,52 +2265,7 @@ public abstract class EntityLiving extends Entity { @@ -256,7 +256,7 @@ index b29e0c5d35..2cbcd1e17b 100644 float f2 = MathHelper.g(f - this.aK); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 9f5c3b92e3..07ce93f17c 100644 +index 9f5c3b92e..07ce93f17 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -297,5 +297,15 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch index e642a2b84..aeabf46f3 100644 --- a/Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,11 +1,11 @@ -From 4b9d753ac8b8210f60a8cc870946e609acd92f78 Mon Sep 17 00:00:00 2001 +From 636d42b7fd0f59ebb3a211c26f1b2c060ce6f7f5 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 9e5cd22d7d..049d702cb9 100644 +index 9e5cd22d7..049d702cb 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -922,8 +922,25 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index 9e5cd22d7d..049d702cb9 100644 double d5 = d1 - entityplayer.locY; double d6 = d2 - entityplayer.locZ; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7efc39df7d..0c1eff6618 100644 +index 4b7104927..d8d4da7d1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1184,7 +1184,7 @@ public class WorldServer extends World { +@@ -1185,7 +1185,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); @@ -58,7 +58,7 @@ index 7efc39df7d..0c1eff6618 100644 } @Override -@@ -1316,7 +1316,7 @@ public class WorldServer extends World { +@@ -1317,7 +1317,7 @@ public class WorldServer extends World { BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst(); if (this.a(blockactiondata)) { @@ -68,10 +68,10 @@ index 7efc39df7d..0c1eff6618 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ddfb39ef6f..bda6d073ba 100644 +index a4df908bb..9a7b0076f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1996,7 +1996,7 @@ public class CraftWorld implements World { +@@ -1998,7 +1998,7 @@ public class CraftWorld implements World { double z = loc.getZ(); PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch); diff --git a/Spigot-Server-Patches/0288-Optimize-Hoppers.patch b/Spigot-Server-Patches/0288-Optimize-Hoppers.patch index 488eb5753..5aae109b8 100644 --- a/Spigot-Server-Patches/0288-Optimize-Hoppers.patch +++ b/Spigot-Server-Patches/0288-Optimize-Hoppers.patch @@ -1,4 +1,4 @@ -From c85986c672039323f2fd7f2b7837252cf7d3ac78 Mon Sep 17 00:00:00 2001 +From 5b801e3c5edad18b68fec16407515dc6c6b942b7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Apr 2016 22:09:52 -0400 Subject: [PATCH] Optimize Hoppers @@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers * Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5832c3e868..ede558d029 100644 +index 5832c3e86..ede558d02 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -355,6 +355,15 @@ public class PaperWorldConfig { @@ -31,7 +31,7 @@ index 5832c3e868..ede558d029 100644 private void disableSprintInterruptionOnAttack() { disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index c69a067ef1..1e23d77e72 100644 +index c69a067ef..1e23d77e7 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -482,8 +482,9 @@ public final class ItemStack { @@ -47,10 +47,10 @@ index c69a067ef1..1e23d77e72 100644 itemstack.d(this.C()); if (this.tag != null) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ec35d98cc5..8b08ebb7d5 100644 +index e99e698c4..cd80d2a56 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1139,6 +1139,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0; // Paper @@ -59,7 +59,7 @@ index ec35d98cc5..8b08ebb7d5 100644 this.methodProfiler.a(() -> { return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager()); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index c72b013868..b8ddb99fa3 100644 +index c72b01386..b8ddb99fa 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -62,6 +62,7 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -79,7 +79,7 @@ index c72b013868..b8ddb99fa3 100644 this.world.b(this.position, this); if (!this.c.isAir()) { diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index 1ba98bf736..6f6519f6c5 100644 +index 1ba98bf73..6f6519f6c 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -189,6 +189,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi diff --git a/Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index f8d44b782..c8a4f1024 100644 --- a/Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -1,4 +1,4 @@ -From 010bf3d3e699b581955bd0f4bafd418c06d4033b Mon Sep 17 00:00:00 2001 +From 5ded262f63d602ec63e363e0f3a3a179aa32df13 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 2 Sep 2018 19:34:33 -0700 Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted @@ -6,15 +6,15 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index bda6d073ba..51bc40c014 100644 +index 9a7b0076f..12ee5926e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -483,7 +483,7 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { - org.spigotmc.AsyncCatcher.catchOp( "chunk load"); // Spigot + org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot - IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, generate ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); -+ IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); ++ IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper // If generate = false, but the chunk already exists, we will get this back. if (chunk instanceof ProtoChunkExtension) { diff --git a/Spigot-Server-Patches/0300-Improve-death-events.patch b/Spigot-Server-Patches/0300-Improve-death-events.patch index 1be415d7a..4b5776418 100644 --- a/Spigot-Server-Patches/0300-Improve-death-events.patch +++ b/Spigot-Server-Patches/0300-Improve-death-events.patch @@ -1,4 +1,4 @@ -From 7bae477a24119ee6ea2af1be25fedd4f35b7c545 Mon Sep 17 00:00:00 2001 +From 593076157c4f7c39906101196b55863615794d3d Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 21 Aug 2018 01:39:35 +0100 Subject: [PATCH] Improve death events @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java -index 84c3ea9d00..f563a7b630 100644 +index 84c3ea9d0..f563a7b63 100644 --- a/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java @@ -175,6 +175,7 @@ public class CombatTracker { @@ -27,7 +27,7 @@ index 84c3ea9d00..f563a7b630 100644 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 7811beb807..f9b097fd6f 100644 +index 7811beb80..f9b097fd6 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1517,6 +1517,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -47,10 +47,10 @@ index 7811beb807..f9b097fd6f 100644 protected void i(double d0, double d1, double d2) { diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index b71d061a37..cd21cfba9f 100644 +index 627925e3b..e516db270 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -676,7 +676,8 @@ public class EntityArmorStand extends EntityLiving { +@@ -683,7 +683,8 @@ public class EntityArmorStand extends EntityLiving { @Override public void killEntity() { @@ -61,7 +61,7 @@ index b71d061a37..cd21cfba9f 100644 } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 85231309fd..1da2f013fc 100644 +index 85231309f..1da2f013f 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -597,15 +597,25 @@ public class EntityFox extends EntityAnimal { @@ -94,7 +94,7 @@ index 85231309fd..1da2f013fc 100644 public static boolean a(EntityFox entityfox, EntityLiving entityliving) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 6ed473c656..97a5df2549 100644 +index edc25586a..37ff76486 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -85,7 +85,7 @@ public abstract class EntityLiving extends Entity { @@ -233,7 +233,7 @@ index 6ed473c656..97a5df2549 100644 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 c48ac7a482..88b61e7719 100644 +index dcd48d8b3..d7bc6e329 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -247,7 +247,7 @@ index c48ac7a482..88b61e7719 100644 // CraftBukkit start public String displayName; -@@ -534,6 +538,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -533,6 +537,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { String deathmessage = defaultMessage.getString(); org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory); @@ -263,7 +263,7 @@ index c48ac7a482..88b61e7719 100644 // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { -@@ -687,8 +700,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -686,8 +699,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } } @@ -284,7 +284,7 @@ index c48ac7a482..88b61e7719 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 73cb64e09d..9f317ff2e8 100644 +index 73cb64e09..9f317ff2e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java @@ -806,6 +806,22 @@ public enum CraftSound { @@ -311,7 +311,7 @@ index 73cb64e09d..9f317ff2e8 100644 this.minecraftKey = minecraftKey; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 23897f8ca0..3d60e98749 100644 +index 2c99a1e9d..e9458dc65 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1722,7 +1722,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -332,7 +332,7 @@ index 23897f8ca0..3d60e98749 100644 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 02536db14a..22aa4767f9 100644 +index 02536db14..22aa4767f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -736,9 +736,16 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0310-Optimize-Server-World-Map.patch b/Spigot-Server-Patches/0310-Optimize-Server-World-Map.patch index 6e4d3346a..590065a59 100644 --- a/Spigot-Server-Patches/0310-Optimize-Server-World-Map.patch +++ b/Spigot-Server-Patches/0310-Optimize-Server-World-Map.patch @@ -1,4 +1,4 @@ -From ac9cf9a063a907387b12a3d0625f187020bcee93 Mon Sep 17 00:00:00 2001 +From 20f83dd15b487d2c37dd45bc8bb3906242f3073d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Sep 2018 23:37:31 -0400 Subject: [PATCH] Optimize Server World Map @@ -21,7 +21,7 @@ known NMS used methods, but we can add more if naughty plugins are found later. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldMap.java b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java new file mode 100644 -index 0000000000..6bb2f98b45 +index 000000000..6bb2f98b4 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java @@ -0,0 +1,191 @@ @@ -217,7 +217,7 @@ index 0000000000..6bb2f98b45 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ab72e5cd36..64411e701f 100644 +index 150f19024..f6a979a5b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -88,7 +88,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 14 Sep 2018 17:42:08 +0200 Subject: [PATCH] Limit lightning strike effect distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7e031d18e0..63f313a92d 100644 +index 7e031d18e..63f313a92 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -234,6 +234,28 @@ public class PaperWorldConfig { @@ -38,7 +38,7 @@ index 7e031d18e0..63f313a92d 100644 public int fixedInhabitedTime; private void fixedInhabitedTime() { diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java -index 2ceee79cf2..27bf271bb5 100644 +index 2ceee79cf..27bf271bb 100644 --- a/src/main/java/net/minecraft/server/EntityLightning.java +++ b/src/main/java/net/minecraft/server/EntityLightning.java @@ -64,6 +64,17 @@ public class EntityLightning extends Entity { @@ -69,10 +69,10 @@ index 2ceee79cf2..27bf271bb5 100644 --this.lifeTicks; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0c1eff6618..fd878801b3 100644 +index d8d4da7d1..dd9b9cbfa 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1184,7 +1184,7 @@ public class WorldServer extends World { +@@ -1185,7 +1185,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); diff --git a/Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch b/Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch index 056434c75..237d38b7c 100644 --- a/Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch +++ b/Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch @@ -1,11 +1,11 @@ -From 3ebb235b21e01c1e7c81e9fc2e07044d45c37299 Mon Sep 17 00:00:00 2001 +From 8056f68d64f872c38de30c74d87b31f8baec1f36 Mon Sep 17 00:00:00 2001 From: Caleb Bassham Date: Fri, 28 Sep 2018 02:32:19 -0500 Subject: [PATCH] Call player spectator target events diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 88b61e7719..709ec9625e 100644 +index d7bc6e329..0ef57535e 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 { @@ -17,7 +17,7 @@ index 88b61e7719..709ec9625e 100644 public boolean worldChangeInvuln; private boolean cp; private void setHasSeenCredits(boolean has) { this.cp = has; } // Paper - OBFHELPER private final RecipeBookServer recipeBook; -@@ -1575,15 +1575,35 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1574,15 +1574,35 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return (Entity) (this.spectatedEntity == null ? this : this.spectatedEntity); } diff --git a/Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch index 4d6910f2a..de447d985 100644 --- a/Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch @@ -1,11 +1,11 @@ -From f0b9e05a2e55e9552f9e32b2818bcee2a0ee20dd Mon Sep 17 00:00:00 2001 +From a6b43f8f267090c95b2ab702b8328cfded060584 Mon Sep 17 00:00:00 2001 From: GreenMeanie Date: Sat, 20 Oct 2018 22:34:02 -0400 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 4833a9652a..19bbcc043f 100644 +index 4833a9652..19bbcc043 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2323,6 +2323,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -17,10 +17,10 @@ index 4833a9652a..19bbcc043f 100644 return 300; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 709ec9625e..ce585a1774 100644 +index 0ef57535e..965f1c279 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1863,6 +1863,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1862,6 +1862,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } this.setHealth(this.getMaxHealth()); diff --git a/Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch b/Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch index 0c286a32a..4bcc65af1 100644 --- a/Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch +++ b/Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch @@ -1,4 +1,4 @@ -From 77948c3cd158e638e53bfee0a823c89dff1c6f6f Mon Sep 17 00:00:00 2001 +From 00ff72f7dcdf3fa0d12681e7491bd52c59798c9d Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 2 Nov 2018 23:11:51 -0400 Subject: [PATCH] Optimize World Time Updates @@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet object for every player unless they have per-player time enabled. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 64411e701f..3cc7672621 100644 +index f6a979a5b..c92586ccd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1126,12 +1126,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 15 Nov 2018 13:38:37 +0000 Subject: [PATCH] force entity dismount during teleportation @@ -20,7 +20,7 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 19bbcc043f..75da085969 100644 +index 19bbcc043..75da08596 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2045,12 +2045,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -72,7 +72,7 @@ index 19bbcc043f..75da085969 100644 if (event.isCancelled()) { return false; diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 598df2239b..d81d11d570 100644 +index 8887c24a9..5d3e48ba6 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -952,9 +952,11 @@ public abstract class EntityHuman extends EntityLiving { @@ -91,7 +91,7 @@ index 598df2239b..d81d11d570 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 52bde422b8..192a9a86d1 100644 +index 37ff76486..93ee1feb9 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2669,11 +2669,13 @@ public abstract class EntityLiving extends Entity { @@ -112,10 +112,10 @@ index 52bde422b8..192a9a86d1 100644 this.B(entity); } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ce585a1774..d3886a6e04 100644 +index 965f1c279..0a6fdd383 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1003,11 +1003,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1002,11 +1002,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } diff --git a/Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 4b4578c31..7b7b091f5 100644 --- a/Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -1,14 +1,14 @@ -From 5acc68c089999360bd54db52b7ba91452319600c Mon Sep 17 00:00:00 2001 +From 1e454ceca6edabaa552b773433802acbef6040cb Mon Sep 17 00:00:00 2001 From: connorhartley Date: Mon, 7 Jan 2019 14:43:48 -0600 Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 2d4021784f..296d6cb1ce 100644 +index 75fddac7d..a191d6246 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1286,6 +1286,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1285,6 +1285,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public void n() { this.ct = true; this.ejectPassengers(); diff --git a/Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch index 490b3f46a..225f6de3e 100644 --- a/Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch @@ -1,4 +1,4 @@ -From c12e1a7c9bfb513528472d0850042afa191da2a9 Mon Sep 17 00:00:00 2001 +From d645aa23e5fb7ff50296281746d8c99a85166a56 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 00:24:52 -0400 Subject: [PATCH] Entity#getEntitySpawnReason @@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 046e7e031c..f87514a200 100644 +index 046e7e031..f87514a20 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -68,6 +68,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -59,7 +59,7 @@ index 046e7e031c..f87514a200 100644 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 65df0e7c8c..abddc8895e 100644 +index 65df0e7c8..abddc8895 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -250,7 +250,7 @@ public abstract class PlayerList { @@ -72,19 +72,19 @@ index 65df0e7c8c..abddc8895e 100644 }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index fd878801b3..3734613efe 100644 +index dd9b9cbfa..1745a164b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -937,6 +937,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { - org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot + org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot + if (entity.spawnReason == null) entity.spawnReason = spawnReason; // Paper if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper if (entity.dead) { // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 1cd3448e57..15042943c9 100644 +index 1cd3448e5..15042943c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1053,5 +1053,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0372-Server-Tick-Events.patch b/Spigot-Server-Patches/0372-Server-Tick-Events.patch index c3e03acd3..7e149d7be 100644 --- a/Spigot-Server-Patches/0372-Server-Tick-Events.patch +++ b/Spigot-Server-Patches/0372-Server-Tick-Events.patch @@ -1,4 +1,4 @@ -From 613197e5b056474a4223329b85423ccec4bec422 Mon Sep 17 00:00:00 2001 +From 7ac59fdac9af57bab449c5d23341bdd924acad2c Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Mar 2019 22:48:45 -0400 Subject: [PATCH] Server Tick Events @@ -6,10 +6,10 @@ Subject: [PATCH] Server Tick Events Fires event at start and end of a server tick diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3cc7672621..05c23a2d98 100644 +index c92586ccd..73b8f7f99 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1056,6 +1056,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Wed, 27 Mar 2019 23:01:33 -0400 Subject: [PATCH] PlayerDeathEvent#getItemsToKeep @@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 296d6cb1ce..89a4f435b7 100644 +index a191d6246..18695d9b5 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -510,6 +510,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -58,7 +58,7 @@ index 296d6cb1ce..89a4f435b7 100644 @Override public void die(DamageSource damagesource) { boolean flag = this.world.getGameRules().getBoolean(GameRules.SHOW_DEATH_MESSAGES); -@@ -595,7 +635,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -594,7 +634,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.releaseShoulderEntities(); // we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory. if (!event.getKeepInventory()) { diff --git a/Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch b/Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch index 260611a0c..7df0c709e 100644 --- a/Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch +++ b/Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch @@ -1,4 +1,4 @@ -From 5a8f0a208f432c4c2c7b546d2d66a8e3afbf2df3 Mon Sep 17 00:00:00 2001 +From d33e8cd67df7477d532be49dfc07c136c162a375 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 6 May 2019 12:29:24 -0700 Subject: [PATCH] Async Chunk placeholder @@ -6,7 +6,7 @@ Subject: [PATCH] Async Chunk placeholder Until we figure out Mojang's ticket system. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d5ef409efb..cbe9d5628e 100644 +index d114c471e..20c370cf2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -18,6 +18,7 @@ import java.util.Objects; @@ -17,7 +17,7 @@ index d5ef409efb..cbe9d5628e 100644 import java.util.function.Predicate; import it.unimi.dsi.fastutil.longs.Long2ObjectMap; import it.unimi.dsi.fastutil.objects.ObjectSortedSet; -@@ -2241,6 +2242,40 @@ public class CraftWorld implements World { +@@ -2243,6 +2244,40 @@ public class CraftWorld implements World { return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); } diff --git a/Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch index ccb65ca56..b4fed9a22 100644 --- a/Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch +++ b/Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch @@ -1,4 +1,4 @@ -From b18e14a114adf969b79ea6f4dfa23096b31ed703 Mon Sep 17 00:00:00 2001 +From 870c1db2cc3d04de45598077f3a7bb49f9d36b8a Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Sat, 27 Apr 2019 20:00:43 +0100 Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) @@ -6,10 +6,10 @@ Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) This also fixes the adding sound playing when the item frame direction is changed. diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java -index 9eaf57d2c9..50ca7b9d26 100644 +index 6f6837ec4..b078435c6 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java -@@ -211,7 +211,7 @@ public class EntityItemFrame extends EntityHanging { +@@ -226,7 +226,7 @@ public class EntityItemFrame extends EntityHanging { } this.getDataWatcher().set(EntityItemFrame.ITEM, itemstack); @@ -19,7 +19,7 @@ index 9eaf57d2c9..50ca7b9d26 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java -index 799036f268..9ad180d946 100644 +index 799036f26..9ad180d94 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java @@ -49,7 +49,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame { diff --git a/Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index 94a4632fc..f5106bbac 100644 --- a/Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -1,4 +1,4 @@ -From efc61188cf97b3a6768c9fe6bc0b4b6be8e2187d Mon Sep 17 00:00:00 2001 +From 30c564dca4603c19c2004c69264971786212f47c Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 13 May 2019 21:10:59 -0700 Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer @@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled synchronously when the server gets shut down. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b2a9fe30d5..8903986ede 100644 +index 105aa4c46..200df602a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2151,7 +2151,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 91c809b7ce..d8bb13693d 100644 +index 91c809b7c..d8bb13693 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -444,4 +444,43 @@ public class PaperWorldConfig { @@ -81,7 +81,7 @@ index 91c809b7ce..d8bb13693d 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 09e010e670..ee8f801745 100644 +index 09e010e67..ee8f80174 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -397,6 +397,7 @@ public class Chunk implements IChunkAccess { @@ -93,7 +93,7 @@ index 09e010e670..ee8f801745 100644 int k = MathHelper.floor(entity.locY / 16.0D); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f87514a200..55c73ffcaa 100644 +index f87514a20..55c73ffca 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2728,6 +2728,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -105,7 +105,7 @@ index f87514a200..55c73ffcaa 100644 this.uniqueID = uuid; this.ap = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 16acacc3ec..8470bf693d 100644 +index 6379d2d84..67d011745 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,6 +1,7 @@ @@ -196,7 +196,7 @@ index 16acacc3ec..8470bf693d 100644 if (list != null) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index e37285e791..cb1abd9dbd 100644 +index c01984dca..2a9ceacaf 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -234,7 +234,7 @@ index e37285e791..cb1abd9dbd 100644 return true; } } -@@ -1114,7 +1131,7 @@ public class WorldServer extends World { +@@ -1116,7 +1133,7 @@ public class WorldServer extends World { } Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); diff --git a/Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 0e249f080..890c842c2 100644 --- a/Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 8a9ca886ecd5f7edc233bb2587071a8806c4920e Mon Sep 17 00:00:00 2001 +From f4ac025c6de88b7e2536490ab7f2c624c2268e96 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index d8bb13693d..de11a91af6 100644 +index d8bb13693..de11a91af 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -483,4 +483,10 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index d8bb13693d..de11a91af6 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8903986ede..0ddde54c82 100644 +index 200df602a..98c2694a2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -579,6 +579,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 24 May 2019 07:53:16 +0100 Subject: [PATCH] Fix some generation concurrency issues diff --git a/src/main/java/net/minecraft/server/DefinedStructureManager.java b/src/main/java/net/minecraft/server/DefinedStructureManager.java -index 8ecbd945c2..fec41a142f 100644 +index 8ecbd945c..fec41a142 100644 --- a/src/main/java/net/minecraft/server/DefinedStructureManager.java +++ b/src/main/java/net/minecraft/server/DefinedStructureManager.java @@ -20,7 +20,7 @@ import org.apache.logging.log4j.Logger; @@ -18,7 +18,7 @@ index 8ecbd945c2..fec41a142f 100644 private final MinecraftServer d; private final java.nio.file.Path e; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e3b4e30e65..10c149faec 100644 +index e3b4e30e6..10c149fae 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -101,6 +101,23 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -46,7 +46,7 @@ index e3b4e30e65..10c149faec 100644 public CraftWorld getWorld() { return this.world; diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java -index eca27e52e9..fb3463fcce 100644 +index ddf726867..c2188ceef 100644 --- a/src/main/java/net/minecraft/server/WorldGenStronghold.java +++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java @@ -10,10 +10,12 @@ import javax.annotation.Nullable; @@ -108,7 +108,7 @@ index eca27e52e9..fb3463fcce 100644 + @Nullable @Override - public BlockPosition getNearestGeneratedFeature(World world, ChunkGenerator chunkgenerator, BlockPosition blockposition, int i, boolean flag) { + public synchronized BlockPosition getNearestGeneratedFeature(World world, ChunkGenerator chunkgenerator, BlockPosition blockposition, int i, boolean flag) { // CraftBukkit - synchronized if (!chunkgenerator.getWorldChunkManager().a(this)) { return null; } else { diff --git a/Spigot-Server-Patches/0396-incremental-chunk-saving.patch b/Spigot-Server-Patches/0396-incremental-chunk-saving.patch index 1a895b998..0f0aa5685 100644 --- a/Spigot-Server-Patches/0396-incremental-chunk-saving.patch +++ b/Spigot-Server-Patches/0396-incremental-chunk-saving.patch @@ -1,11 +1,11 @@ -From 54c14fc847a4238450ca711b98d666628126a3f9 Mon Sep 17 00:00:00 2001 +From aec6947ae80ea5c923fc0f5a6984f036ff965b2a Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 9 Jun 2019 03:53:22 +0100 Subject: [PATCH] incremental chunk saving diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index de11a91af6..4d3c6c6b47 100644 +index de11a91af..4d3c6c6b4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -489,4 +489,19 @@ public class PaperWorldConfig { @@ -29,7 +29,7 @@ index de11a91af6..4d3c6c6b47 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ee8f801745..2003522d96 100644 +index ee8f80174..2003522d9 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess { @@ -42,7 +42,7 @@ index ee8f801745..2003522d96 100644 private long t; @Nullable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0ddde54c82..eb1006dda7 100644 +index 98c2694a2..e9a497359 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -165,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 60bd3a63e7..0911880c9d 100644 +index 493770bf6..17eee15b2 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -325,15 +325,32 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -126,7 +126,7 @@ index 60bd3a63e7..0911880c9d 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 806ee8fda1..b7d536ff0e 100644 +index a98e2613a..20894e549 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -754,8 +754,9 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch index 14f629dcf..9520ec7b7 100644 --- a/Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch +++ b/Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch @@ -1,4 +1,4 @@ -From 25add0dd2435b00018bd7e90a9ffead534b7ac53 Mon Sep 17 00:00:00 2001 +From a5e4705a4175deaaf735ad7d7400376cfb27339e Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 15 Jun 2019 08:54:33 -0700 Subject: [PATCH] Fix World#isChunkGenerated calls @@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that its only purpose is to cache the status on DISK) diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 220cd197fa..775b5f7fe3 100644 +index 220cd197f..775b5f7fe 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -28,7 +28,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -58,7 +58,7 @@ index 220cd197fa..775b5f7fe3 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index e778c2e857..73f93e4948 100644 +index e778c2e85..73f93e494 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -410,6 +410,17 @@ public class ChunkRegionLoader { @@ -80,7 +80,7 @@ index e778c2e857..73f93e4948 100644 if (nbttagcompound != null) { ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status")); diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index dd1822d6ff..e324989b46 100644 +index dd1822d6f..e324989b4 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -176,6 +176,7 @@ public class ChunkStatus { @@ -110,7 +110,7 @@ index dd1822d6ff..e324989b46 100644 return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s)); } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 14a176d61d..98590e233a 100644 +index 14a176d61..98590e233 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -70,6 +70,19 @@ public class PlayerChunk { @@ -134,7 +134,7 @@ index 14a176d61d..98590e233a 100644 public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 0911880c9d..86fb51b90a 100644 +index 17eee15b2..2032361f8 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -878,11 +878,56 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -197,7 +197,7 @@ index 0911880c9d..86fb51b90a 100644 boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) { // Spigot start diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index b0ec9edf67..41f1e15cb0 100644 +index b0ec9edf6..41f1e15cb 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -31,6 +31,30 @@ public class RegionFile implements AutoCloseable { @@ -256,7 +256,7 @@ index b0ec9edf67..41f1e15cb0 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 6f34d8aea0..d2b3289450 100644 +index 6f34d8aea..d2b328945 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -47,6 +47,12 @@ public abstract class RegionFileCache implements AutoCloseable { @@ -289,7 +289,7 @@ index 6f34d8aea0..d2b3289450 100644 printOversizedLog("ChunkTooLarge even after reduction. Trying in overzealous mode.", regionfile.file, chunkX, chunkZ); // Eek, major fail. We have retry logic, so reduce threshholds and fall back diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index af409010ac..d06716c006 100644 +index acf151a25..a734a87c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -393,8 +393,19 @@ public class CraftWorld implements World { @@ -316,8 +316,8 @@ index af409010ac..d06716c006 100644 @@ -506,20 +517,45 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { - org.spigotmc.AsyncCatcher.catchOp( "chunk load"); // Spigot -- IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); + org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot +- IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper + // Paper start - Optimize this method + ChunkCoordIntPair chunkPos = new ChunkCoordIntPair(x, z); @@ -368,7 +368,7 @@ index af409010ac..d06716c006 100644 } @Override -@@ -2249,21 +2285,40 @@ public class CraftWorld implements World { +@@ -2251,21 +2287,40 @@ public class CraftWorld implements World { // Paper start private Chunk getChunkAtGen(int x, int z, boolean gen) { diff --git a/Spigot-Server-Patches/0405-SPIGOT-5190-Do-not-call-superfluous-EntityCombustEve.patch b/Spigot-Server-Patches/0405-SPIGOT-5190-Do-not-call-superfluous-EntityCombustEve.patch deleted file mode 100644 index 33be56033..000000000 --- a/Spigot-Server-Patches/0405-SPIGOT-5190-Do-not-call-superfluous-EntityCombustEve.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 9379c4d134fbb6a8f16f093a10afc99cb6609a16 Mon Sep 17 00:00:00 2001 -From: Andreas Troelsen -Date: Sat, 20 Jul 2019 19:08:30 -0500 -Subject: [PATCH] SPIGOT-5190: Do not call superfluous EntityCombustEvent - - -diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index d81d11d570..8771fb37da 100644 ---- a/src/main/java/net/minecraft/server/EntityHuman.java -+++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1152,7 +1152,7 @@ public abstract class EntityHuman extends EntityLiving { - org.bukkit.Bukkit.getPluginManager().callEvent(combustEvent); - - if (!combustEvent.isCancelled()) { -- entity.setOnFire(combustEvent.getDuration()); -+ entity.setOnFire(combustEvent.getDuration(), false); // Paper - SPIGOT-5190 - do not trigger event - } - // CraftBukkit end - } --- -2.22.0 - diff --git a/work/Bukkit b/work/Bukkit index f1849e8e8..c987938a6 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit f1849e8e885a2bbde1e7a51193d471789fee782a +Subproject commit c987938a6a8f595cd71e5e8974c28e13db0c4b0b diff --git a/work/CraftBukkit b/work/CraftBukkit index 9c887d4d8..7f33c6a2f 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 9c887d4d8087513244318f2cc6993b19cc1802b7 +Subproject commit 7f33c6a2f583e6a2ff68b460969c9cf12cb5f89f diff --git a/work/Spigot b/work/Spigot index 9de398a17..1981d553d 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 9de398a1706f1378a3d875d12ea16a7d882a808f +Subproject commit 1981d553d1119cd80acb63db4d5612bc16179cb4