From f8fd607e04c42261cb5b79769c751b523b21b93a Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 23 Dec 2019 02:37:47 +0000 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: bbfd13dd Hyperlink 'Events' in raid event package documentation b2095bed SPIGOT-5413: Add TrustedPlayer API for foxes 1bf1f3f4 Block trace methods do not require hash sets abf0cfdc Javadoc improvements per checkstyle c4a2b425 Add TimeSkipEvent CraftBukkit Changes: 817116de SPIGOT-5413: Add TrustedPlayer API for foxes 062680a8 SPIGOT-5467: Calm down bees that cannot exit hive 75fac431 SPIGOT-5472: Spurious warning when using clone command on tile entities 85106731 SPIGOT-5471: Allow empty title/author for books 2d9db47f Add TimeSkipEvent 384225c2 Add thread name to TerminalConsoleWriterThread Spigot Changes: 05bb8bcf Postpone stopping the watchdog until the server is completely stopped 18e2b9be Add package-info.java for Spigot APIs --- ...synchronization-in-MetadataStoreBase.patch | 10 +++--- .../0182-Mob-Spawner-API-Enhancements.patch | 8 ++--- Spigot-Server-Patches/0009-Timings-v2.patch | 26 +++++++------- .../0025-Entity-Origin-API.patch | 12 +++---- .../0034-Disable-thunder.patch | 6 ++-- .../0035-Disable-ice-and-snow.patch | 6 ++-- ...le-spawn-chances-for-skeleton-horses.patch | 6 ++-- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 12 +++---- ...Entity-AddTo-RemoveFrom-World-Events.patch | 8 ++--- ...Remove-unused-World-Tile-Entity-List.patch | 14 ++++---- ...item-frames-performance-and-bug-fixe.patch | 8 ++--- .../0107-Fix-Double-World-Add-issues.patch | 6 ++-- .../0116-Chunk-registration-fixes.patch | 6 ++-- ...rovide-E-TE-Chunk-count-stat-methods.patch | 6 ++-- ...PI-for-Reason-Source-Triggering-play.patch | 6 ++-- ...oleAppender-for-console-improvements.patch | 35 ++++++++++--------- ...ld.spawnParticle-API-and-add-Builder.patch | 12 +++---- ...Item-entities-with-World.spawnEntity.patch | 6 ++-- .../0237-Expand-Explosions-API.patch | 6 ++-- ...1-Implement-World.getEntity-UUID-API.patch | 6 ++-- .../0242-InventoryCloseEvent-Reason-API.patch | 8 ++--- ...nilla-entity-warnings-for-duplicates.patch | 6 ++-- ...ies-option-to-debug-dupe-uuid-issues.patch | 12 +++---- ...ead-Entities-in-entityList-iteration.patch | 26 +++++++------- ...dd-Early-Warning-Feature-to-WatchDog.patch | 19 +++++----- ...ets-from-world-player-list-not-serve.patch | 14 ++++---- ...loadChunk-int-int-false-load-unconve.patch | 6 ++-- .../0311-Add-sun-related-API.patch | 6 ++-- ...mit-lightning-strike-effect-distance.patch | 10 +++--- .../0331-Optimize-redstone-algorithm.patch | 6 ++-- .../0358-Entity-getEntitySpawnReason.patch | 12 +++---- ...-Optimize-Captured-TileEntity-Lookup.patch | 6 ++-- .../0367-Add-Heightmap-API.patch | 8 ++--- ...h-entity-loss-due-to-unloaded-chunks.patch | 8 ++--- .../0374-Duplicate-UUID-Resolve-Option.patch | 8 ++--- ...375-improve-CraftWorld-isChunkLoaded.patch | 6 ++-- ...le-Keep-Spawn-Loaded-range-per-world.patch | 18 +++++----- .../0382-incremental-chunk-saving.patch | 10 +++--- ...384-Fix-World-isChunkGenerated-calls.patch | 8 ++--- ...al-Spawned-mobs-towards-natural-spaw.patch | 8 ++--- ...-being-ticked-when-notifying-navigat.patch | 8 ++--- ...95-Asynchronous-chunk-IO-and-loading.patch | 22 ++++++------ ...etChunkIfLoadedImmediately-in-places.patch | 6 ++-- .../0397-Reduce-sync-loads.patch | 14 ++++---- ...if-we-have-a-custom-Bukkit-generator.patch | 8 ++--- ...ement-optional-per-player-mob-spawns.patch | 26 +++++++------- ...ro-tick-instant-grow-farms-MC-113809.patch | 18 +++++----- ...hanging-entities-that-are-not-ItemFr.patch | 6 ++-- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 51 files changed, 263 insertions(+), 261 deletions(-) diff --git a/Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch b/Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch index 044a2f4ef8..f0b1dcc06b 100644 --- a/Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch +++ b/Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch @@ -1,4 +1,4 @@ -From db3f81a458a83b49003a7a119b920bc5ba79072c Mon Sep 17 00:00:00 2001 +From 05ccd4a953088abcf6c53aa0c838659284e9c092 Mon Sep 17 00:00:00 2001 From: crast Date: Sat, 1 Jun 2013 13:52:30 -0600 Subject: [PATCH] Reduce thread synchronization in MetadataStoreBase @@ -8,7 +8,7 @@ limited synchronized portions to allow much higher concurrency in MetadataStore as well as far less locking, especially on reads diff --git a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java -index 027953499..b3d85d973 100644 +index baf85022..d363d517 100644 --- a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java +++ b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java @@ -12,7 +12,7 @@ import org.bukkit.plugin.Plugin; @@ -56,8 +56,8 @@ index 027953499..b3d85d973 100644 return metadataMap.containsKey(key); } @@ -94,17 +97,18 @@ public abstract class MetadataStoreBase { + * @see MetadataStore#removeMetadata(Object, String, * org.bukkit.plugin.Plugin) - * @throws IllegalArgumentException If plugin is null */ - public synchronized void removeMetadata(@NotNull T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin) { + public void removeMetadata(@NotNull T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin) { // Paper @@ -80,8 +80,8 @@ index 027953499..b3d85d973 100644 } @@ -117,7 +121,7 @@ public abstract class MetadataStoreBase { - * @see MetadataStore#invalidateAll(org.bukkit.plugin.Plugin) * @throws IllegalArgumentException If plugin is null + * @see MetadataStore#invalidateAll(org.bukkit.plugin.Plugin) */ - public synchronized void invalidateAll(@NotNull Plugin owningPlugin) { + public void invalidateAll(@NotNull Plugin owningPlugin) { // Paper @@ -89,5 +89,5 @@ index 027953499..b3d85d973 100644 for (Map values : metadataMap.values()) { if (values.containsKey(owningPlugin)) { -- -2.21.0 +2.24.1 diff --git a/Spigot-API-Patches/0182-Mob-Spawner-API-Enhancements.patch b/Spigot-API-Patches/0182-Mob-Spawner-API-Enhancements.patch index 9904993f37..4f2b1af5eb 100644 --- a/Spigot-API-Patches/0182-Mob-Spawner-API-Enhancements.patch +++ b/Spigot-API-Patches/0182-Mob-Spawner-API-Enhancements.patch @@ -1,15 +1,15 @@ -From 4f177edca5e5517d383f03df45effcf104dd02a0 Mon Sep 17 00:00:00 2001 +From a648fedca90dbada98f8227d22e0c79faa83e2ca Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 19 Apr 2019 12:41:19 -0500 Subject: [PATCH] Mob Spawner API Enhancements diff --git a/src/main/java/org/bukkit/block/CreatureSpawner.java b/src/main/java/org/bukkit/block/CreatureSpawner.java -index e73fb0ef0..2ff0f24d5 100644 +index cb447a4a..35a599eb 100644 --- a/src/main/java/org/bukkit/block/CreatureSpawner.java +++ b/src/main/java/org/bukkit/block/CreatureSpawner.java @@ -199,4 +199,18 @@ public interface CreatureSpawner extends TileState { - * @param spawnRange the new spawn range + * @see #getSpawnRange() */ public void setSpawnRange(int spawnRange); + @@ -28,5 +28,5 @@ index e73fb0ef0..2ff0f24d5 100644 + // Paper end } -- -2.21.0 +2.24.1 diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 3118709ad4..8aa5e400fc 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 12ab0732e7d8d1f9effeeaa572a87794c57b2a21 Mon Sep 17 00:00:00 2001 +From 5419b6ac533ce107f58d0454a61e119fe9e522ca Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -768,7 +768,7 @@ index 138bc38e6..906ca1bfa 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0d78187ae..490de37b6 100644 +index a389fb5df..49c0764f1 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; @@ -1201,7 +1201,7 @@ index 820180ab3..fa6400dcc 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 3122a02ab..a88ca336d 100644 +index 9f0fce400..f1860809c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -1256,7 +1256,7 @@ index 3122a02ab..a88ca336d 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 ecb356013..e4eee465a 100644 +index c9646ebf7..924dd5e7f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,6 +1,8 @@ @@ -1276,7 +1276,7 @@ index ecb356013..e4eee465a 100644 import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.server.MapInitializeEvent; -@@ -96,10 +97,10 @@ public class WorldServer extends World { +@@ -97,10 +98,10 @@ public class WorldServer extends World { // CraftBukkit end this.nextTickListBlock = new TickListServer<>(this, (block) -> { return block == null || block.getBlockData().isAir(); @@ -1289,7 +1289,7 @@ index ecb356013..e4eee465a 100644 this.navigators = Sets.newHashSet(); this.I = new ObjectLinkedOpenHashSet(); this.dataManager = worldnbtstorage; -@@ -296,20 +297,24 @@ public class WorldServer extends World { +@@ -305,20 +306,24 @@ public class WorldServer extends World { this.N(); this.a(); gameprofilerfiller.exitEnter("chunkSource"); @@ -1316,7 +1316,7 @@ index ecb356013..e4eee465a 100644 gameprofilerfiller.exitEnter("blockEvents"); timings.doSounds.startTiming(); // Spigot -@@ -352,6 +357,7 @@ public class WorldServer extends World { +@@ -361,6 +366,7 @@ public class WorldServer extends World { org.spigotmc.ActivationRange.activateEntities(this); // Spigot timings.entityTick.startTiming(); // Spigot @@ -1324,7 +1324,7 @@ index ecb356013..e4eee465a 100644 while (objectiterator.hasNext()) { Entry entry = (Entry) objectiterator.next(); Entity entity1 = (Entity) entry.getValue(); -@@ -384,6 +390,7 @@ public class WorldServer extends World { +@@ -393,6 +399,7 @@ public class WorldServer extends World { gameprofilerfiller.enter("tick"); if (!entity1.dead && !(entity1 instanceof EntityComplexPart)) { this.a(this::entityJoinedWorld, entity1); @@ -1332,7 +1332,7 @@ index ecb356013..e4eee465a 100644 } gameprofilerfiller.exit(); -@@ -400,9 +407,11 @@ public class WorldServer extends World { +@@ -409,9 +416,11 @@ public class WorldServer extends World { this.tickingEntities = false; @@ -1344,7 +1344,7 @@ index ecb356013..e4eee465a 100644 gameprofilerfiller.exit(); timings.tickEntities.stopTiming(); // Spigot -@@ -467,6 +476,7 @@ public class WorldServer extends World { +@@ -476,6 +485,7 @@ public class WorldServer extends World { } gameprofilerfiller.exitEnter("tickBlocks"); @@ -1352,7 +1352,7 @@ index ecb356013..e4eee465a 100644 if (i > 0) { ChunkSection[] achunksection = chunk.getSections(); int l = achunksection.length; -@@ -498,7 +508,7 @@ public class WorldServer extends World { +@@ -507,7 +517,7 @@ public class WorldServer extends World { } } } @@ -1361,7 +1361,7 @@ index ecb356013..e4eee465a 100644 gameprofilerfiller.exit(); } -@@ -780,6 +790,7 @@ public class WorldServer extends World { +@@ -789,6 +799,7 @@ public class WorldServer extends World { if (!flag1) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit @@ -1369,7 +1369,7 @@ index ecb356013..e4eee465a 100644 if (iprogressupdate != null) { iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0])); } -@@ -789,7 +800,10 @@ public class WorldServer extends World { +@@ -798,7 +809,10 @@ public class WorldServer extends World { iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0])); } diff --git a/Spigot-Server-Patches/0025-Entity-Origin-API.patch b/Spigot-Server-Patches/0025-Entity-Origin-API.patch index 212f255ffe..34d5830f8d 100644 --- a/Spigot-Server-Patches/0025-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0025-Entity-Origin-API.patch @@ -1,4 +1,4 @@ -From e33a76a4bc07f876fb9af25842d3d51294d765d9 Mon Sep 17 00:00:00 2001 +From fec6c0a48a5a02df39161b7b8be75639cb0735f2 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] Entity Origin API @@ -51,7 +51,7 @@ index 2c36fc71c..29e6b88d2 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 d835b9f85..55d1b3529 100644 +index 0342c873a..c3c3e58ce 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -252,6 +252,14 @@ public class EntityFallingBlock extends Entity { @@ -70,7 +70,7 @@ index d835b9f85..55d1b3529 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 b92c8c47f..7625dca00 100644 +index 33c51dced..346315acb 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -103,6 +103,14 @@ public class EntityTNTPrimed extends Entity { @@ -89,7 +89,7 @@ index b92c8c47f..7625dca00 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index 22035b6c0..342484373 100644 +index 5406f4c40..d778eac45 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -188,6 +188,7 @@ public class NBTTagList extends NBTList { @@ -101,10 +101,10 @@ index 22035b6c0..342484373 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 e4eee465a..4b619dc3d 100644 +index 924dd5e7f..0584cd314 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1155,6 +1155,11 @@ public class WorldServer extends World { +@@ -1164,6 +1164,11 @@ public class WorldServer extends World { this.navigators.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit diff --git a/Spigot-Server-Patches/0034-Disable-thunder.patch b/Spigot-Server-Patches/0034-Disable-thunder.patch index 9529495546..e1f16da1e4 100644 --- a/Spigot-Server-Patches/0034-Disable-thunder.patch +++ b/Spigot-Server-Patches/0034-Disable-thunder.patch @@ -1,4 +1,4 @@ -From cb98a880d1f6001a5cb252f2a0160ecfddb59668 Mon Sep 17 00:00:00 2001 +From b2aec65ac322df62cebdd5deb0cfaa32a2d94714 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:52:43 -0600 Subject: [PATCH] Disable thunder @@ -19,10 +19,10 @@ index 25e071718..41436a4ea 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4b619dc3d..09a1f3ce3 100644 +index 0584cd314..387136140 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -437,7 +437,7 @@ public class WorldServer extends World { +@@ -446,7 +446,7 @@ public class WorldServer extends World { gameprofilerfiller.enter("thunder"); BlockPosition blockposition; diff --git a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch index ec7c3a64ba..03f45dae83 100644 --- a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch +++ b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch @@ -1,4 +1,4 @@ -From bc65337839b0d346936071cb6b9e770d7408fcb7 Mon Sep 17 00:00:00 2001 +From ea36944e4b2f0f7c0edff0ff49ce97e08870ba48 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:57:24 -0600 Subject: [PATCH] Disable ice and snow @@ -19,10 +19,10 @@ index 41436a4ea..f53d8b967 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 09a1f3ce3..280932ce1 100644 +index 387136140..c40aebc41 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -457,7 +457,7 @@ public class WorldServer extends World { +@@ -466,7 +466,7 @@ public class WorldServer extends World { } gameprofilerfiller.exitEnter("iceandsnow"); diff --git a/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch index 7d34c6dca3..e3cfdb3bea 100644 --- a/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch @@ -1,4 +1,4 @@ -From 663ff229ed64a491e7b1de9d304170322485adbf Mon Sep 17 00:00:00 2001 +From c3f360656a2f726e381153cd7b86f77c9b6561ca Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 22 Mar 2016 12:04:28 -0500 Subject: [PATCH] Configurable spawn chances for skeleton horses @@ -22,10 +22,10 @@ index 64146effd..cc81e1cae 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 280932ce1..38bbb3ce2 100644 +index c40aebc41..5bb94fb5e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -441,7 +441,7 @@ public class WorldServer extends World { +@@ -450,7 +450,7 @@ public class WorldServer extends World { blockposition = this.a(this.a(j, 0, k, 15)); if (this.isRainingAt(blockposition)) { DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition); 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 89df082033..78cf9d58c1 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 cf0c7060639d7bb09fdcf9f8597c734db294004e Mon Sep 17 00:00:00 2001 +From c0ffb2e399cf9413777905bb93594a900b7506ad 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 @@ -32,7 +32,7 @@ index 42e86881b..6cdce1158 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 81d3a5262..25774fb73 100644 +index 3f27c1c6c..457eea125 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1136,6 +1136,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 0138b6bbe..1519e9e6b 100644 +index ea2e92967..38ab4628d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -390,7 +390,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -66,10 +66,10 @@ index 0138b6bbe..1519e9e6b 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 38bbb3ce2..70b8b41ea 100644 +index 5bb94fb5e..354400504 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -74,6 +74,7 @@ public class WorldServer extends World { +@@ -75,6 +75,7 @@ public class WorldServer extends World { // CraftBukkit start private int tickPosition; @@ -78,5 +78,5 @@ index 38bbb3ce2..70b8b41ea 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) { -- -2.24.0 +2.24.1 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 822b6fbc03..ba6b45d128 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 95e3c5995098349a8c663fcb5198cee5b4dce478 Mon Sep 17 00:00:00 2001 +From 9a72456102d41c94b143f280a277ac24859c17d5 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 70b8b41ea..5a813c93f 100644 +index 354400504..ec8e07d3f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1123,7 +1123,7 @@ public class WorldServer extends World { +@@ -1132,7 +1132,7 @@ public class WorldServer extends World { if (entity instanceof EntityInsentient) { this.navigators.remove(((EntityInsentient) entity).getNavigation()); } @@ -17,7 +17,7 @@ index 70b8b41ea..5a813c93f 100644 entity.valid = false; // CraftBukkit } -@@ -1161,6 +1161,7 @@ public class WorldServer extends World { +@@ -1170,6 +1170,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end diff --git a/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch index f97a764703..54399a8ae7 100644 --- a/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From 6251ee3823300c9286d5f21cab7ee79f64ba84a3 Mon Sep 17 00:00:00 2001 +From 8f6b97e704c5433fc6957265c4c2bb776dfc95ab 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 4870264c6..b2cc85834 100644 +index 9d68451c8..959d2543c 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 GeneratorAccess, AutoCloseable { @@ -57,7 +57,7 @@ index 4870264c6..b2cc85834 100644 this.a(tileentity1); } // CraftBukkit end -@@ -1017,7 +1017,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1024,7 +1024,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } else { if (tileentity != null) { this.tileEntityListPending.remove(tileentity); @@ -67,10 +67,10 @@ index 4870264c6..b2cc85834 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5a813c93f..8b17fb4b4 100644 +index ec8e07d3f..f5031aed8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1608,7 +1608,7 @@ public class WorldServer extends World { +@@ -1617,7 +1617,7 @@ public class WorldServer extends World { } bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size())); @@ -79,7 +79,7 @@ index 5a813c93f..8b17fb4b4 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"); -@@ -1771,7 +1771,7 @@ public class WorldServer extends World { +@@ -1780,7 +1780,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); @@ -89,5 +89,5 @@ index 5a813c93f..8b17fb4b4 100644 while (iterator.hasNext()) { TileEntity tileentity = (TileEntity) iterator.next(); -- -2.24.0 +2.24.1 diff --git a/Spigot-Server-Patches/0097-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0097-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index e788295428..e7223268e2 100644 --- a/Spigot-Server-Patches/0097-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/Spigot-Server-Patches/0097-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -1,4 +1,4 @@ -From 99a32746f9f98097d1a0708afde5fe5a246dfb3b Mon Sep 17 00:00:00 2001 +From 597b89b9e2c61b27511352878a90af75de5db2a4 Mon Sep 17 00:00:00 2001 From: Aikar 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 761fe32ba..242d0df1c 100644 +index 4a2009550..2cce9d12f 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -615,6 +615,12 @@ public abstract class EntityHuman extends EntityLiving { @@ -102,10 +102,10 @@ index a56ac3da8..2f1be1995 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 8b17fb4b4..bba5013d2 100644 +index f5031aed8..8b3f6b2e1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1085,6 +1085,7 @@ public class WorldServer extends World { +@@ -1094,6 +1094,7 @@ public class WorldServer extends World { { if ( iter.next().trackee == entity ) { diff --git a/Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch index 371c2e53b4..2705266ca5 100644 --- a/Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch +++ b/Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch @@ -1,4 +1,4 @@ -From 9fa000d9172e630347678fb1b18345eaba93e149 Mon Sep 17 00:00:00 2001 +From d9e254254db880d33ffa8ee1c9c04e297b98cd8b Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 21 Jun 2016 22:54:34 -0400 Subject: [PATCH] Fix Double World Add issues @@ -8,10 +8,10 @@ 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 bba5013d2..8bac56350 100644 +index 8b3f6b2e1..b62e641e6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -974,6 +974,7 @@ public class WorldServer extends World { +@@ -983,6 +983,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot diff --git a/Spigot-Server-Patches/0116-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0116-Chunk-registration-fixes.patch index f8ec49fb8a..ed9e320d97 100644 --- a/Spigot-Server-Patches/0116-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0116-Chunk-registration-fixes.patch @@ -1,4 +1,4 @@ -From 8c7505611a70a6af57cfd8be15fd6c5a83d314d2 Mon Sep 17 00:00:00 2001 +From 6e50dc8bbe8fc8a73a37458727e1d655cab8ae7d Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 22:54:28 -0400 Subject: [PATCH] Chunk registration fixes @@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 8bac56350..f84e727d9 100644 +index b62e641e6..9063e4b77 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -673,7 +673,7 @@ public class WorldServer extends World { +@@ -682,7 +682,7 @@ public class WorldServer extends World { public void chunkCheck(Entity entity) { this.getMethodProfiler().enter("chunkCheck"); int i = MathHelper.floor(entity.locX() / 16.0D); diff --git a/Spigot-Server-Patches/0138-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/0138-Provide-E-TE-Chunk-count-stat-methods.patch index b1847f3413..a1474806d1 100644 --- a/Spigot-Server-Patches/0138-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-Server-Patches/0138-Provide-E-TE-Chunk-count-stat-methods.patch @@ -1,4 +1,4 @@ -From f7deaf13648aaedfe20b2f5b6dcebb9d93ff870e Mon Sep 17 00:00:00 2001 +From 2fded221da29e5432bed979c39cdf5fb06ab3555 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:24:46 -0500 Subject: [PATCH] Provide E/TE/Chunk count stat methods @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f600d7f7c3..2abebd465a 100644 +index 48e25e190..7b182498c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -275,6 +275,48 @@ public class CraftWorld implements World { +@@ -276,6 +276,48 @@ public class CraftWorld implements World { private int waterAnimalSpawn = -1; private int ambientSpawn = -1; diff --git a/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 47e1af85e5..5f1cc923a3 100644 --- a/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 0050e0fa6932fe76fa2536579df095b8a45a893b Mon Sep 17 00:00:00 2001 +From 54c157582993362948f295ca0fd3a629db0318fc 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 @@ -265,10 +265,10 @@ index 2a51a241e..0419aea92 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2abebd465..1e59f3f14 100644 +index 7b182498c..3fd589a53 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1773,7 +1773,7 @@ public class CraftWorld implements World { +@@ -1781,7 +1781,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)) { diff --git a/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch index 5e7d45d9ae..840608131e 100644 --- a/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 66c89823b46d9e650360ebebe95bb84b06856cec Mon Sep 17 00:00:00 2001 +From 1d3f1f1d45631a0ce0d518a2b55e88bfc6eb7271 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 ae1de6d010..f716e98702 100644 +index 22e4ce22a..011920eb1 100644 --- a/pom.xml +++ b/pom.xml @@ -41,10 +41,27 @@ @@ -75,7 +75,7 @@ index ae1de6d010..f716e98702 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 a5a8bad4f8..dfe8062919 100644 +index a5a8bad4f..dfe806291 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 a5a8bad4f8..dfe8062919 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 a180ba6b0c..7df3ae0ec5 100644 +index 321875948..44c8dffd2 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; @@ -226,7 +226,7 @@ index a180ba6b0c..7df3ae0ec5 100644 } // CraftBukkit end @@ -950,7 +954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -10,10 +10,10 @@ 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 f84e727d9f..8a8c2eaf58 100644 +index 9063e4b77..abf91bd8c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -55,7 +55,7 @@ public class WorldServer extends World { +@@ -56,7 +56,7 @@ public class WorldServer extends World { public final Int2ObjectMap entitiesById = new Int2ObjectLinkedOpenHashMap(); private final Map entitiesByUUID = Maps.newHashMap(); private final Queue entitiesToAdd = Queues.newArrayDeque(); @@ -22,7 +22,7 @@ index f84e727d9f..8a8c2eaf58 100644 boolean tickingEntities; private final MinecraftServer server; private final WorldNBTStorage dataManager; -@@ -1381,12 +1381,17 @@ public class WorldServer extends World { +@@ -1390,12 +1390,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 f84e727d9f..8a8c2eaf58 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 1e59f3f147..2f1f308ab1 100644 +index 3fd589a53..f0cd2afb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2233,11 +2233,17 @@ public class CraftWorld implements World { +@@ -2241,11 +2241,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/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 27ebfb9ab9..0b68881066 100644 --- a/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From bf1fd2d7de1417e3d99088b483c266b01f0aa7bf Mon Sep 17 00:00:00 2001 +From 86b4d607dc8d51c4cb1e74aa8603e5f8241dc174 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Jun 2018 20:39:20 -0400 Subject: [PATCH] Allow spawning Item entities with World.spawnEntity @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2f1f308ab1..b66fa7b894 100644 +index f0cd2afb5..24b79d110 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1465,6 +1465,10 @@ public class CraftWorld implements World { +@@ -1473,6 +1473,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new EntityBoat(world, x, y, z); entity.setPositionRotation(x, y, z, yaw, pitch); diff --git a/Spigot-Server-Patches/0237-Expand-Explosions-API.patch b/Spigot-Server-Patches/0237-Expand-Explosions-API.patch index 10d5be35eb..f4ef58ae28 100644 --- a/Spigot-Server-Patches/0237-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0237-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 785f14773759aa29e05181fe93d709fc85338715 Mon Sep 17 00:00:00 2001 +From a1bfec9d57d7efc546da0cd581aa0589616ad73d Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b66fa7b894..c31737d352 100644 +index 24b79d110..ec537cc8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -874,6 +874,11 @@ public class CraftWorld implements World { +@@ -882,6 +882,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !world.createExplosion(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled; } diff --git a/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch index 0442adc292..5210ba5cef 100644 --- a/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 504c9116b9c34bfa669b838fc2ff855bff1b0383 Mon Sep 17 00:00:00 2001 +From 76317629574e8b9078176aa0a1338e445db0e7ba Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:08:14 +0200 Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c31737d352..022eefc677 100644 +index ec537cc8e..467773868 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1267,6 +1267,15 @@ public class CraftWorld implements World { +@@ -1275,6 +1275,15 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0242-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0242-InventoryCloseEvent-Reason-API.patch index b76ddf0fb5..b50c250d74 100644 --- a/Spigot-Server-Patches/0242-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0242-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From 7a96a2dfaadbf787727303f0241178e4d150bf75 Mon Sep 17 00:00:00 2001 +From a87a35119354a4e30385988d81eca2597fa14df7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -114,10 +114,10 @@ index 002f7e844..fd0f5c6f2 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 8a8c2eaf5..eb311a731 100644 +index abf91bd8c..fa7b38a5c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1027,7 +1027,7 @@ public class WorldServer extends World { +@@ -1036,7 +1036,7 @@ public class WorldServer extends World { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -126,7 +126,7 @@ index 8a8c2eaf5..eb311a731 100644 } } } -@@ -1050,7 +1050,7 @@ public class WorldServer extends World { +@@ -1059,7 +1059,7 @@ public class WorldServer extends World { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { diff --git a/Spigot-Server-Patches/0247-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0247-Re-add-vanilla-entity-warnings-for-duplicates.patch index aba61f7320..a8e1509ec0 100644 --- a/Spigot-Server-Patches/0247-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0247-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -1,4 +1,4 @@ -From a6b7202d3c5020bad4cf3a4ddac6ec7bed687c8a Mon Sep 17 00:00:00 2001 +From a6e586600f6ce7513744a523bae5cbac889e4f49 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:08:05 -0400 Subject: [PATCH] Re-add vanilla entity warnings for duplicates @@ -8,10 +8,10 @@ These are a critical sign that somethin went wrong, and you've lost some data... We should kind of know about these things you know. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index eb311a731f..7d99d34ae5 100644 +index fa7b38a5c..d30f2f18a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1012,7 +1012,8 @@ public class WorldServer extends World { +@@ -1021,7 +1021,8 @@ public class WorldServer extends World { if (entity1 == null) { return false; } else { diff --git a/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index b8cd6420f2..60f0de81a2 100644 --- a/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From b4ce7aea9124f040e0957161a0968112fc2ff61f Mon Sep 17 00:00:00 2001 +From 133c4428c9213988f6aa1456827a302ae93f9600 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 @@ -40,7 +40,7 @@ index 6012b86f1..c97349010 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 838651c78..5d0a14577 100644 +index e2caba80c..257ea4f33 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -67,6 +67,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -52,10 +52,10 @@ index 838651c78..5d0a14577 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 7d99d34ae..0cd48c5bc 100644 +index d30f2f18a..aaf35e02f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -75,6 +75,9 @@ public class WorldServer extends World { +@@ -76,6 +76,9 @@ public class WorldServer extends World { // CraftBukkit start private int tickPosition; boolean hasPhysicsEvent = true; // Paper @@ -65,7 +65,7 @@ index 7d99d34ae..0cd48c5bc 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) { -@@ -974,8 +977,28 @@ public class WorldServer extends World { +@@ -983,8 +986,28 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -95,7 +95,7 @@ index 7d99d34ae..0cd48c5bc 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)) { -@@ -1147,7 +1170,24 @@ public class WorldServer extends World { +@@ -1156,7 +1179,24 @@ public class WorldServer extends World { } } diff --git a/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch index 7f7e30fb3e..9016e82912 100644 --- a/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From f14d77d2ac1d21189dd71118d653b9dabcddc866 Mon Sep 17 00:00:00 2001 +From 677215f1242eeca88026b5d9c9bb367b3cb5f8c1 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 eecf27370b..d704fc79c0 100644 +index eecf27370..d704fc79c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -179,6 +179,7 @@ public class PaperCommand extends Command { @@ -23,7 +23,7 @@ index eecf27370b..d704fc79c0 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 b156f5428c..c7c600b80c 100644 +index b156f5428..c7c600b80 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -671,6 +671,7 @@ public class Chunk implements IChunkAccess { @@ -51,7 +51,7 @@ index b156f5428c..c7c600b80c 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 be8f6ac99f..4a931aaf42 100644 +index be8f6ac99..4a931aaf4 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -196,6 +196,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,10 +63,10 @@ index be8f6ac99f..4a931aaf42 100644 public float getBukkitYaw() { return this.yaw; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0cd48c5bcf..f4d6c68f4d 100644 +index aaf35e02f..71da6f37e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -885,7 +885,7 @@ public class WorldServer extends World { +@@ -894,7 +894,7 @@ public class WorldServer extends World { while (objectiterator.hasNext()) { Entity entity = (Entity) objectiterator.next(); @@ -75,7 +75,7 @@ index 0cd48c5bcf..f4d6c68f4d 100644 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; -@@ -1204,6 +1204,7 @@ public class WorldServer extends World { +@@ -1213,6 +1213,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -83,7 +83,7 @@ index 0cd48c5bcf..f4d6c68f4d 100644 new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid } -@@ -1216,6 +1217,7 @@ public class WorldServer extends World { +@@ -1225,6 +1226,7 @@ public class WorldServer extends World { this.removeEntityFromChunk(entity); this.entitiesById.remove(entity.getId()); this.unregisterEntity(entity); @@ -92,10 +92,10 @@ index 0cd48c5bcf..f4d6c68f4d 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 022eefc677..4da55e0df5 100644 +index 467773868..a9275137e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1003,6 +1003,7 @@ public class CraftWorld implements World { +@@ -1011,6 +1011,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -103,7 +103,7 @@ index 022eefc677..4da55e0df5 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1022,6 +1023,7 @@ public class CraftWorld implements World { +@@ -1030,6 +1031,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -111,7 +111,7 @@ index 022eefc677..4da55e0df5 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1048,6 +1050,7 @@ public class CraftWorld implements World { +@@ -1056,6 +1058,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -119,7 +119,7 @@ index 022eefc677..4da55e0df5 100644 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -1071,6 +1074,7 @@ public class CraftWorld implements World { +@@ -1079,6 +1082,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { diff --git a/Spigot-Server-Patches/0273-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0273-Add-Early-Warning-Feature-to-WatchDog.patch index 69f6f77ef2..26f0224a34 100644 --- a/Spigot-Server-Patches/0273-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/Spigot-Server-Patches/0273-Add-Early-Warning-Feature-to-WatchDog.patch @@ -1,4 +1,4 @@ -From 3798c3bcf6c92ae3bf115afd5df33e41b17c07c7 Mon Sep 17 00:00:00 2001 +From a06e7f64ec3e47385a8f00de2dd6a4f01f96089a 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 adef07d4d5..214b577b32 100644 +index adef07d4d..214b577b3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -24,6 +24,7 @@ import org.bukkit.configuration.file.YamlConfiguration; @@ -36,7 +36,7 @@ index adef07d4d5..214b577b32 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 97a0a69247..dd2d8712ed 100644 +index e75e976ff..1251f4581 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -869,6 +869,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant lastTick + timeoutTime; + // Don't spam early warning dumps + if ( !isLongTimeout && (earlyWarningEvery <= 0 || !hasStarted || currentTime < lastEarlyWarning + earlyWarningEvery || currentTime < lastTick + earlyWarningDelay)) continue; ++ if ( !isLongTimeout && MinecraftServer.getServer().hasStopped()) continue; // Don't spam early watchdog warnings during shutdown, we'll come back to this... + lastEarlyWarning = currentTime; + if (isLongTimeout) { + // Paper end log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Paper bug." ); // Paper log.log( Level.SEVERE, "If you see a plugin in the Server thread dump below, then please report it to that author" ); -@@ -89,29 +103,46 @@ public class WatchdogThread extends Thread +@@ -89,29 +104,46 @@ public class WatchdogThread extends Thread } } // Paper end @@ -166,7 +167,7 @@ index 9532aada82..a1d93200e6 100644 + if ( isLongTimeout ) + { - if ( restart ) + if ( restart && !MinecraftServer.getServer().hasStopped() ) { RestartCommand.restart(); } diff --git a/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch index 8e6decd2cb..92172e5af4 100644 --- a/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,11 +1,11 @@ -From e4699158564e1f29cbc7ff4c82964f5b7af6529e Mon Sep 17 00:00:00 2001 +From b6769bd6ed23f65f8a4fda99b9d4b61bdb27883a 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 fd0f5c6f29..e46436623c 100644 +index fd0f5c6f2..e46436623 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -923,8 +923,25 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index fd0f5c6f29..e46436623c 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 f4d6c68f4d..a0c7141294 100644 +index 71da6f37e..00a1fe759 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1250,7 +1250,7 @@ public class WorldServer extends World { +@@ -1259,7 +1259,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); @@ -58,7 +58,7 @@ index f4d6c68f4d..a0c7141294 100644 } @Override -@@ -1382,7 +1382,7 @@ public class WorldServer extends World { +@@ -1391,7 +1391,7 @@ public class WorldServer extends World { BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst(); if (this.a(blockactiondata)) { @@ -68,10 +68,10 @@ index f4d6c68f4d..a0c7141294 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4da55e0df5..7d8ec94508 100644 +index a9275137e..7d620ef59 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2068,7 +2068,7 @@ public class CraftWorld implements World { +@@ -2076,7 +2076,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/0290-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0290-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index c8d2028e58..d6c1e94cbd 100644 --- a/Spigot-Server-Patches/0290-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0290-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -1,4 +1,4 @@ -From 2c13d701a9622e0b5d380f32f396ec529d99f220 Mon Sep 17 00:00:00 2001 +From 9bcdfcfff2a1bcf8df643d2c3589e446f5707347 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,10 +6,10 @@ 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 7d8ec94508..8a0675037a 100644 +index 7d620ef59..a9258b975 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -500,7 +500,7 @@ public class CraftWorld implements World { +@@ -501,7 +501,7 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/Spigot-Server-Patches/0311-Add-sun-related-API.patch b/Spigot-Server-Patches/0311-Add-sun-related-API.patch index d5726344c1..ea6bfe55b5 100644 --- a/Spigot-Server-Patches/0311-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0311-Add-sun-related-API.patch @@ -1,4 +1,4 @@ -From dfeec0c304273748ef2d8c84c8f709c4a0a9c986 Mon Sep 17 00:00:00 2001 +From 3ea138c5a2f03731148659ad7268607897929c71 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API @@ -17,10 +17,10 @@ index 5ca281172..e259c868e 100644 if (this.world.isDay() && !this.world.isClientSide) { float f = this.aI(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8a0675037..9def4b01f 100644 +index a9258b975..7761af906 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -855,6 +855,13 @@ public class CraftWorld implements World { +@@ -863,6 +863,13 @@ public class CraftWorld implements World { } } diff --git a/Spigot-Server-Patches/0315-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0315-Limit-lightning-strike-effect-distance.patch index 296146f144..9af1824bc0 100644 --- a/Spigot-Server-Patches/0315-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0315-Limit-lightning-strike-effect-distance.patch @@ -1,11 +1,11 @@ -From c430c8018281f7ebbfab4a4d44b8a1a5808987f5 Mon Sep 17 00:00:00 2001 +From 0b13559bf28c95ee98407b3e6b0fb58c5a92c186 Mon Sep 17 00:00:00 2001 From: Trigary 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 50ac7afa36..7dda0803c4 100644 +index 50ac7afa3..7dda0803c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -240,6 +240,28 @@ public class PaperWorldConfig { @@ -38,7 +38,7 @@ index 50ac7afa36..7dda0803c4 100644 private void fixedInhabitedTime() { if (PaperConfig.version < 16) { diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java -index 7c518983a9..bdb534deb4 100644 +index 7c518983a..bdb534deb 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 7c518983a9..bdb534deb4 100644 --this.lifeTicks; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a0c7141294..ecfcecfdc2 100644 +index 00a1fe759..bcf406f22 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1250,7 +1250,7 @@ public class WorldServer extends World { +@@ -1259,7 +1259,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); diff --git a/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch index 53f97a98e4..6661a12723 100644 --- a/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch +++ b/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch @@ -1,4 +1,4 @@ -From 324c940c895a6b81e18157a5aa86c6bae9592b00 Mon Sep 17 00:00:00 2001 +From 9382064df0fb23829f26cfa668d948625c046239 Mon Sep 17 00:00:00 2001 From: theosib Date: Thu, 27 Sep 2018 01:43:35 -0600 Subject: [PATCH] Optimize redstone algorithm @@ -1124,7 +1124,7 @@ index 5bf2fc0b3..52a4982ec 100644 c(iblockdata, world, blockposition); world.a(blockposition, false); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1fbecceb9..ced4e5e00 100644 +index b6d904007..697c99d94 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -543,6 +543,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -1135,7 +1135,7 @@ index 1fbecceb9..ced4e5e00 100644 public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) { if (!this.isClientSide) { IBlockData iblockdata = this.getType(blockposition); -@@ -1291,6 +1292,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1298,6 +1299,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0)))); } diff --git a/Spigot-Server-Patches/0358-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0358-Entity-getEntitySpawnReason.patch index b8ec2c9c7e..9ddd9fd1c2 100644 --- a/Spigot-Server-Patches/0358-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0358-Entity-getEntitySpawnReason.patch @@ -1,4 +1,4 @@ -From fb92210339f1d8233f92eec22ced9465bb0fb3af Mon Sep 17 00:00:00 2001 +From af87f78dd526e4e86214023e9da175cd5e0e46db 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 2e8aedf5fb..96b0917a3b 100644 +index 2e8aedf5f..96b0917a3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -72,6 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -59,7 +59,7 @@ index 2e8aedf5fb..96b0917a3b 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 9d715d891d..49437f2124 100644 +index 9d715d891..49437f212 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -251,7 +251,7 @@ public abstract class PlayerList { @@ -72,10 +72,10 @@ index 9d715d891d..49437f2124 100644 }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index ecfcecfdc2..63e7f2bce7 100644 +index bcf406f22..8428ce779 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -977,6 +977,7 @@ public class WorldServer extends World { +@@ -986,6 +986,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -84,7 +84,7 @@ index ecfcecfdc2..63e7f2bce7 100644 if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 915ccb1807..dfa15372b8 100644 +index 915ccb180..dfa15372b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1051,5 +1051,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch b/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch index cee5da2ea4..50cc34342a 100644 --- a/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch +++ b/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch @@ -1,4 +1,4 @@ -From ce387ed73b42b470bffc930031a18ced0b092f0d Mon Sep 17 00:00:00 2001 +From 2b71f54314ccc158d0be01e9ea15d667e9c88e95 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 6 Apr 2019 10:16:48 -0400 Subject: [PATCH] Optimize Captured TileEntity Lookup @@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to just do a get call since the value can never be null. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 45389f2ab..f59bdd1b9 100644 +index e07e63e55..3e57546a3 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1016,12 +1016,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1023,12 +1023,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return null; } else { // CraftBukkit start diff --git a/Spigot-Server-Patches/0367-Add-Heightmap-API.patch b/Spigot-Server-Patches/0367-Add-Heightmap-API.patch index 7cfba6f5be..dac8fb516e 100644 --- a/Spigot-Server-Patches/0367-Add-Heightmap-API.patch +++ b/Spigot-Server-Patches/0367-Add-Heightmap-API.patch @@ -1,11 +1,11 @@ -From a7de9681908350f748dcb6e52078bbd34ac04bfc Mon Sep 17 00:00:00 2001 +From 681d0a4378f3e6101c324345238cb320cec62b6a Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Tue, 1 Jan 2019 02:22:01 -0800 Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a99b2405c9..1846aacc9a 100644 +index 3e57546a3..59a1c6aae 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -594,8 +594,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -20,10 +20,10 @@ index a99b2405c9..1846aacc9a 100644 if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index aec657952c..38f61fddfd 100644 +index 7761af906..acd6a3a42 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -340,6 +340,29 @@ public class CraftWorld implements World { +@@ -341,6 +341,29 @@ public class CraftWorld implements World { return world.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, new BlockPosition(x, 0, z)).getY(); } diff --git a/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch b/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch index f809e9129d..8de230a586 100644 --- a/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch @@ -1,4 +1,4 @@ -From c6aa4fb92ed12be093c17d299f13c766f5b06734 Mon Sep 17 00:00:00 2001 +From da5add0dd519ed45bb4ec1633e522986c1c4050c Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 21:49:53 -0400 Subject: [PATCH] Fix issues with entity loss due to unloaded chunks @@ -19,10 +19,10 @@ This change ensures the chunks are always loaded when entities are added to the world, or a valid entity moves between chunks. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 63e7f2bce7..0138738b33 100644 +index 8428ce779..ae1e4b34b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -684,7 +684,7 @@ public class WorldServer extends World { +@@ -693,7 +693,7 @@ public class WorldServer extends World { this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY); } @@ -31,7 +31,7 @@ index 63e7f2bce7..0138738b33 100644 entity.inChunk = false; } else { this.getChunkAt(i, k).a(entity); -@@ -1009,7 +1009,7 @@ public class WorldServer extends World { +@@ -1018,7 +1018,7 @@ public class WorldServer extends World { return false; } // CraftBukkit end diff --git a/Spigot-Server-Patches/0374-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0374-Duplicate-UUID-Resolve-Option.patch index 5f37fa545b..08f0bb3053 100644 --- a/Spigot-Server-Patches/0374-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0374-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 68bda6379bcd93dc02eaba78af9deddd735e1b56 Mon Sep 17 00:00:00 2001 +From 74764a9936dcd13520c6bcf1e7e7de723bf6f860 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -210,7 +210,7 @@ index c97349010..ca3f9d3d3 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 0138738b3..d59eee27a 100644 +index ae1e4b34b..c4fabc477 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -3,6 +3,8 @@ package net.minecraft.server; @@ -222,7 +222,7 @@ index 0138738b3..d59eee27a 100644 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Queues; -@@ -1036,8 +1038,23 @@ public class WorldServer extends World { +@@ -1045,8 +1047,23 @@ public class WorldServer extends World { if (entity1 == null) { return false; } else { @@ -248,7 +248,7 @@ index 0138738b3..d59eee27a 100644 return true; } } -@@ -1176,7 +1193,7 @@ public class WorldServer extends World { +@@ -1185,7 +1202,7 @@ public class WorldServer extends World { } Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); diff --git a/Spigot-Server-Patches/0375-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0375-improve-CraftWorld-isChunkLoaded.patch index 4c6b845931..b7a60314b2 100644 --- a/Spigot-Server-Patches/0375-improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/0375-improve-CraftWorld-isChunkLoaded.patch @@ -1,4 +1,4 @@ -From 4cd88e841cae81f8bbcd16d99759cef8092820b9 Mon Sep 17 00:00:00 2001 +From 7d424590e3494410fc72b187a4d538110e2fc60e Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 21 May 2019 02:34:04 +0100 Subject: [PATCH] improve CraftWorld#isChunkLoaded @@ -9,10 +9,10 @@ waiting for the execution queue to get to our request; We can just query the chunk status and get a response now, vs having to wait diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 38f61fddfd..f773534d9a 100644 +index acd6a3a42..bc968fc7e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -404,14 +404,13 @@ public class CraftWorld implements World { +@@ -405,14 +405,13 @@ public class CraftWorld implements World { @Override public boolean isChunkLoaded(int x, int z) { diff --git a/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch index dd96531b37..f197c3e714 100644 --- a/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 8cf203a7fc3b1d8a0356a42e088a75bf69561115 Mon Sep 17 00:00:00 2001 +From 32d9af31e6fe690da40e488379a36f1510796959 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 2b2c82d5ee..778de46305 100644 +index 2b2c82d5e..778de4630 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -479,4 +479,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 2b2c82d5ee..778de46305 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index be31fef799..6be2e1e2ff 100644 +index fd7526137..105ac1358 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -585,6 +585,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sun, 9 Jun 2019 03:53:22 +0100 Subject: [PATCH] incremental chunk saving @@ -62,7 +62,7 @@ index 9b2bafdbd..f138b112f 100644 public void close() throws IOException { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6be2e1e2f..f63269157 100644 +index 105ac1358..4eba20b6a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -168,6 +168,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant list = (List) this.visibleChunks.values().stream().filter(PlayerChunk::hasBeenLoaded).peek(PlayerChunk::m).collect(Collectors.toList()); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c28c0431a..4bfa6ea0e 100644 +index 8b3ea6544..2b42f3262 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -791,11 +791,44 @@ public class WorldServer extends World { +@@ -800,11 +800,44 @@ public class WorldServer extends World { return this.worldProvider.c(); } @@ -198,7 +198,7 @@ index c28c0431a..4bfa6ea0e 100644 try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper if (iprogressupdate != null) { iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0])); -@@ -822,6 +855,7 @@ public class WorldServer extends World { +@@ -831,6 +864,7 @@ public class WorldServer extends World { // CraftBukkit end } diff --git a/Spigot-Server-Patches/0384-Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/0384-Fix-World-isChunkGenerated-calls.patch index 648ea21cd2..f0c8edf2b6 100644 --- a/Spigot-Server-Patches/0384-Fix-World-isChunkGenerated-calls.patch +++ b/Spigot-Server-Patches/0384-Fix-World-isChunkGenerated-calls.patch @@ -1,4 +1,4 @@ -From 65a4a817870660f425c2fd1abed0d2443e1bc79b Mon Sep 17 00:00:00 2001 +From dcda7cc11dfe9bd798ada56d54e25477ef873487 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 15 Jun 2019 08:54:33 -0700 Subject: [PATCH] Fix World#isChunkGenerated calls @@ -279,7 +279,7 @@ index b3d1bb5fd..e07ae9854 100644 throwable = throwable1; throw throwable1; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2dd137b94..891ce4977 100644 +index 0850d78e2..ea3526461 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; @@ -290,7 +290,7 @@ index 2dd137b94..891ce4977 100644 import java.util.function.Predicate; import java.util.stream.Collectors; import it.unimi.dsi.fastutil.longs.Long2ObjectMap; -@@ -409,8 +410,22 @@ public class CraftWorld implements World { +@@ -410,8 +411,22 @@ public class CraftWorld implements World { @Override public boolean isChunkGenerated(int x, int z) { @@ -314,7 +314,7 @@ index 2dd137b94..891ce4977 100644 } catch (IOException ex) { throw new RuntimeException(ex); } -@@ -522,20 +537,49 @@ public class CraftWorld implements World { +@@ -523,20 +538,49 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/Spigot-Server-Patches/0389-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/Spigot-Server-Patches/0389-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch index bb3b8466fe..39b5a36799 100644 --- a/Spigot-Server-Patches/0389-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch +++ b/Spigot-Server-Patches/0389-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch @@ -1,4 +1,4 @@ -From 9a85a6ce658aa5a9e2acf2a67353c3a8ed2cd717 Mon Sep 17 00:00:00 2001 +From 559672aa60c1d20af16028bbac444831b9712ac1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 01:01:32 -0400 Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob @@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural influences natural spawns. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 6634ef923a..2f0b06dc55 100644 +index 6634ef923..2f0b06dc5 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -505,6 +505,16 @@ public class PaperWorldConfig { @@ -38,10 +38,10 @@ index 6634ef923a..2f0b06dc55 100644 public boolean asynchronous; public EngineMode engineMode; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4bfa6ea0e7..733f3e10ef 100644 +index 2b42f3262..d1b2800b2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -934,6 +934,13 @@ public class WorldServer extends World { +@@ -943,6 +943,13 @@ public class WorldServer extends World { EnumCreatureType enumcreaturetype = entity.getEntityType().e(); if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) { diff --git a/Spigot-Server-Patches/0391-Mark-entities-as-being-ticked-when-notifying-navigat.patch b/Spigot-Server-Patches/0391-Mark-entities-as-being-ticked-when-notifying-navigat.patch index f51bc2d7ab..a4a5c1c7b5 100644 --- a/Spigot-Server-Patches/0391-Mark-entities-as-being-ticked-when-notifying-navigat.patch +++ b/Spigot-Server-Patches/0391-Mark-entities-as-being-ticked-when-notifying-navigat.patch @@ -1,14 +1,14 @@ -From d086e8f6567f4a4ff33aff067a9bbf33a08c80c2 Mon Sep 17 00:00:00 2001 +From 03f8e0d9211b682c9ead96de67b59b54368e01b0 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 28 Jul 2019 00:51:11 +0100 Subject: [PATCH] Mark entities as being ticked when notifying navigation diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 733f3e10ef..049d4ef4ee 100644 +index d1b2800b2..90272d0c0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1371,6 +1371,7 @@ public class WorldServer extends World { +@@ -1380,6 +1380,7 @@ public class WorldServer extends World { VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition); if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) { @@ -16,7 +16,7 @@ index 733f3e10ef..049d4ef4ee 100644 Iterator iterator = this.navigators.iterator(); while (iterator.hasNext()) { -@@ -1381,6 +1382,7 @@ public class WorldServer extends World { +@@ -1390,6 +1391,7 @@ public class WorldServer extends World { } } diff --git a/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch index 35c9d6e9c9..95d396c8d3 100644 --- a/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch @@ -1,4 +1,4 @@ -From 28e64d87c6aeed98e0d5d105fe41f7401985658d Mon Sep 17 00:00:00 2001 +From 4b5b983b930189efae55117e5616bb1a973bc064 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 13 Jul 2019 09:23:10 -0700 Subject: [PATCH] Asynchronous chunk IO and loading @@ -2962,7 +2962,7 @@ index 25a87c2d3..c02c53b50 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f63269157..664c48d68 100644 +index 4eba20b6a..fe24d924e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -788,6 +788,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 049d4ef4e..59b2fc629 100644 +index 90272d0c0..136c18d10 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -81,6 +81,79 @@ public class WorldServer extends World { +@@ -82,6 +82,79 @@ public class WorldServer extends World { return new Throwable(entity + " Added to world at " + new java.util.Date()); } @@ -3930,7 +3930,7 @@ index 049d4ef4e..59b2fc629 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) { super(worlddata, dimensionmanager, (world, worldprovider) -> { -@@ -124,6 +197,8 @@ public class WorldServer extends World { +@@ -125,6 +198,8 @@ public class WorldServer extends World { this.mobSpawnerTrader = this.worldProvider.getDimensionManager().getType() == DimensionManager.OVERWORLD ? new MobSpawnerTrader(this) : null; // CraftBukkit - getType() this.getServer().addWorld(this.getWorld()); // CraftBukkit @@ -3940,10 +3940,10 @@ index 049d4ef4e..59b2fc629 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 891ce4977..31667d667 100644 +index ea3526461..7ef0756ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -555,22 +555,23 @@ public class CraftWorld implements World { +@@ -556,22 +556,23 @@ public class CraftWorld implements World { return true; } @@ -3975,7 +3975,7 @@ index 891ce4977..31667d667 100644 // fall through to load // we do this so we do not re-read the chunk data on disk -@@ -2378,6 +2379,25 @@ public class CraftWorld implements World { +@@ -2386,6 +2387,25 @@ public class CraftWorld implements World { return persistentRaid.raids.values().stream().map(CraftRaid::new).collect(Collectors.toList()); } @@ -4002,7 +4002,7 @@ index 891ce4977..31667d667 100644 @Override public int getViewDistance() { diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index a1d93200e..6ca0ebfde 100644 +index 07936eeba..fe68df45b 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -6,6 +6,7 @@ import java.lang.management.ThreadInfo; @@ -4013,7 +4013,7 @@ index a1d93200e..6ca0ebfde 100644 import net.minecraft.server.MinecraftServer; import org.bukkit.Bukkit; -@@ -83,6 +84,7 @@ public class WatchdogThread extends Thread +@@ -84,6 +85,7 @@ public class WatchdogThread extends Thread log.log( Level.SEVERE, "If you are unsure or still think this is a Paper bug, please report this to https://github.com/PaperMC/Paper/issues" ); log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" ); log.log( Level.SEVERE, "Paper version: " + Bukkit.getServer().getVersion() ); @@ -4021,7 +4021,7 @@ index a1d93200e..6ca0ebfde 100644 // if ( net.minecraft.server.World.lastPhysicsProblem != null ) { -@@ -111,6 +113,7 @@ public class WatchdogThread extends Thread +@@ -112,6 +114,7 @@ public class WatchdogThread extends Thread // Paper end - Different message for short timeout log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper diff --git a/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch b/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch index 39781f45c8..8fa5accbdf 100644 --- a/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch @@ -1,4 +1,4 @@ -From abed93f940fe53e748ee26128e7958c0cd9300b4 Mon Sep 17 00:00:00 2001 +From cc9d4e04761b5953e80552358e7663c3f3e40583 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 8 Jul 2019 00:13:36 -0700 Subject: [PATCH] Use getChunkIfLoadedImmediately in places @@ -34,7 +34,7 @@ index 8c54022e0..f6fbba36f 100644 return; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 040610ecd..cdedbee87 100644 +index 06e8c27d9..37604d8cc 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -130,8 +130,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -55,7 +55,7 @@ index 040610ecd..cdedbee87 100644 protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) { this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot -@@ -1127,14 +1135,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1134,14 +1142,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } public boolean n(BlockPosition blockposition) { diff --git a/Spigot-Server-Patches/0397-Reduce-sync-loads.patch b/Spigot-Server-Patches/0397-Reduce-sync-loads.patch index 76265392ba..0af3c5c728 100644 --- a/Spigot-Server-Patches/0397-Reduce-sync-loads.patch +++ b/Spigot-Server-Patches/0397-Reduce-sync-loads.patch @@ -1,4 +1,4 @@ -From ba6f66a868796491a225b910a2fe42337bc838e6 Mon Sep 17 00:00:00 2001 +From 0d6bd6ef77c14a6a7d648dc84ac43d675e46973e Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 19 Jul 2019 03:29:14 -0700 Subject: [PATCH] Reduce sync loads @@ -280,10 +280,10 @@ index 1f6b1c4f1..58654f453 100644 this.serverThreadQueue.awaitTasks(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index cdedbee87..2c33ba49c 100644 +index 37604d8cc..5460ace8f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1190,7 +1190,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1197,7 +1197,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 <= j; ++i1) { for (int j1 = k; j1 <= l; ++j1) { @@ -292,7 +292,7 @@ index cdedbee87..2c33ba49c 100644 if (chunk != null) { chunk.a(entity, axisalignedbb, list, predicate); -@@ -1210,7 +1210,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1217,7 +1217,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -301,7 +301,7 @@ index cdedbee87..2c33ba49c 100644 if (chunk != null) { chunk.a(entitytypes, axisalignedbb, list, predicate); -@@ -1232,7 +1232,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1239,7 +1239,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -311,10 +311,10 @@ index cdedbee87..2c33ba49c 100644 if (chunk != null) { chunk.a(oclass, axisalignedbb, list, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 59b2fc629..9aaa28e6c 100644 +index 136c18d10..14f25caa0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -153,6 +153,12 @@ public class WorldServer extends World { +@@ -154,6 +154,12 @@ public class WorldServer extends World { }; public final com.destroystokyo.paper.io.chunk.ChunkTaskManager asyncChunkTaskManager; // Paper end diff --git a/Spigot-Server-Patches/0399-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch b/Spigot-Server-Patches/0399-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch index 96cf7a7018..35b7f1f848 100644 --- a/Spigot-Server-Patches/0399-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch +++ b/Spigot-Server-Patches/0399-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch @@ -1,4 +1,4 @@ -From f06f45d1b44c70f9ef4bdd0609fe3d9c192fcfef Mon Sep 17 00:00:00 2001 +From d9c3b4c7139a9ac5c83a40d03cbd3381f74f711c Mon Sep 17 00:00:00 2001 From: Paul Sauve Date: Sun, 14 Jul 2019 21:05:03 -0500 Subject: [PATCH] Do less work if we have a custom Bukkit generator @@ -7,10 +7,10 @@ If the Bukkit generator already has a spawn, use it immediately instead of spending time generating one that we won't use diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9aaa28e6cd..219861a2d8 100644 +index 14f25caa0..aad93723e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -788,12 +788,13 @@ public class WorldServer extends World { +@@ -797,12 +797,13 @@ public class WorldServer extends World { } else if (this.worldData.getType() == WorldType.DEBUG_ALL_BLOCK_STATES) { this.worldData.setSpawn(BlockPosition.ZERO.up()); } else { @@ -30,7 +30,7 @@ index 9aaa28e6cd..219861a2d8 100644 // CraftBukkit start if (this.generator != null) { Random rand = new Random(this.getSeed()); -@@ -810,6 +811,13 @@ public class WorldServer extends World { +@@ -819,6 +820,13 @@ public class WorldServer extends World { } // CraftBukkit end diff --git a/Spigot-Server-Patches/0401-implement-optional-per-player-mob-spawns.patch b/Spigot-Server-Patches/0401-implement-optional-per-player-mob-spawns.patch index 6deb6f8c89..bc249bb934 100644 --- a/Spigot-Server-Patches/0401-implement-optional-per-player-mob-spawns.patch +++ b/Spigot-Server-Patches/0401-implement-optional-per-player-mob-spawns.patch @@ -1,11 +1,11 @@ -From 213eef20e57994d1827227b529da8058c1ae11b3 Mon Sep 17 00:00:00 2001 +From 56fbbd1827c4153ca6cd35339da70d7d7c17906b Mon Sep 17 00:00:00 2001 From: kickash32 Date: Mon, 19 Aug 2019 01:27:58 +0500 Subject: [PATCH] implement optional per player mob spawns diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java -index 8de6c4816c..e25544f116 100644 +index 8de6c4816..e25544f11 100644 --- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -62,6 +62,7 @@ public class WorldTimingsHandler { @@ -25,7 +25,7 @@ index 8de6c4816c..e25544f116 100644 poiUnload = Timings.ofSafe(name + "Chunk unload - POI"); chunkUnload = Timings.ofSafe(name + "Chunk unload - Chunk"); diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 3dfe54ad3d..02715539ae 100644 +index 3dfe54ad3..02715539a 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -611,4 +611,9 @@ public class PaperWorldConfig { @@ -40,7 +40,7 @@ index 3dfe54ad3d..02715539ae 100644 } diff --git a/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java new file mode 100644 -index 0000000000..9ebd7ecb7a +index 000000000..9ebd7ecb7 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java @@ -0,0 +1,253 @@ @@ -299,7 +299,7 @@ index 0000000000..9ebd7ecb7a +} diff --git a/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java new file mode 100644 -index 0000000000..4f13d3ff83 +index 000000000..4f13d3ff8 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java @@ -0,0 +1,241 @@ @@ -545,7 +545,7 @@ index 0000000000..4f13d3ff83 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 58654f4538..8a35e2994d 100644 +index 58654f453..8a35e2994 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -555,7 +555,22 @@ public class ChunkProviderServer extends IChunkProvider { @@ -599,7 +599,7 @@ index 58654f4538..8a35e2994d 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ba30730b5a..7fbd390426 100644 +index ba30730b5..7fbd39042 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -80,6 +80,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -631,7 +631,7 @@ index ba30730b5a..7fbd390426 100644 return this.cs; } diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index d49ad03089..2fb04e3e93 100644 +index d49ad0308..2fb04e3e9 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -254,6 +254,7 @@ public class EntityTypes { @@ -643,7 +643,7 @@ index d49ad03089..2fb04e3e93 100644 return this.bb; } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index fce37d0d67..b37c1161d1 100644 +index d9faef8a6..b3ccb9a7b 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -78,7 +78,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -682,7 +682,7 @@ index fce37d0d67..b37c1161d1 100644 private static double a(ChunkCoordIntPair chunkcoordintpair, Entity entity) { diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index fdac5bb3a2..58bbf2f9d2 100644 +index fdac5bb3a..58bbf2f9d 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -755,10 +755,10 @@ index fdac5bb3a2..58bbf2f9d2 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 219861a2d8..919472370d 100644 +index aad93723e..f2d9392a0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1005,7 +1005,20 @@ public class WorldServer extends World { +@@ -1014,7 +1014,20 @@ public class WorldServer extends World { } public Object2IntMap l() { @@ -780,7 +780,7 @@ index 219861a2d8..919472370d 100644 ObjectIterator objectiterator = this.entitiesById.values().iterator(); while (objectiterator.hasNext()) { -@@ -1030,11 +1043,16 @@ public class WorldServer extends World { +@@ -1039,11 +1052,16 @@ public class WorldServer extends World { continue; } // Paper end diff --git a/Spigot-Server-Patches/0406-Fix-zero-tick-instant-grow-farms-MC-113809.patch b/Spigot-Server-Patches/0406-Fix-zero-tick-instant-grow-farms-MC-113809.patch index 672088f0a6..aacc73c07a 100644 --- a/Spigot-Server-Patches/0406-Fix-zero-tick-instant-grow-farms-MC-113809.patch +++ b/Spigot-Server-Patches/0406-Fix-zero-tick-instant-grow-farms-MC-113809.patch @@ -1,11 +1,11 @@ -From b995eb601a68f80e691beb7f081f21f46984b650 Mon Sep 17 00:00:00 2001 +From 9503a0663360f9ef64ac72b5b8799aa15a9d709c Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Sun, 15 Sep 2019 11:32:32 -0500 Subject: [PATCH] Fix zero-tick instant grow farms MC-113809 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 33e251c87f..c0af1aaf3b 100644 +index 33e251c87..c0af1aaf3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -564,6 +564,11 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 33e251c87f..c0af1aaf3b 100644 public Map altItemDespawnRateMap; private void altItemDespawnRate() { diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 46490a9430..54a61283e6 100644 +index 540fcce1d..e29ec958b 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -46,6 +46,7 @@ public class Block implements IMaterial { @@ -33,7 +33,7 @@ index 46490a9430..54a61283e6 100644 private final boolean i; private final boolean j; diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java -index c482aad3e3..02c548dd9c 100644 +index c482aad3e..02c548dd9 100644 --- a/src/main/java/net/minecraft/server/BlockBamboo.java +++ b/src/main/java/net/minecraft/server/BlockBamboo.java @@ -85,6 +85,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement { @@ -45,7 +45,7 @@ index c482aad3e3..02c548dd9c 100644 int i = this.b(worldserver, blockposition) + 1; diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java -index e0974e256f..3524fcb927 100644 +index e0974e256..3524fcb92 100644 --- a/src/main/java/net/minecraft/server/BlockCactus.java +++ b/src/main/java/net/minecraft/server/BlockCactus.java @@ -21,6 +21,7 @@ public class BlockCactus extends Block { @@ -57,7 +57,7 @@ index e0974e256f..3524fcb927 100644 if (worldserver.isEmpty(blockposition1)) { diff --git a/src/main/java/net/minecraft/server/BlockChorusFlower.java b/src/main/java/net/minecraft/server/BlockChorusFlower.java -index d70b52cadf..b624cf3804 100644 +index d70b52cad..b624cf380 100644 --- a/src/main/java/net/minecraft/server/BlockChorusFlower.java +++ b/src/main/java/net/minecraft/server/BlockChorusFlower.java @@ -22,6 +22,7 @@ public class BlockChorusFlower extends Block { @@ -69,7 +69,7 @@ index d70b52cadf..b624cf3804 100644 if (worldserver.isEmpty(blockposition1) && blockposition1.getY() < 256) { diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java -index 55b07444e1..3bc3c5aa29 100644 +index 55b07444e..3bc3c5aa2 100644 --- a/src/main/java/net/minecraft/server/BlockReed.java +++ b/src/main/java/net/minecraft/server/BlockReed.java @@ -23,6 +23,7 @@ public class BlockReed extends Block { @@ -81,10 +81,10 @@ index 55b07444e1..3bc3c5aa29 100644 for (i = 1; worldserver.getType(blockposition.down(i)).getBlock() == this; ++i) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 919472370d..3739a95c5a 100644 +index f2d9392a0..70cbff313 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -581,7 +581,9 @@ public class WorldServer extends World { +@@ -590,7 +590,9 @@ public class WorldServer extends World { IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k); if (iblockdata.q()) { diff --git a/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch index d2e7465f7f..4ccc7c6f41 100644 --- a/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch +++ b/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch @@ -1,4 +1,4 @@ -From 53e8a47576f01a96be38659aacb7402f9b4bd8a9 Mon Sep 17 00:00:00 2001 +From fcc22090568b30deeb4c34c563fce675a8685a05 Mon Sep 17 00:00:00 2001 From: MisterErwin Date: Wed, 30 Oct 2019 16:57:54 +0100 Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and @@ -6,10 +6,10 @@ Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 739968a69b..a974391025 100644 +index 7ef0756ee..87395de25 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1824,7 +1824,12 @@ public class CraftWorld implements World { +@@ -1832,7 +1832,12 @@ public class CraftWorld implements World { height = 9; } diff --git a/work/Bukkit b/work/Bukkit index 3aa8286b32..bbfd13dd14 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 3aa8286b3254c1938a834d734e923fbca97c7f35 +Subproject commit bbfd13dd14aeb217cd2730619d06fdb6dcdf23d1 diff --git a/work/CraftBukkit b/work/CraftBukkit index 90ef74efbe..817116de01 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 90ef74efbe388b68d4e2296bb99988296d8200af +Subproject commit 817116de01089fb23c0334579cd18b9f5e079c4f diff --git a/work/Spigot b/work/Spigot index 2ee05fef19..05bb8bcfea 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 2ee05fef193e8c7ca00622672d059b2820a411a3 +Subproject commit 05bb8bcfea17355cab4b4986524329c51ed5f5fc