From 088fa6f28b029e58cfe286608fff9803f932a512 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 12 Feb 2021 18:42:12 -0500 Subject: [PATCH] [Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appear 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: 5b289e69 SPIGOT-5778: Added World.getGameTime method CraftBukkit Changes: d97d91871 SPIGOT-6347: Nether Portals Default to Nether, even in Nether 8aa6a953f SPIGOT-5778: Added World.getGameTime method Spigot Changes: 73fb6094 #107: Add async catching to chunk entity add/remove --- ...ld.spawnParticle-API-and-add-Builder.patch | 4 ++-- .../0111-Expand-Explosions-API.patch | 4 ++-- .../0156-Add-sun-related-API.patch | 4 ++-- .../0201-World-view-distance-api.patch | 4 ++-- .../0203-Spawn-Reason-API.patch | 6 ++--- Spigot-Server-Patches/0004-MC-Utils.patch | 16 +++++++------- ...to-current-Chunk-for-Entity-and-Bloc.patch | 10 ++++----- ...ts-for-each-Entity-Block-Entity-Type.patch | 6 ++--- Spigot-Server-Patches/0009-Timings-v2.patch | 8 +++---- ...ve-invalid-mob-spawner-tile-entities.patch | 4 ++-- .../0054-Add-exception-reporting-event.patch | 4 ++-- ...73-Configurable-Chunk-Inhabited-Time.patch | 4 ++-- ...tion-to-remove-corrupt-tile-entities.patch | 4 ++-- ...PI-for-Reason-Source-Triggering-play.patch | 4 ++-- ...ld.spawnParticle-API-and-add-Builder.patch | 6 ++--- ...Item-entities-with-World.spawnEntity.patch | 4 ++-- .../0228-Expand-Explosions-API.patch | 4 ++-- ...2-Implement-World.getEntity-UUID-API.patch | 4 ++-- ...-anytime-entities-change-to-guarante.patch | 6 ++--- ...dd-some-Debug-to-Chunk-Entity-slices.patch | 10 ++++----- ...ead-Entities-in-entityList-iteration.patch | 22 +++++++++---------- .../0294-Add-sun-related-API.patch | 8 +++---- .../0350-Duplicate-UUID-Resolve-Option.patch | 8 +++---- ...le-Keep-Spawn-Loaded-range-per-world.patch | 8 +++---- ...opper-searches-if-there-are-no-items.patch | 10 ++++----- ...68-Asynchronous-chunk-IO-and-loading.patch | 8 +++---- ...hanging-entities-that-are-not-ItemFr.patch | 4 ++-- .../0407-Optimise-random-block-ticking.patch | 4 ++-- ...No-Tick-view-distance-implementation.patch | 8 +++---- ...k-Priority-Urgency-System-for-Chunks.patch | 4 ++-- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 4 ++-- ...keLighting-call-to-World-spigot-stri.patch | 4 ++-- .../0636-Added-WorldGameRuleChangeEvent.patch | 6 ++--- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 36 files changed, 110 insertions(+), 110 deletions(-) diff --git a/Spigot-API-Patches/0096-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-API-Patches/0096-Expand-World.spawnParticle-API-and-add-Builder.patch index ac1f33451..233b4b8b6 100644 --- a/Spigot-API-Patches/0096-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-API-Patches/0096-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -515,10 +515,10 @@ index b32de827cf8d1780861c271b4215276fdaab7165..1020002ff7127877db2d7e096f2c5217 * Options which can be applied to redstone dust particles - a particle * color and size. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index df2178aea2ac5420decc20a71f2337fd9a2ce33d..a8471e630769f8d9761ddf5a2ca2157822038fcc 100644 +index 4bffb3cadebb2081e8caae6b9d127591345411e6..994e289fcbfef03a56d005f9d1b91151f2cecfaa 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -2542,7 +2542,57 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -2551,7 +2551,57 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} */ diff --git a/Spigot-API-Patches/0111-Expand-Explosions-API.patch b/Spigot-API-Patches/0111-Expand-Explosions-API.patch index 8f544b548..4c543ede8 100644 --- a/Spigot-API-Patches/0111-Expand-Explosions-API.patch +++ b/Spigot-API-Patches/0111-Expand-Explosions-API.patch @@ -106,10 +106,10 @@ index 4cf22afc3c1f1cc19b6e5350043431215908a612..af2ee43f2c5133668c18710f526a107d * Returns a list of entities within a bounding box centered around a Location. * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index bd63ab47f7cf0a4e8ebed270933a60d7e602d15a..0f2da753bdc8d8fd0e636752c9393722c87b0d42 100644 +index 994e289fcbfef03a56d005f9d1b91151f2cecfaa..aa0e0b6d916e5ba01470ea94f9fd6fe0b2a7b4cf 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -1401,6 +1401,88 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1410,6 +1410,88 @@ public interface World extends PluginMessageRecipient, Metadatable { */ public boolean createExplosion(@NotNull Location loc, float power, boolean setFire); diff --git a/Spigot-API-Patches/0156-Add-sun-related-API.patch b/Spigot-API-Patches/0156-Add-sun-related-API.patch index 440493a10..1c6589f86 100644 --- a/Spigot-API-Patches/0156-Add-sun-related-API.patch +++ b/Spigot-API-Patches/0156-Add-sun-related-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add sun related API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 9b8f354d79e6aad67faf5fc587df76264ceeac37..11d5df94788794da99572c57baec12ee1e58e0b1 100644 +index de607fe0a2e864dc66d9341b233d0d8b120db1f9..ad915c2a190fa5bb50cbf88dfd99798918c75a47 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1780,6 +1780,16 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -23,7 +23,7 @@ index 9b8f354d79e6aad67faf5fc587df76264ceeac37..11d5df94788794da99572c57baec12ee + // Paper end + /** - * Returns whether the world has an ongoing storm. + * Gets the full in-game time on this world since the world generation * diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java index b132287817d35579ca5128a1ed5c242bf229771a..d726453c041a980576312b6bee96a07837f37974 100644 diff --git a/Spigot-API-Patches/0201-World-view-distance-api.patch b/Spigot-API-Patches/0201-World-view-distance-api.patch index f95487bd8..248364be8 100644 --- a/Spigot-API-Patches/0201-World-view-distance-api.patch +++ b/Spigot-API-Patches/0201-World-view-distance-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] World view distance api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 5905da5828752c8805faff3c96d2288260f4c4bc..bded64b3dea35a1b8945510bb3def5f436d92d62 100644 +index 607d46e819867b20549b6b2717a9b2b3c37797b5..22b913071af2526e73a571cdf8889b0f19e22d6e 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3397,6 +3397,34 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -3406,6 +3406,34 @@ public interface World extends PluginMessageRecipient, Metadatable { int getViewDistance(); // Spigot end diff --git a/Spigot-API-Patches/0203-Spawn-Reason-API.patch b/Spigot-API-Patches/0203-Spawn-Reason-API.patch index 994050f08..ec97c0f2b 100644 --- a/Spigot-API-Patches/0203-Spawn-Reason-API.patch +++ b/Spigot-API-Patches/0203-Spawn-Reason-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Spawn Reason API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index ac149127ac7b1814bf0dfaa440cae558a860227d..9466202ffa7c75f85282fbc585498f8e72ae8b12 100644 +index 22b913071af2526e73a571cdf8889b0f19e22d6e..9b12fbec82017d8cbb21b5a8c3d563f1974dc1c5 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1,6 +1,8 @@ @@ -17,7 +17,7 @@ index ac149127ac7b1814bf0dfaa440cae558a860227d..9466202ffa7c75f85282fbc585498f8e import org.bukkit.generator.ChunkGenerator; import java.util.ArrayList; -@@ -2208,6 +2210,12 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -2217,6 +2219,12 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public T spawn(@NotNull Location location, @NotNull Class clazz) throws IllegalArgumentException; @@ -30,7 +30,7 @@ index ac149127ac7b1814bf0dfaa440cae558a860227d..9466202ffa7c75f85282fbc585498f8e /** * Spawn an entity of a specific class at the given {@link Location}, with * the supplied function run before the entity is added to the world. -@@ -2225,7 +2233,28 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -2234,7 +2242,28 @@ public interface World extends PluginMessageRecipient, Metadatable { * {@link Entity} requested cannot be spawned */ @NotNull diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 14aa39810..397053f3f 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -2411,7 +2411,7 @@ index 1b2f415e3ed7f6dca12d13cd098cb4ec3af54020..64e8088d394ddcda59d0209883b778ab @Override public BlockPosition immutableCopy() { diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 225e8fef6741d9bdbc8ac86cd17e54ddbf04a9e8..8d5598fab64ce3ac58121302dca4b528edd26563 100644 +index 9a07db3442d1ef2c1b1c1f1293445d28b0a4c84d..c8ff99ef5c7574292ee66a4aec45d1550eab1624 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -26,7 +26,7 @@ public class Chunk implements IChunkAccess { @@ -2572,7 +2572,7 @@ index 225e8fef6741d9bdbc8ac86cd17e54ddbf04a9e8..8d5598fab64ce3ac58121302dca4b528 @Override public Fluid getFluid(BlockPosition blockposition) { return this.a(blockposition.getX(), blockposition.getY(), blockposition.getZ()); -@@ -356,6 +473,7 @@ public class Chunk implements IChunkAccess { +@@ -357,6 +474,7 @@ public class Chunk implements IChunkAccess { entity.chunkX = this.loc.x; entity.chunkY = k; entity.chunkZ = this.loc.z; @@ -2580,7 +2580,7 @@ index 225e8fef6741d9bdbc8ac86cd17e54ddbf04a9e8..8d5598fab64ce3ac58121302dca4b528 this.entitySlices[k].add(entity); } -@@ -378,6 +496,7 @@ public class Chunk implements IChunkAccess { +@@ -380,6 +498,7 @@ public class Chunk implements IChunkAccess { } this.entitySlices[i].remove(entity); @@ -2588,7 +2588,7 @@ index 225e8fef6741d9bdbc8ac86cd17e54ddbf04a9e8..8d5598fab64ce3ac58121302dca4b528 } @Override -@@ -399,6 +518,7 @@ public class Chunk implements IChunkAccess { +@@ -401,6 +520,7 @@ public class Chunk implements IChunkAccess { return this.a(blockposition, Chunk.EnumTileEntityState.CHECK); } @@ -2596,7 +2596,7 @@ index 225e8fef6741d9bdbc8ac86cd17e54ddbf04a9e8..8d5598fab64ce3ac58121302dca4b528 @Nullable public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start -@@ -510,7 +630,25 @@ public class Chunk implements IChunkAccess { +@@ -512,7 +632,25 @@ public class Chunk implements IChunkAccess { // CraftBukkit start public void loadCallback() { @@ -2622,7 +2622,7 @@ index 225e8fef6741d9bdbc8ac86cd17e54ddbf04a9e8..8d5598fab64ce3ac58121302dca4b528 if (server != null) { /* * If it's a new world, the first few chunks are generated inside -@@ -549,6 +687,22 @@ public class Chunk implements IChunkAccess { +@@ -551,6 +689,22 @@ public class Chunk implements IChunkAccess { server.getPluginManager().callEvent(unloadEvent); // note: saving can be prevented, but not forced if no saving is actually required this.mustNotSave = !unloadEvent.isSaveChunk(); @@ -4392,7 +4392,7 @@ index ff41038ce6d2c1a8093bce3539070fa0ccfd61c2..ed0f9c5d29c4f88b7beee4b0ecdd7a56 return VoxelShapes.b; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2ffa56f3580b524c3593505585410dc347e1780c..9c6b15e70bfb7db853c8e4a8dfd7b24bae27a70c 100644 +index 1606a7b4727fffef27d6bb08633b652b7e7fe588..6df28adb17d78a7f5189787a979a44fad677f05c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -22,6 +22,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot @@ -4593,7 +4593,7 @@ index 9ad17c560c8d99a396543ab9f97c34de648f6544..4bf48f77f3f7cd62a91590543f5af441 currentTask = null; } diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 3f55381c152b9841b524f623c9b32360e97cb8ed..d85e21b75054067b926ecfee89d62c6dd0744189 100644 +index a8ce875f801edc424b5277abf7471e73ce91e3e6..f5f70c1fe31e5c533991e2c857fe8c10a83b94fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -39,6 +39,21 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot diff --git a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 124b4d1b7..a6b0ae798 100644 --- a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -8,7 +8,7 @@ This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8d5598fab64ce3ac58121302dca4b528edd26563..402f6ed90132f48d560a21f56cd50121c42fb34a 100644 +index c8ff99ef5c7574292ee66a4aec45d1550eab1624..7c5f79124d2f2c69548263e79752484e07e77d48 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -56,11 +56,36 @@ public class Chunk implements IChunkAccess { @@ -49,7 +49,7 @@ index 8d5598fab64ce3ac58121302dca4b528edd26563..402f6ed90132f48d560a21f56cd50121 this.l = Maps.newHashMap(); this.m = Maps.newHashMap(); this.n = new ShortList[16]; -@@ -470,6 +495,7 @@ public class Chunk implements IChunkAccess { +@@ -471,6 +496,7 @@ public class Chunk implements IChunkAccess { } entity.inChunk = true; @@ -57,7 +57,7 @@ index 8d5598fab64ce3ac58121302dca4b528edd26563..402f6ed90132f48d560a21f56cd50121 entity.chunkX = this.loc.x; entity.chunkY = k; entity.chunkZ = this.loc.z; -@@ -482,6 +508,7 @@ public class Chunk implements IChunkAccess { +@@ -483,6 +509,7 @@ public class Chunk implements IChunkAccess { ((HeightMap) this.heightMap.get(heightmap_type)).a(along); } @@ -65,7 +65,7 @@ index 8d5598fab64ce3ac58121302dca4b528edd26563..402f6ed90132f48d560a21f56cd50121 public void b(Entity entity) { this.a(entity, entity.chunkY); } -@@ -495,7 +522,12 @@ public class Chunk implements IChunkAccess { +@@ -497,7 +524,12 @@ public class Chunk implements IChunkAccess { i = this.entitySlices.length - 1; } @@ -80,7 +80,7 @@ index 8d5598fab64ce3ac58121302dca4b528edd26563..402f6ed90132f48d560a21f56cd50121 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f6b97eec33ace01077e6bca58f3c11978422ac47..5e0db989a0f6c7c7041a968550f4068b9a946136 100644 +index b8267cf23f795fd7e586b0e567037eae5048d08e..b35ffae9f88cc14aec01482c2a3ed2e2428c2012 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -176,7 +176,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch index 1b3233c08..a4a2a5f47 100644 --- a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch +++ b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type Opens door for future patches to optimize performance diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 402f6ed90132f48d560a21f56cd50121c42fb34a..9f1db6491dafa8e32395db381466a3447395da7e 100644 +index 7c5f79124d2f2c69548263e79752484e07e77d48..853e11836b6c4eadd03feead101bf578b17b86a3 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -57,15 +57,19 @@ public class Chunk implements IChunkAccess { @@ -37,7 +37,7 @@ index 402f6ed90132f48d560a21f56cd50121c42fb34a..9f1db6491dafa8e32395db381466a344 } return removed; } -@@ -494,6 +499,7 @@ public class Chunk implements IChunkAccess { +@@ -495,6 +500,7 @@ public class Chunk implements IChunkAccess { k = this.entitySlices.length - 1; } @@ -45,7 +45,7 @@ index 402f6ed90132f48d560a21f56cd50121c42fb34a..9f1db6491dafa8e32395db381466a344 entity.inChunk = true; entity.setCurrentChunk(this); // Paper entity.chunkX = this.loc.x; -@@ -527,6 +533,7 @@ public class Chunk implements IChunkAccess { +@@ -529,6 +535,7 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[i].remove(entity)) { return; } diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 0a3bbd17f..0e7a9f9a4 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -738,10 +738,10 @@ index 871b79cb2c63525c430c257f00b2cf70157aa476..d847326b0099a0c05a085d5d62de6304 private String name; @Nullable diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 9f1db6491dafa8e32395db381466a3447395da7e..19ddcabdc17c23c4ec46f5669ba0fd56d4bbee58 100644 +index 853e11836b6c4eadd03feead101bf578b17b86a3..0aea16df16b55b1d4756b51d10c8c22d37aef9a3 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -697,6 +697,7 @@ public class Chunk implements IChunkAccess { +@@ -699,6 +699,7 @@ public class Chunk implements IChunkAccess { server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration)); if (this.needsDecoration) { @@ -749,7 +749,7 @@ index 9f1db6491dafa8e32395db381466a3447395da7e..19ddcabdc17c23c4ec46f5669ba0fd56 this.needsDecoration = false; java.util.Random random = new java.util.Random(); random.setSeed(world.getSeed()); -@@ -716,6 +717,7 @@ public class Chunk implements IChunkAccess { +@@ -718,6 +719,7 @@ public class Chunk implements IChunkAccess { } } server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk)); @@ -1007,7 +1007,7 @@ index d91b029c95b6380300db81e7c0fb172ff57958a1..218071260dec39dd4f7eb733ae6f832a } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 9f32f6c3c34464e82a953a50141343b0083dea71..ace7d5a36c0a44763d554d5d83cee7817f77fcc1 100644 +index b35ffae9f88cc14aec01482c2a3ed2e2428c2012..03933c24ed4d97e16bcebf6b89b1a8d1fc43cd0b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -31,7 +31,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; diff --git a/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch b/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch index 1abdd2b2d..bbd1eaf65 100644 --- a/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch +++ b/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove invalid mob spawner tile entities diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 19ddcabdc17c23c4ec46f5669ba0fd56d4bbee58..0da51a454b599f54f3bd443040cdcac57b1c7d7c 100644 +index 0aea16df16b55b1d4756b51d10c8c22d37aef9a3..0d0f36c62d260390827321aa6472f51a3a204c95 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -612,6 +612,10 @@ public class Chunk implements IChunkAccess { +@@ -614,6 +614,10 @@ public class Chunk implements IChunkAccess { } // CraftBukkit start diff --git a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch index 9f4ed7bce..7f597196e 100644 --- a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch @@ -49,7 +49,7 @@ index 0000000000000000000000000000000000000000..f699ce18ca044f813e194ef2786b7ea8 + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0da51a454b599f54f3bd443040cdcac57b1c7d7c..81c6ce3ba87da692675bca8b2831a90fabfa4e37 100644 +index 0d0f36c62d260390827321aa6472f51a3a204c95..01655fd86f9a3218036f8b5404e233d32e0904a5 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -59,7 +59,7 @@ index 0da51a454b599f54f3bd443040cdcac57b1c7d7c..81c6ce3ba87da692675bca8b2831a90f import com.google.common.collect.Maps; import com.google.common.collect.Sets; import it.unimi.dsi.fastutil.longs.LongOpenHashSet; -@@ -617,10 +618,15 @@ public class Chunk implements IChunkAccess { +@@ -619,10 +620,15 @@ public class Chunk implements IChunkAccess { this.tileEntities.remove(blockposition); // Paper end } else { diff --git a/Spigot-Server-Patches/0073-Configurable-Chunk-Inhabited-Time.patch b/Spigot-Server-Patches/0073-Configurable-Chunk-Inhabited-Time.patch index 7898d4b53..f3ecbeea8 100644 --- a/Spigot-Server-Patches/0073-Configurable-Chunk-Inhabited-Time.patch +++ b/Spigot-Server-Patches/0073-Configurable-Chunk-Inhabited-Time.patch @@ -30,10 +30,10 @@ index cd64fb9d0c6d123e1c86cb33f12cd9cefc9f80d0..74ba5dbb83c13ce1721619b755036a78 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b6ff6095543d720382786e159a9f1cdd6eb6f166..f9ad646f3061914e55e424602abe27da7f1c0865 100644 +index 9ef17a2ad31c8e11ba433b49aa9a31cf8df57dc8..83858165764a7459843433de1a077037692a2a97 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -984,7 +984,7 @@ public class Chunk implements IChunkAccess { +@@ -986,7 +986,7 @@ public class Chunk implements IChunkAccess { @Override public long getInhabitedTime() { diff --git a/Spigot-Server-Patches/0114-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0114-Option-to-remove-corrupt-tile-entities.patch index f1fa88135..ecea71ce5 100644 --- a/Spigot-Server-Patches/0114-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0114-Option-to-remove-corrupt-tile-entities.patch @@ -19,10 +19,10 @@ index 6eca3f300020006f02dd36253b522db442e3cc33..622affa0dc3cc1eadaed400511f2ca2c + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f9ad646f3061914e55e424602abe27da7f1c0865..8dd560c8207f14123ab9c9820d8ce7333775db35 100644 +index 83858165764a7459843433de1a077037692a2a97..380690cdb1052b12d0574c111c2162bd7ed8ecca 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -641,6 +641,12 @@ public class Chunk implements IChunkAccess { +@@ -643,6 +643,12 @@ public class Chunk implements IChunkAccess { "Chunk coordinates: " + (this.loc.x * 16) + "," + (this.loc.z * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); diff --git a/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 1a64186e7..e6ce13ff4 100644 --- a/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -278,10 +278,10 @@ index a3ddf7be4c7ea588098381b8f05b2bad5b388853..99b20fa5feff0f766124d4ec9474852e } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3f35e1290beaab1fa2ca93ec64ab0dd42d68d71c..85562d2cafab6f81705b70ac1f965ccfb38abdf5 100644 +index e42f27bb10b6ee279555cfee3c90a88fccad9d65..5bf5a815653b0556d9d2bcaf5f69026b77bd28a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1822,7 +1822,7 @@ public class CraftWorld implements World { +@@ -1827,7 +1827,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/0212-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch index 1628be677..97a93de58 100644 --- a/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 8e005ead10a9ac738b0e626239926bbf30e16695..78e99f072304fbddec95fed488b4b14743bd1252 100644 +index e23a5f446a1e357493f5232c39baa45f7386a637..a1491094b58cf814d7b05d6c0ce4067bf34dae1a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -61,7 +61,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -43,10 +43,10 @@ index 8e005ead10a9ac738b0e626239926bbf30e16695..78e99f072304fbddec95fed488b4b147 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 7b8440c58471315d7b8af786ba8daddc1625865f..88774ab77801476c16506699ad2d53c4e360e20a 100644 +index 5bf5a815653b0556d9d2bcaf5f69026b77bd28a6..94fd77595a6bf2ee8deace75e243e5ce4286d82d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2334,11 +2334,17 @@ public class CraftWorld implements World { +@@ -2339,11 +2339,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/0216-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0216-Allow-spawning-Item-entities-with-World.spawnEntity.patch index f47357f83..de477b392 100644 --- a/Spigot-Server-Patches/0216-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0216-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -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 88774ab77801476c16506699ad2d53c4e360e20a..4028996bcd0317dc487680ecbca30563c68fbe10 100644 +index 94fd77595a6bf2ee8deace75e243e5ce4286d82d..3518505236e1b5c7267bc65756acd60f34873cfc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1502,6 +1502,10 @@ public class CraftWorld implements World { +@@ -1507,6 +1507,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/0228-Expand-Explosions-API.patch b/Spigot-Server-Patches/0228-Expand-Explosions-API.patch index d9151a168..33d335e1b 100644 --- a/Spigot-Server-Patches/0228-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0228-Expand-Explosions-API.patch @@ -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 b092a01bc061563cb095b3d81e8595c26bf1e85e..f2badcd265fe717132a377da7ca8d11d64c32871 100644 +index 3518505236e1b5c7267bc65756acd60f34873cfc..5059ae88375ca9077f02fa521b9ff35018584417 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -877,6 +877,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/0232-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0232-Implement-World.getEntity-UUID-API.patch index b594abab1..6931f8ac7 100644 --- a/Spigot-Server-Patches/0232-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0232-Implement-World.getEntity-UUID-API.patch @@ -5,10 +5,10 @@ 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 f2badcd265fe717132a377da7ca8d11d64c32871..e5e27c2ecc92f1a8c33cc7442e7034de1b4a4a84 100644 +index 5059ae88375ca9077f02fa521b9ff35018584417..6c58b404807c109bacdf6f3d35fbb05329ea8465 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1291,6 +1291,15 @@ public class CraftWorld implements World { +@@ -1296,6 +1296,15 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0248-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0248-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch index 69204c099..49acb393e 100644 --- a/Spigot-Server-Patches/0248-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch +++ b/Spigot-Server-Patches/0248-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8dd560c8207f14123ab9c9820d8ce7333775db35..90b2a891c5bfa26ab1ff6738f58719a10d5cbed6 100644 +index 380690cdb1052b12d0574c111c2162bd7ed8ecca..84ad87f4a1ab9c136e00f4c9f029853d82f57247 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -523,6 +523,7 @@ public class Chunk implements IChunkAccess { +@@ -524,6 +524,7 @@ public class Chunk implements IChunkAccess { entity.chunkZ = this.loc.z; this.entities.add(entity); // Paper - per chunk entity list this.entitySlices[k].add(entity); @@ -17,7 +17,7 @@ index 8dd560c8207f14123ab9c9820d8ce7333775db35..90b2a891c5bfa26ab1ff6738f58719a1 } @Override -@@ -550,6 +551,7 @@ public class Chunk implements IChunkAccess { +@@ -552,6 +553,7 @@ public class Chunk implements IChunkAccess { return; } entityCounts.decrement(entity.getMinecraftKeyString()); diff --git a/Spigot-Server-Patches/0249-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0249-Add-some-Debug-to-Chunk-Entity-slices.patch index 03a6fa611..c8c69a78f 100644 --- a/Spigot-Server-Patches/0249-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0249-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -9,10 +9,10 @@ This should hopefully avoid duplicate entities ever being created if the entity was to end up in 2 different chunk slices diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 90b2a891c5bfa26ab1ff6738f58719a10d5cbed6..8b9454fd44fe1d14eb6d46f772be56937c99595a 100644 +index 84ad87f4a1ab9c136e00f4c9f029853d82f57247..e829f62397d092fa919d387b157a65b0c627e2e2 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -514,6 +514,25 @@ public class Chunk implements IChunkAccess { +@@ -515,6 +515,25 @@ public class Chunk implements IChunkAccess { if (k >= this.entitySlices.length) { k = this.entitySlices.length - 1; } @@ -38,7 +38,7 @@ index 90b2a891c5bfa26ab1ff6738f58719a10d5cbed6..8b9454fd44fe1d14eb6d46f772be5693 if (!entity.inChunk || entity.getCurrentChunk() != this) entityCounts.increment(entity.getMinecraftKeyString()); // Paper entity.inChunk = true; -@@ -523,6 +542,7 @@ public class Chunk implements IChunkAccess { +@@ -524,6 +543,7 @@ public class Chunk implements IChunkAccess { entity.chunkZ = this.loc.z; this.entities.add(entity); // Paper - per chunk entity list this.entitySlices[k].add(entity); @@ -46,7 +46,7 @@ index 90b2a891c5bfa26ab1ff6738f58719a10d5cbed6..8b9454fd44fe1d14eb6d46f772be5693 this.markDirty(); // Paper } -@@ -547,6 +567,10 @@ public class Chunk implements IChunkAccess { +@@ -549,6 +569,10 @@ public class Chunk implements IChunkAccess { // Paper start if (entity.currentChunk != null && entity.currentChunk.get() == this) entity.setCurrentChunk(null); @@ -58,7 +58,7 @@ index 90b2a891c5bfa26ab1ff6738f58719a10d5cbed6..8b9454fd44fe1d14eb6d46f772be5693 return; } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 02e4ce705c2a7a1cdc7024a6c3db799db8922ce9..29b24fd75f06501a814868d1fab85c9b818bd316 100644 +index c7c8dd944c084c281568cb6444c8bda35b35a4df..da195d9bb6995fcbe569ca2e2b08c473431376a6 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -71,6 +71,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0253-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0253-Ignore-Dead-Entities-in-entityList-iteration.patch index 5f66f7521..4963089a0 100644 --- a/Spigot-Server-Patches/0253-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0253-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -23,10 +23,10 @@ index 9cb2f3b31921870ddba044840e99eb04babe26bb..f0a836db74ad3e20778d3863223bc9a3 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.chunkX, e.chunkZ); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8b9454fd44fe1d14eb6d46f772be56937c99595a..a35cd4df85f0043b83f2f70cec6091d6bae89767 100644 +index e829f62397d092fa919d387b157a65b0c627e2e2..3cb1ee261724e34a23c4a0f98673da1597786a01 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -823,6 +823,7 @@ public class Chunk implements IChunkAccess { +@@ -825,6 +825,7 @@ public class Chunk implements IChunkAccess { for (int i1 = 0; i1 < l; ++i1) { Entity entity1 = (Entity) list1.get(i1); @@ -34,7 +34,7 @@ index 8b9454fd44fe1d14eb6d46f772be56937c99595a..a35cd4df85f0043b83f2f70cec6091d6 if (entity1.getBoundingBox().c(axisalignedbb) && entity1 != entity) { if (predicate == null || predicate.test(entity1)) { -@@ -860,6 +861,7 @@ public class Chunk implements IChunkAccess { +@@ -862,6 +863,7 @@ public class Chunk implements IChunkAccess { while (iterator.hasNext()) { T entity = (T) iterator.next(); // CraftBukkit - decompile error @@ -42,7 +42,7 @@ index 8b9454fd44fe1d14eb6d46f772be56937c99595a..a35cd4df85f0043b83f2f70cec6091d6 if ((entitytypes == null || entity.getEntityType() == entitytypes) && entity.getBoundingBox().c(axisalignedbb) && predicate.test(entity)) { list.add(entity); -@@ -882,6 +884,7 @@ public class Chunk implements IChunkAccess { +@@ -884,6 +886,7 @@ public class Chunk implements IChunkAccess { while (iterator.hasNext()) { T t0 = (T) iterator.next(); // CraftBukkit - decompile error @@ -51,7 +51,7 @@ index 8b9454fd44fe1d14eb6d46f772be56937c99595a..a35cd4df85f0043b83f2f70cec6091d6 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 29b24fd75f06501a814868d1fab85c9b818bd316..b2cccdc9f2f243cd3fb1283ade0280b2acb0f772 100644 +index da195d9bb6995fcbe569ca2e2b08c473431376a6..49c7b40744adcd36e5ae1eef026679e9b646feac 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -190,6 +190,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,7 +63,7 @@ index 29b24fd75f06501a814868d1fab85c9b818bd316..b2cccdc9f2f243cd3fb1283ade0280b2 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 0d78071a1d91c0289992d84a3858102e56434356..46624d1832eb76aed688da5e1cf6c7dc304d610b 100644 +index d6c319c1177e43eebeb7d9f366da3495b38b6b97..1cbb1c3ddf45cd6d650ca274af4545f2d1c8a813 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1198,6 +1198,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -83,10 +83,10 @@ index 0d78071a1d91c0289992d84a3858102e56434356..46624d1832eb76aed688da5e1cf6c7dc } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9799e870ed5eff4053178b65e3f327892d5cfd5b..015fba96878fc48494bed06b94983ad408d186c5 100644 +index 6c58b404807c109bacdf6f3d35fbb05329ea8465..47d407af1a770404284c591978978b229cbf7541 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1027,6 +1027,7 @@ public class CraftWorld implements World { +@@ -1032,6 +1032,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; @@ -94,7 +94,7 @@ index 9799e870ed5eff4053178b65e3f327892d5cfd5b..015fba96878fc48494bed06b94983ad4 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1046,6 +1047,7 @@ public class CraftWorld implements World { +@@ -1051,6 +1052,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; @@ -102,7 +102,7 @@ index 9799e870ed5eff4053178b65e3f327892d5cfd5b..015fba96878fc48494bed06b94983ad4 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1072,6 +1074,7 @@ public class CraftWorld implements World { +@@ -1077,6 +1079,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -110,7 +110,7 @@ index 9799e870ed5eff4053178b65e3f327892d5cfd5b..015fba96878fc48494bed06b94983ad4 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -1095,6 +1098,7 @@ public class CraftWorld implements World { +@@ -1100,6 +1103,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/0294-Add-sun-related-API.patch b/Spigot-Server-Patches/0294-Add-sun-related-API.patch index 298483434..51b920af1 100644 --- a/Spigot-Server-Patches/0294-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0294-Add-sun-related-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add sun related API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 38bf49da2cc6b2f7068462ea8b57cf3a76ae1779..d91503b3e46c6ded3d77da4feeb8350df5bf924c 100644 +index fbecc8ccab47b428c43530ad344e325538cf242d..800a8dd2543f0b83eec67e780510427467649d5d 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1529,6 +1529,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -17,7 +17,7 @@ index 38bf49da2cc6b2f7068462ea8b57cf3a76ae1779..d91503b3e46c6ded3d77da4feeb8350d if (this.world.isDay() && !this.world.isClientSide) { float f = this.aR(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d193667beca3da156d8ae17cd80f4bf4c1dbfc8c..98af366848dba468d526d037a5e78fde4a4eda59 100644 +index bc10ccd76fcf3f03c23f52064c4db17bcad1c574..46a7e7b2f6079df036d2b73c82d7bf5ea1b07871 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -858,6 +858,13 @@ public class CraftWorld implements World { @@ -32,8 +32,8 @@ index d193667beca3da156d8ae17cd80f4bf4c1dbfc8c..98af366848dba468d526d037a5e78fde + // Paper end + @Override - public boolean createExplosion(double x, double y, double z, float power) { - return createExplosion(x, y, z, power, false, true); + public long getGameTime() { + return world.worldData.getTime(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java index c89bc7024b650c3b6d2c551f0e4e156975570cca..eaad222fd38a4db4074db04c931bcff7a9ca5e24 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java diff --git a/Spigot-Server-Patches/0350-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0350-Duplicate-UUID-Resolve-Option.patch index 30c3b5ba7..ea4852800 100644 --- a/Spigot-Server-Patches/0350-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0350-Duplicate-UUID-Resolve-Option.patch @@ -81,10 +81,10 @@ index fbf3ccfb347a5ba6e895339e9576629d940d1aa4..38d25a12c6a52d8a83214e2a0f43a218 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a35cd4df85f0043b83f2f70cec6091d6bae89767..714ef2a305fe98895ab5eb9190826bafbb157f59 100644 +index 3cb1ee261724e34a23c4a0f98673da1597786a01..b258d4a85c41c2de55a28c565766f57c3f1604ff 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -503,6 +503,7 @@ public class Chunk implements IChunkAccess { +@@ -504,6 +504,7 @@ public class Chunk implements IChunkAccess { if (i != this.loc.x || j != this.loc.z) { Chunk.LOGGER.warn("Wrong location! ({}, {}) should be ({}, {}), {}", i, j, this.loc.x, this.loc.z, entity); entity.dead = true; @@ -93,7 +93,7 @@ index a35cd4df85f0043b83f2f70cec6091d6bae89767..714ef2a305fe98895ab5eb9190826baf int k = MathHelper.floor(entity.locY() / 16.0D); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0d7f1a3f3861347479c90c8901b81429bf8629b2..53868afe6b8f7161a2fe30c23195e37cf00193a3 100644 +index 1dbeda9fb385be29b3bb20c33a0487334c6e7c16..595adbeb253529720e72f695667d5bf9584ebaf0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2711,6 +2711,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -197,7 +197,7 @@ index 4bbcd00950405a4bf3ce391b557049a3b1d4aee8..2db0f3e060850ae65033f878ed46b678 ChunkCoordIntPair chunkcoordintpair = playerchunk.i(); CompletableFuture, PlayerChunk.Failure>> completablefuture = this.a(chunkcoordintpair, 1, (i) -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 8d220f165435f0c73552dc5e6c912aefbaf91ee1..de2bdd55213613f439cd797bfe01986c8851eaa4 100644 +index 58c00add7c64c425150342c3840aa533b605ca7b..33e30ed20c99ab237f86c9d8746041a5b046bd42 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -4,6 +4,8 @@ import com.google.common.annotations.VisibleForTesting; diff --git a/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch index be5c8732f..7ee48984e 100644 --- a/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -21,7 +21,7 @@ index 38d25a12c6a52d8a83214e2a0f43a218cf15ceac..ffe9b1a63d78925e1d77b9e730aef42f + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 44991803a489a42842f79ce51bdd53a73ef35d71..7d9a3375d289deccdfa0f4caa8a2088550c560aa 100644 +index 83a0dc052683ad2de6843d49d2e2a861d94e8de2..816ab7ac0485f3eb80d461711800e84129f50d64 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -597,35 +597,36 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant ticklist, TickList ticklist1, long i, @Nullable ChunkSection[] achunksection, @Nullable Consumer consumer) { -@@ -543,6 +547,13 @@ public class Chunk implements IChunkAccess { +@@ -544,6 +548,13 @@ public class Chunk implements IChunkAccess { entity.chunkZ = this.loc.z; this.entities.add(entity); // Paper - per chunk entity list this.entitySlices[k].add(entity); @@ -42,7 +42,7 @@ index 68a6e8e3425291eb28f1759ecdd54eb80612f3a4..08d122f7f20e3c2cdfeababb41b0a891 entity.entitySlice = this.entitySlices[k]; // Paper this.markDirty(); // Paper } -@@ -575,6 +586,11 @@ public class Chunk implements IChunkAccess { +@@ -577,6 +588,11 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[i].remove(entity)) { return; } @@ -54,7 +54,7 @@ index 68a6e8e3425291eb28f1759ecdd54eb80612f3a4..08d122f7f20e3c2cdfeababb41b0a891 entityCounts.decrement(entity.getMinecraftKeyString()); this.markDirty(); // Paper // Paper end -@@ -860,6 +876,14 @@ public class Chunk implements IChunkAccess { +@@ -862,6 +878,14 @@ public class Chunk implements IChunkAccess { for (int k = i; k <= j; ++k) { Iterator iterator = this.entitySlices[k].iterator(); // Spigot @@ -69,7 +69,7 @@ index 68a6e8e3425291eb28f1759ecdd54eb80612f3a4..08d122f7f20e3c2cdfeababb41b0a891 while (iterator.hasNext()) { T entity = (T) iterator.next(); // CraftBukkit - decompile error if (entity.shouldBeRemoved) continue; // Paper -@@ -880,9 +904,29 @@ public class Chunk implements IChunkAccess { +@@ -882,9 +906,29 @@ public class Chunk implements IChunkAccess { i = MathHelper.clamp(i, 0, this.entitySlices.length - 1); j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); diff --git a/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch index 47c61e6b9..a8f554599 100644 --- a/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch @@ -2950,7 +2950,7 @@ index 85f7cfa1fade8d574e7f85d857ab071c66ec4a95..e79ed0b5702688aaa5a86dc5a511c326 DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, datapackconfiguration1, thread, iregistrycustom_dimension, convertable_conversionsession, resourcepackrepository, datapackresources, null, dedicatedserversettings, DataConverterRegistry.a(), minecraftsessionservice, gameprofilerepository, usercache, WorldLoadListenerLogger::new); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8e2971458b4fbac7d288c190245bb0f8e1c84d7a..10be85be566d486a486e2e0a61b3aa33858cab27 100644 +index cb551b24a103ff81459483d61050948840c27064..04a149a4902790c6b6d3c54a1738fb0cf2d462f9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -801,7 +801,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 ccb37f6828fe2edb9358c93daa9f67edeef1f920..a999683d6d16d3704c76b1af95255ad3c02a9fc2 100644 +index a468398008c176c67ead844e21b0dbf6cc4a9bf7..f9d3e7a774f6621cb8608d3dfa8676c3d13a174f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -98,6 +98,79 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -4015,7 +4015,7 @@ index ccb37f6828fe2edb9358c93daa9f67edeef1f920..a999683d6d16d3704c76b1af95255ad3 } public void removeTicketsForSpawn(int radiusInBlocks, BlockPosition spawn) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index dd3c24b4de393f4eaca88484ccf94b620fd28bdc..191660c6c3fd7272daec09f8986a3668479cc6ed 100644 +index 32c4b0089bc4ab1351e74e04b4e07c79beb9e328..83d1c748c0dd3004c4a479ca58f634d6a9b6faf4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -75,6 +75,7 @@ import net.minecraft.server.IBlockData; @@ -4058,7 +4058,7 @@ index dd3c24b4de393f4eaca88484ccf94b620fd28bdc..191660c6c3fd7272daec09f8986a3668 // fall through to load // we do this so we do not re-read the chunk data on disk -@@ -2484,6 +2486,34 @@ public class CraftWorld implements World { +@@ -2489,6 +2491,34 @@ public class CraftWorld implements World { public DragonBattle getEnderDragonBattle() { return (getHandle().getDragonBattle() == null) ? null : new CraftDragonBattle(getHandle().getDragonBattle()); } diff --git a/Spigot-Server-Patches/0380-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/Spigot-Server-Patches/0380-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch index d1ffcc079..732fa7656 100644 --- a/Spigot-Server-Patches/0380-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch +++ b/Spigot-Server-Patches/0380-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch @@ -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 191660c6c3fd7272daec09f8986a3668479cc6ed..f826f656efd54672c20cb3240d7ef7acd834b9f5 100644 +index 83d1c748c0dd3004c4a479ca58f634d6a9b6faf4..6ddfeea46997907f1dd666000c7cc2eb27cd4398 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1875,7 +1875,12 @@ public class CraftWorld implements World { +@@ -1880,7 +1880,12 @@ public class CraftWorld implements World { height = 9; } diff --git a/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch b/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch index 6e1ab7bf3..9e5b261d9 100644 --- a/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch +++ b/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch @@ -83,10 +83,10 @@ index f068436960c96b0df427bcdf337a4dcc6a9f66f5..253423acc3c3697a5e47136f34da9261 return this.d(baseblockposition.getX(), baseblockposition.getY(), baseblockposition.getZ()); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 08d122f7f20e3c2cdfeababb41b0a8910760b80b..81504bfbbd4a987c95f35d0f25754dbf8b2487e4 100644 +index 0601e9cdeb33dec82642ee9fbfaac1712bd0fae9..49bcd959206eeb21ff743f827a076b0c4cd3c722 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -597,8 +597,8 @@ public class Chunk implements IChunkAccess { +@@ -599,8 +599,8 @@ public class Chunk implements IChunkAccess { this.entities.remove(entity); // Paper } diff --git a/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch index 65cf5a77d..59234c571 100644 --- a/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch @@ -37,7 +37,7 @@ index 46ac6d91422423f1e03b86d3efa3241f2599000d..6463d3e4837d032a35654a035f42b8a8 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8e91a0270a7a72f09dfc86331a788765de1f9f5e..544f4a473d1453e029111bea45483543e3bcbabb 100644 +index 63de4bba14df9bc33ce04fff5bc0baede6fad6f7..0347dca5d2e40ba078d3f256e17f69ee7f0265cc 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -202,7 +202,51 @@ public class Chunk implements IChunkAccess { @@ -92,7 +92,7 @@ index 8e91a0270a7a72f09dfc86331a788765de1f9f5e..544f4a473d1453e029111bea45483543 } public final boolean isAnyNeighborsLoaded() { -@@ -1089,7 +1133,7 @@ public class Chunk implements IChunkAccess { +@@ -1091,7 +1135,7 @@ public class Chunk implements IChunkAccess { IBlockData iblockdata = this.getType(blockposition); IBlockData iblockdata1 = Block.b(iblockdata, (GeneratorAccess) this.world, blockposition); @@ -627,10 +627,10 @@ index d26fd68b2abd4907138ce77a6e6bb45c9af4af02..b5127f4b2deaa70b411991d78657f0c9 if ((i & 1) != 0) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8f221c3b4c4cc9b5dea9938d868a2a036854d6e3..48dc8ed1294ac53216d7014b0b3130acb8e5b328 100644 +index 756c675939c5f5835736e6b8c42ae20941712c49..b55523c573d1d44e84a7a63502473dc33eb1538c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2535,10 +2535,39 @@ public class CraftWorld implements World { +@@ -2540,10 +2540,39 @@ public class CraftWorld implements World { // Spigot start @Override public int getViewDistance() { diff --git a/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 1f2166480..c5ee62793 100644 --- a/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1222,10 +1222,10 @@ index d7b9d9fd3a3b607278a3d72b0b306b0be2aa30ad..6fd852db6bcfbfbf84ec2acf6d23b08a public static TicketType a(String s, Comparator comparator) { return new TicketType<>(s, comparator, 0L); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 48dc8ed1294ac53216d7014b0b3130acb8e5b328..560590c3c772eb91d562c622b627af36bf394609 100644 +index b55523c573d1d44e84a7a63502473dc33eb1538c..925aa6dddb4f572a05e7b5be5a0a201162b7b1eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2525,6 +2525,10 @@ public class CraftWorld implements World { +@@ -2530,6 +2530,10 @@ public class CraftWorld implements World { return future; } diff --git a/Spigot-Server-Patches/0494-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/Spigot-Server-Patches/0494-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index f061674d0..b921b862d 100644 --- a/Spigot-Server-Patches/0494-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/Spigot-Server-Patches/0494-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -44,7 +44,7 @@ index 8c454db0986fe5c23f7b8ece0abdad1f1e36cf08..94c91b38ec71a03fc3bc5b1e15f9737c printSaveWarning = false; console.autosavePeriod = configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 560590c3c772eb91d562c622b627af36bf394609..10697f8b5208a72bf3d7248c5abd73ddd10420cd 100644 +index 925aa6dddb4f572a05e7b5be5a0a201162b7b1eb..e32e972b00098bf1851b7974218c24eee55682d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -407,9 +407,22 @@ public class CraftWorld implements World { @@ -112,7 +112,7 @@ index 560590c3c772eb91d562c622b627af36bf394609..10697f8b5208a72bf3d7248c5abd73dd world.getChunkProvider().getChunkAt(x, z, ChunkStatus.FULL, true); return true; // Paper end -@@ -2531,6 +2546,7 @@ public class CraftWorld implements World { +@@ -2536,6 +2551,7 @@ public class CraftWorld implements World { } return this.world.getChunkProvider().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) either.left().orElse(null); diff --git a/Spigot-Server-Patches/0536-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/Spigot-Server-Patches/0536-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index 61be8b922..c9713cbe1 100644 --- a/Spigot-Server-Patches/0536-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/Spigot-Server-Patches/0536-Add-missing-strikeLighting-call-to-World-spigot-stri.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 10697f8b5208a72bf3d7248c5abd73ddd10420cd..f3aab5be1722651a27bb48a33618650b807d4e07 100644 +index e32e972b00098bf1851b7974218c24eee55682d9..ed55a1e6943fb9cdc763d1b7340e3ec53a46106e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2609,6 +2609,7 @@ public class CraftWorld implements World { +@@ -2614,6 +2614,7 @@ public class CraftWorld implements World { lightning.teleportAndSync( loc.getX(), loc.getY(), loc.getZ() ); lightning.isEffect = true; lightning.isSilent = isSilent; diff --git a/Spigot-Server-Patches/0636-Added-WorldGameRuleChangeEvent.patch b/Spigot-Server-Patches/0636-Added-WorldGameRuleChangeEvent.patch index 5014da1a1..a9ea2650b 100644 --- a/Spigot-Server-Patches/0636-Added-WorldGameRuleChangeEvent.patch +++ b/Spigot-Server-Patches/0636-Added-WorldGameRuleChangeEvent.patch @@ -74,10 +74,10 @@ index b245428604e2a432fa3bab4836a5ca1fb35c3f64..53b40f8947c9380ef57ecc7edca203c5 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 597d7a36d7d0b19502d92cf13da53d96c6ede58a..d86c25593db7cc0a73db1c37af94ae4e41bb4e93 100644 +index fe21b612f9bd2cf85670eeffa25998130b543339..22eba9372d334c65d009721e808c958dfc271308 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2345,8 +2345,13 @@ public class CraftWorld implements World { +@@ -2350,8 +2350,13 @@ public class CraftWorld implements World { if (!isGameRule(rule)) return false; @@ -92,7 +92,7 @@ index 597d7a36d7d0b19502d92cf13da53d96c6ede58a..d86c25593db7cc0a73db1c37af94ae4e handle.onChange(getHandle().getMinecraftServer()); return true; } -@@ -2381,8 +2386,12 @@ public class CraftWorld implements World { +@@ -2386,8 +2391,12 @@ public class CraftWorld implements World { if (!isGameRule(rule.getName())) return false; diff --git a/work/Bukkit b/work/Bukkit index 315b69c1d..5b289e691 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 315b69c1d189f057263c5ac54c058352f706a8b9 +Subproject commit 5b289e69146fd76766ce7f973821b05792d9a695 diff --git a/work/CraftBukkit b/work/CraftBukkit index a82b21297..d97d91871 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit a82b21297372bff77085d76f1fda58e8b0e2e1ab +Subproject commit d97d91871d7b2003591d9a9d59ee9c2306d3178a diff --git a/work/Spigot b/work/Spigot index cd23533a5..73fb6094f 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit cd23533a5b0ce59fcd0dd509be994b94d7c5f55e +Subproject commit 73fb6094f4fa318955bb5bb11a1ec1af12cf90a1