diff --git a/Spigot-Server-Patches/0025-Entity-Origin-API.patch b/Spigot-Server-Patches/0025-Entity-Origin-API.patch index 595aa3a5a..b6ecb9b6e 100644 --- a/Spigot-Server-Patches/0025-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0025-Entity-Origin-API.patch @@ -101,10 +101,10 @@ index 5406f4c40f86e74f8ed4e7e986b23d19141ddc30..d778eac45de775cf4058621fadb55b1b 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 38a71bca2f4c708fea656ce3bddf3842a44c82de..351825ebec43cd5dabe57650a7d9f81ac6e6e82d 100644 +index 4ab77e8dc0f918bd4f069a0f886d04dea473f046..f8c9e90d2e5bb60795f7957786e56168ff7bf11c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1178,6 +1178,11 @@ public class WorldServer extends World { +@@ -1166,6 +1166,11 @@ public class WorldServer extends World { this.navigators.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit diff --git a/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch index 61c5ec844..a41ea5de8 100644 --- a/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch @@ -5,10 +5,10 @@ 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 3769f0533dc0cfaf23e2411df982f901d788f80b..f8d1cb0231bc3b5a45d7150cb125a8af64a9c0a7 100644 +index 1e74e339de72ac34351e7bda6a2992c582d56f3f..02fe6706b855bb152effda5cedf1627f9a13db2a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1146,7 +1146,7 @@ public class WorldServer extends World { +@@ -1134,7 +1134,7 @@ public class WorldServer extends World { if (entity instanceof EntityInsentient) { this.navigators.remove(((EntityInsentient) entity).getNavigation()); } @@ -17,7 +17,7 @@ index 3769f0533dc0cfaf23e2411df982f901d788f80b..f8d1cb0231bc3b5a45d7150cb125a8af entity.valid = false; // CraftBukkit } -@@ -1184,6 +1184,7 @@ public class WorldServer extends World { +@@ -1172,6 +1172,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end diff --git a/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch index c1a95a641..40d174b13 100644 --- a/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch @@ -67,10 +67,10 @@ index aaedbaf4d7eb7750b356e184ac4a4f5e38d91b54..0e8d31babd39857c2754c19ddc780f8c } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f8d1cb0231bc3b5a45d7150cb125a8af64a9c0a7..f46da0e8a0c5b060b2424c59c4a205294c657889 100644 +index 02fe6706b855bb152effda5cedf1627f9a13db2a..532b5a4743fb2216ba3c1b61206cde4391275c8c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1631,7 +1631,7 @@ public class WorldServer extends World { +@@ -1619,7 +1619,7 @@ public class WorldServer extends World { } bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size())); @@ -79,7 +79,7 @@ index f8d1cb0231bc3b5a45d7150cb125a8af64a9c0a7..f46da0e8a0c5b060b2424c59c4a20529 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"); -@@ -1794,7 +1794,7 @@ public class WorldServer extends World { +@@ -1782,7 +1782,7 @@ public class WorldServer extends World { private void a(Writer writer) throws IOException { CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer); diff --git a/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch index f3c92f631..fc34eef39 100644 --- a/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch @@ -57,7 +57,7 @@ index b0740965a42a3931807fab88ab63077175b1c3b7..6b1a914d2f57182da0279cf4d2f9751d packetdataserializer.a(this.c); packetdataserializer.a(this.d); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 9212501b8b1cdf8102a752deda1cf38257fbd358..643e5883949de11d0205116e5ff11b4cc560ecb9 100644 +index 43b4649bfd22ab9ab7f1f10388dca2789ef362d9..aeb0a77d9aaf3877310528286a481f71fd5a4290 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -72,6 +72,7 @@ public abstract class PlayerList { @@ -99,7 +99,7 @@ index 9212501b8b1cdf8102a752deda1cf38257fbd358..643e5883949de11d0205116e5ff11b4c this.savePlayerFile(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1016,6 +1034,13 @@ public abstract class PlayerList { +@@ -1018,6 +1036,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/Spigot-Server-Patches/0096-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0096-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index ed6f1c00f..273a3716a 100644 --- a/Spigot-Server-Patches/0096-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/Spigot-Server-Patches/0096-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -102,10 +102,10 @@ index a56ac3da806035e853bb912ab874265ecbcd2753..2f1be1995d1a188da5be792abd7ac6f1 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 f46da0e8a0c5b060b2424c59c4a205294c657889..6271fb20920036958efcc3c8bd7a254e9a97a804 100644 +index 532b5a4743fb2216ba3c1b61206cde4391275c8c..f3fe395d9e9b1332d51cd35b0cb20f606a4a481e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1108,6 +1108,7 @@ public class WorldServer extends World { +@@ -1090,6 +1090,7 @@ public class WorldServer extends World { { if ( iter.next().trackee == entity ) { diff --git a/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch index c56104467..63a85ebaf 100644 --- a/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch @@ -73,10 +73,10 @@ index 35d31a9c36e837fcc361e8ba82c89aaee319b73d..8d6a0890073adbbb39db202f80d4b83c // Spigot Start private static double calcTps(double avg, double exp, double tps) diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 2932519886d0b8af83c1e92d4af23753d4782ba5..56266a77296bc9a84de1d853a6d739337608b995 100644 +index a97941d1f8a125c6d033b1d359c1527937f97799..940c3acfa0dee0d454a1cc10dd3ca3862fd7b030 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1029,10 +1029,15 @@ public abstract class PlayerList { +@@ -1031,10 +1031,15 @@ public abstract class PlayerList { entityplayer.playerInteractManager.b(generatoraccess.getWorldData().getGameType()); } @@ -93,7 +93,7 @@ index 2932519886d0b8af83c1e92d4af23753d4782ba5..56266a77296bc9a84de1d853a6d73933 } // CraftBukkit end -@@ -1044,6 +1049,7 @@ public abstract class PlayerList { +@@ -1046,6 +1051,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch index 8e36ff16b..23b25cfec 100644 --- a/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0217-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 7417725363a09500215d5e5e3be1d3a4458dd5e4..60f936f2e50aaf3a894f3fd92c7619263cf27878 100644 +index e428b3cb8c8ca5a662a0e867bf74d08775f1bacd..a834a77b2de8f7287be69fd5d002ff43261a9a85 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -56,7 +56,7 @@ public class WorldServer extends World { @@ -22,7 +22,7 @@ index 7417725363a09500215d5e5e3be1d3a4458dd5e4..60f936f2e50aaf3a894f3fd92c761926 boolean tickingEntities; private final MinecraftServer server; private final WorldNBTStorage dataManager; -@@ -1404,12 +1404,17 @@ public class WorldServer extends World { +@@ -1392,12 +1392,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) { diff --git a/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch index 033bb63e6..1bdce8918 100644 --- a/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0239-InventoryCloseEvent-Reason-API.patch @@ -101,7 +101,7 @@ index 4a0a8479448b5872f356379d6f68d9142d85e175..8eb12e89ea84051281149d96ca82905b this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index a61815c794885d7192eec62d05a54e765fb8c838..5ae0927c14a1915b85c13c13c8cf3e6b3dddfe9d 100644 +index 1800a6c86b2150b8183acdce3a7f6daa1c9a350b..b69cff40922ba2d1a44c11bcae86f9439130ad96 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -390,7 +390,7 @@ public abstract class PlayerList { @@ -114,27 +114,27 @@ index a61815c794885d7192eec62d05a54e765fb8c838..5ae0927c14a1915b85c13c13c8cf3e6b 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 60f936f2e50aaf3a894f3fd92c7619263cf27878..7c1a748c9b6982e09626cba60651a6de6a5796d4 100644 +index a834a77b2de8f7287be69fd5d002ff43261a9a85..d4e963c169f847acce882dfba067be0d64638ec4 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1050,7 +1050,7 @@ public class WorldServer extends World { - { - if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) - { -- ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory(); -+ ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper - } +@@ -1045,7 +1045,7 @@ public class WorldServer extends World { + for (TileEntity tileentity : chunk.getTileEntities().values()) { + if (tileentity instanceof IInventory) { + for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((IInventory) tileentity).getViewers())) { +- h.closeInventory(); ++ h.closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper } } -@@ -1073,7 +1073,7 @@ public class WorldServer extends World { - { - if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) - { -- ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory(); -+ ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper - } - } - } + } +@@ -1103,7 +1103,7 @@ public class WorldServer extends World { + // Spigot Start + if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder) { + for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((org.bukkit.inventory.InventoryHolder) entity.getBukkitEntity()).getInventory().getViewers())) { +- h.closeInventory(); ++ h.closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper + } + } + // Spigot End diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java index 20f0783025516048851aedef0a70759c2953ae47..a6d75c0e07a25fdb59dde2e3eb2a0213c7112515 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java diff --git a/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 5a156bbcc..38d371fe2 100644 --- a/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2ac396dd17e9b91d37685959f4a8e4473682e00f..3043b87cf74cd5e27b978464ed3032c68af8a7c0 100644 +index fe730cd301e6bae46320355ee8cb67d406a72a9f..5fd57a3d30972d86c62025d63cd57b56a147cc94 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -52,7 +52,7 @@ index 2f57c7bc76ddd8fd4b796d85eaa7200d8da41865..a1c33c525ce8ae0f4736198658174f8d 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 25e2a6580ae72ffa51bf67290992382797b2dd9c..02d9c754b11d37282e93f3a20d354e3010a12744 100644 +index 1019f180397abef5ec28d00c432415a7270026e2..5086a854b84b05e5b9c0f5677051d19dfa42f343 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -76,6 +76,9 @@ public class WorldServer extends World { @@ -95,7 +95,7 @@ index 25e2a6580ae72ffa51bf67290992382797b2dd9c..02d9c754b11d37282e93f3a20d354e30 // 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)) { -@@ -1170,7 +1193,24 @@ public class WorldServer extends World { +@@ -1158,7 +1181,24 @@ public class WorldServer extends World { } } diff --git a/Spigot-Server-Patches/0259-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0259-Prevent-Saving-Bad-entities-to-chunks.patch index c235b717a..b6bda37c0 100644 --- a/Spigot-Server-Patches/0259-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0259-Prevent-Saving-Bad-entities-to-chunks.patch @@ -80,10 +80,10 @@ index 13d99de2cd08de02215031a1f699110c13ef35ff..f54572773c25b6716a68166efa8d3fc8 public static ChunkStatus.Type a(@Nullable NBTTagCompound nbttagcompound) { if (nbttagcompound != null) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 02d9c754b11d37282e93f3a20d354e3010a12744..d1424325d5efb2f25062341bb57946e9b594813e 100644 +index 5086a854b84b05e5b9c0f5677051d19dfa42f343..426ca12970e0c75ba75eee6c3e3cdbf833730737 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1084,6 +1084,7 @@ public class WorldServer extends World { +@@ -1078,6 +1078,7 @@ public class WorldServer extends World { List[] aentityslice = chunk.getEntitySlices(); // Spigot int i = aentityslice.length; @@ -91,7 +91,7 @@ index 02d9c754b11d37282e93f3a20d354e3010a12744..d1424325d5efb2f25062341bb57946e9 for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot Iterator iterator = entityslice.iterator(); -@@ -1108,11 +1109,25 @@ public class WorldServer extends World { +@@ -1090,11 +1091,25 @@ public class WorldServer extends World { throw (IllegalStateException) SystemUtils.c(new IllegalStateException("Removing entity while ticking!")); } diff --git a/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch index 6284caf77..0893fa2ae 100644 --- a/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -51,7 +51,7 @@ index 0afa8a7ebd8dbdfaac362d66b687e787bc040dee..8e9ddca049f837ed1c5fc4aa9fd6a685 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 838aa7da699e969e9f067cea54e092959aa83143..35d22ec027952ba90dd27ed61708801b6903c393 100644 +index 84d36ea84e25a701af22900af6cd3099adf6cd54..6e87ff52df30f4de8cfb11d1dbfb71211d656831 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -195,6 +195,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,7 +63,7 @@ index 838aa7da699e969e9f067cea54e092959aa83143..35d22ec027952ba90dd27ed61708801b 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 d1424325d5efb2f25062341bb57946e9b594813e..f071b61195e6b72ac1d7a8cf7142f8017e153c8f 100644 +index 426ca12970e0c75ba75eee6c3e3cdbf833730737..3067ab76d94c58fbfd52fac6754bf6d6d7f01d09 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -908,7 +908,7 @@ public class WorldServer extends World { @@ -75,7 +75,7 @@ index d1424325d5efb2f25062341bb57946e9b594813e..f071b61195e6b72ac1d7a8cf7142f801 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; -@@ -1242,6 +1242,7 @@ public class WorldServer extends World { +@@ -1230,6 +1230,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -83,7 +83,7 @@ index d1424325d5efb2f25062341bb57946e9b594813e..f071b61195e6b72ac1d7a8cf7142f801 new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid } -@@ -1254,6 +1255,7 @@ public class WorldServer extends World { +@@ -1242,6 +1243,7 @@ public class WorldServer extends World { this.removeEntityFromChunk(entity); this.entitiesById.remove(entity.getId()); this.unregisterEntity(entity); diff --git a/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch index 67f95a175..fe7e89131 100644 --- a/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5ae0927c14a1915b85c13c13c8cf3e6b3dddfe9d..6b67201852db53fee5e2ee79d41c13f675065f72 100644 +index b69cff40922ba2d1a44c11bcae86f9439130ad96..9d23be3f212b208ddcc989e1bd736c9bf6aabcc4 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -910,8 +910,25 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index 5ae0927c14a1915b85c13c13c8cf3e6b3dddfe9d..6b67201852db53fee5e2ee79d41c13f6 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 f071b61195e6b72ac1d7a8cf7142f8017e153c8f..ad779650ed73176a88e5f4232df4ffcaf8f2797c 100644 +index 3067ab76d94c58fbfd52fac6754bf6d6d7f01d09..6e878c9b9dee511812df5ea2491d953f677c3f58 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1288,7 +1288,7 @@ public class WorldServer extends World { +@@ -1276,7 +1276,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); @@ -58,7 +58,7 @@ index f071b61195e6b72ac1d7a8cf7142f8017e153c8f..ad779650ed73176a88e5f4232df4ffca } @Override -@@ -1420,7 +1420,7 @@ public class WorldServer extends World { +@@ -1408,7 +1408,7 @@ public class WorldServer extends World { BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst(); if (this.a(blockactiondata)) { diff --git a/Spigot-Server-Patches/0311-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0311-Limit-lightning-strike-effect-distance.patch index d74958aec..417f5f643 100644 --- a/Spigot-Server-Patches/0311-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0311-Limit-lightning-strike-effect-distance.patch @@ -69,10 +69,10 @@ index 7c518983a9c21a9b221e1fa1b0baa3d5c9ccadbf..bdb534deb47a945d5cbfad688eeab5e3 --this.lifeTicks; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index ad779650ed73176a88e5f4232df4ffcaf8f2797c..a75034079b0f5a06509f9762593c5e805e35881c 100644 +index 6e878c9b9dee511812df5ea2491d953f677c3f58..271a1ef3d0aae7c1d0b373963504e70f2843cd24 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1288,7 +1288,7 @@ public class WorldServer extends World { +@@ -1276,7 +1276,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); diff --git a/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch index 78f0764ea..25042e1ce 100644 --- a/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch +++ b/Spigot-Server-Patches/0348-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch @@ -23,7 +23,7 @@ index 8570e38f42e2f489e2899ac2f0c4a7b8dda3bb75..c97be42dd7b4c6ea2cadcc97f47185c7 this.e = flag; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index e917d37382dab70ed9e6b62decf1557c33b26065..b30b1f68787bd72cddd7ead2d607c030f5e1b7eb 100644 +index 14c82861158eed8c91336590fb71c69d185d22f8..299a6586ddfdc221be93e2f3d55801ac06bf783b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -62,7 +62,7 @@ public abstract class PlayerList { @@ -47,7 +47,7 @@ index e917d37382dab70ed9e6b62decf1557c33b26065..b30b1f68787bd72cddd7ead2d607c030 event.callEvent(); if (!event.isWhitelisted()) { if (loginEvent != null) { -@@ -1020,11 +1020,11 @@ public abstract class PlayerList { +@@ -1022,11 +1022,11 @@ public abstract class PlayerList { } public boolean getHasWhitelist() { diff --git a/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 5c7c7ebf3..0fcfcb559 100644 --- a/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/Spigot-Server-Patches/0351-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index b30b1f68787bd72cddd7ead2d607c030f5e1b7eb..faea0b31ddc43f5edabd53756e8b3f796f0c46bf 100644 +index 299a6586ddfdc221be93e2f3d55801ac06bf783b..171018cbde28d206e3d2eee34e3e16c4b1a83424 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1024,6 +1024,7 @@ public abstract class PlayerList { +@@ -1026,6 +1026,7 @@ public abstract class PlayerList { } public void setHasWhitelist(boolean flag) { diff --git a/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 63ae21c8f..ef7666b6c 100644 --- a/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -102,10 +102,10 @@ index 3868572aed50c8bffd93727a139a3fbb8dc19688..ae77805f71c6c574d92f39c51b1e48f2 @Override public void a(ChunkCoordIntPair chunkcoordintpair) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f10cb6378b1d9d2e7e28b5897a7098f9441b4f8a..b28868766117f0cfdcc5db271b9415d9ae97ad19 100644 +index 55c0b5dc30cff8de5a83a97ae17fec7624cbe3d9..ca0a23be27ee8174204867d463eb89a10931ff84 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1599,13 +1599,89 @@ public class WorldServer extends World { +@@ -1587,13 +1587,89 @@ public class WorldServer extends World { return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a(); } diff --git a/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch b/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch index 662126174..5286c0032 100644 --- a/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch +++ b/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch @@ -96,10 +96,10 @@ index b774d2d8d903acc1ce4c5bd9240b2e96779e1d53..0184bf3fc9e206cec003c5a325d5ee21 return this.D; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index ef81c1d3a9679b0e65b453431de3cd0216f05bb6..db446c25c41ec3122155510f9d96dfdeee626896 100644 +index 30b7c9038d3a95b80304e052a5d629b461f76e99..1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -701,4 +701,11 @@ public class CraftBlock implements Block { +@@ -704,4 +704,11 @@ public class CraftBlock implements Block { AxisAlignedBB aabb = shape.getBoundingBox(); return new BoundingBox(getX() + aabb.minX, getY() + aabb.minY, getZ() + aabb.minZ, getX() + aabb.maxX, getY() + aabb.maxY, getZ() + aabb.maxZ); } diff --git a/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch b/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch index ebc184d78..bd1b8d54e 100644 --- a/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch +++ b/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch @@ -5,10 +5,10 @@ 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 6af8aeae5d1312c526622bc7e74e977dcb29a5b0..17e2399fdb1cecc86b5450b7abbacd738f9445cf 100644 +index 36a951cfcd617baf1a840f394e639567bd044308..58018bfcee5396d440b0f022a7aa9ed452e67ec5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1413,6 +1413,7 @@ public class WorldServer extends World { +@@ -1401,6 +1401,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 6af8aeae5d1312c526622bc7e74e977dcb29a5b0..17e2399fdb1cecc86b5450b7abbacd73 Iterator iterator = this.navigators.iterator(); while (iterator.hasNext()) { -@@ -1423,6 +1424,7 @@ public class WorldServer extends World { +@@ -1411,6 +1412,7 @@ public class WorldServer extends World { } } diff --git a/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch index 0003b7490..048f759f6 100644 --- a/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch @@ -3938,7 +3938,7 @@ index c999f8c9bf8a59e19b3d6d1b7ad8b5fb6e48b928..b59ef1a63338aa150d39e8014e12b227 HAS_SPACE(VillagePlaceRecord::d), IS_OCCUPIED(VillagePlaceRecord::e), ANY((villageplacerecord) -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 17e2399fdb1cecc86b5450b7abbacd738f9445cf..90d7f77b49a7bf11d40118a9e1d5718fcf2b3be4 100644 +index 58018bfcee5396d440b0f022a7aa9ed452e67ec5..f84248ad9f90aaaf02afa35a4147fb11f703fdcb 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -82,6 +82,79 @@ public class WorldServer extends World { @@ -4030,7 +4030,7 @@ index 17e2399fdb1cecc86b5450b7abbacd738f9445cf..90d7f77b49a7bf11d40118a9e1d5718f } // CraftBukkit start -@@ -1676,7 +1751,10 @@ public class WorldServer extends World { +@@ -1664,7 +1739,10 @@ public class WorldServer extends World { } MCUtil.getSpiralOutChunks(spawn, radiusInBlocks >> 4).forEach(pair -> { diff --git a/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch b/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch index fdcffa3b0..570b22340 100644 --- a/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch +++ b/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add effect to block break naturally diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index db446c25c41ec3122155510f9d96dfdeee626896..01c524cc01768fe0f2dbf062bcc19fcb982d32da 100644 +index 1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629..a5f981cd0d373db45f22384803c323be428dce0c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -606,12 +606,20 @@ public class CraftBlock implements Block { +@@ -606,6 +606,13 @@ public class CraftBlock implements Block { @Override public boolean breakNaturally(ItemStack item) { @@ -20,11 +20,12 @@ index db446c25c41ec3122155510f9d96dfdeee626896..01c524cc01768fe0f2dbf062bcc19fcb + public boolean breakNaturally(ItemStack item, boolean triggerEffect) { + // Paper end // Order matters here, need to drop before setting to air so skulls can get their data - net.minecraft.server.Block block = this.getNMSBlock(); - boolean result = false; - - if (block != null && block != Blocks.AIR) { - net.minecraft.server.Block.dropItems(getNMS(), world.getMinecraftWorld(), position, world.getTileEntity(position), null, CraftItemStack.asNMSCopy(item)); + net.minecraft.server.IBlockData iblockdata = this.getNMS(); + net.minecraft.server.Block block = iblockdata.getBlock(); +@@ -615,6 +622,7 @@ public class CraftBlock implements Block { + // Modelled off EntityHuman#hasBlock + if (block != Blocks.AIR && (iblockdata.getMaterial().isAlwaysDestroyable() || nmsItem.canDestroySpecialBlock(iblockdata))) { + net.minecraft.server.Block.dropItems(iblockdata, world.getMinecraftWorld(), position, world.getTileEntity(position), null, nmsItem); + if (triggerEffect) world.triggerEffect(org.bukkit.Effect.STEP_SOUND.getId(), position, net.minecraft.server.Block.getCombinedId(block.getBlockData())); // Paper result = true; } diff --git a/Spigot-Server-Patches/0448-Ensure-Entity-is-never-double-registered.patch b/Spigot-Server-Patches/0448-Ensure-Entity-is-never-double-registered.patch index 33d203f23..4a2110a09 100644 --- a/Spigot-Server-Patches/0448-Ensure-Entity-is-never-double-registered.patch +++ b/Spigot-Server-Patches/0448-Ensure-Entity-is-never-double-registered.patch @@ -23,7 +23,7 @@ index 7bdd3f19b2bc51c4f995d42fcd47e0e315310bff..7434f859f7f9acff0f881ff594c8dffd private boolean locked = false; @Override diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 53da79da59f1940eafbd2eaae172e596690b0fdb..d8045367af230b21a0d402301fc65f77823a3bc7 100644 +index be61f898cc96afeffe6ff2eb0ae3c4ce8da10b80..e635839673b767c630d0d3a2a7c370b05bba7164 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -532,6 +532,7 @@ public class WorldServer extends World { @@ -34,7 +34,7 @@ index 53da79da59f1940eafbd2eaae172e596690b0fdb..d8045367af230b21a0d402301fc65f77 this.registerEntity(entity); } } // Paper - timings -@@ -1356,6 +1357,19 @@ public class WorldServer extends World { +@@ -1338,6 +1339,19 @@ public class WorldServer extends World { public void unregisterEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot @@ -54,7 +54,7 @@ index 53da79da59f1940eafbd2eaae172e596690b0fdb..d8045367af230b21a0d402301fc65f77 // Spigot start if ( entity instanceof EntityHuman ) { -@@ -1416,9 +1430,21 @@ public class WorldServer extends World { +@@ -1404,9 +1418,21 @@ public class WorldServer extends World { private void registerEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot diff --git a/Spigot-Server-Patches/0449-Fix-unregistering-entities-from-unloading-chunks.patch b/Spigot-Server-Patches/0449-Fix-unregistering-entities-from-unloading-chunks.patch index 7d6f3b92a..462026c5d 100644 --- a/Spigot-Server-Patches/0449-Fix-unregistering-entities-from-unloading-chunks.patch +++ b/Spigot-Server-Patches/0449-Fix-unregistering-entities-from-unloading-chunks.patch @@ -15,10 +15,10 @@ Combine that with a buggy detail of the previous implementation of the Dupe UUID patch, then this was the likely source of the "Ghost entities" diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d8045367af230b21a0d402301fc65f77823a3bc7..5d14cd2153d151c240c815e7d52262ce1c499b1a 100644 +index e635839673b767c630d0d3a2a7c370b05bba7164..255650fc6adcd81df2ee063209d2098745e45e39 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1509,9 +1509,9 @@ public class WorldServer extends World { +@@ -1497,9 +1497,9 @@ public class WorldServer extends World { } private void removeEntityFromChunk(Entity entity) { diff --git a/Spigot-Server-Patches/0452-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/Spigot-Server-Patches/0452-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch index 017ab7c0c..09aa33e67 100644 --- a/Spigot-Server-Patches/0452-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch +++ b/Spigot-Server-Patches/0452-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch @@ -26,10 +26,10 @@ index 6eb055913177b0c01a027b2b356190dc561072c5..4beae504c875767ff00e26461fe72404 if (!(entity instanceof EntityLightning)) { EntityTypes entitytypes = entity.getEntityType(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5d14cd2153d151c240c815e7d52262ce1c499b1a..3979f151f067a62e45211c9f11e47e36dbe16b31 100644 +index 255650fc6adcd81df2ee063209d2098745e45e39..c1e3c5ad7bbadedf01f7bd9162602398b81005a2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1475,7 +1475,7 @@ public class WorldServer extends World { +@@ -1463,7 +1463,7 @@ public class WorldServer extends World { } } @@ -38,7 +38,7 @@ index 5d14cd2153d151c240c815e7d52262ce1c499b1a..3979f151f067a62e45211c9f11e47e36 // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { this.navigators.add(((EntityDrowned) entity).navigationWater); -@@ -1486,6 +1486,7 @@ public class WorldServer extends World { +@@ -1474,6 +1474,7 @@ public class WorldServer extends World { this.navigators.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit diff --git a/Spigot-Server-Patches/0505-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0505-No-Tick-view-distance-implementation.patch index 56209181a..a4a3c0a93 100644 --- a/Spigot-Server-Patches/0505-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0505-No-Tick-view-distance-implementation.patch @@ -550,7 +550,7 @@ index b3c9cb67664491c3a8c83a67ac0e79d48561f3fe..ce7462283873635ad0d3bce2395346ed } } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0ada5b4ac61a9b77e67da1695327d72c8212c5d6..bcf95c4bb09b881858e22926adef9efd4f525c90 100644 +index 9a9c124e6af1fb40255ffaa38d0a4e024ad72436..57037afed7ba04ccf1f55d590f270ac2b2fda2ce 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -151,7 +151,7 @@ public abstract class PlayerList { @@ -571,7 +571,7 @@ index 0ada5b4ac61a9b77e67da1695327d72c8212c5d6..bcf95c4bb09b881858e22926adef9efd entityplayer1.spawnIn(worldserver); entityplayer1.dead = false; entityplayer1.playerConnection.teleport(new Location(worldserver.getWorld(), entityplayer1.locX(), entityplayer1.locY(), entityplayer1.locZ(), entityplayer1.yaw, entityplayer1.pitch)); -@@ -1257,7 +1257,7 @@ public abstract class PlayerList { +@@ -1259,7 +1259,7 @@ public abstract class PlayerList { public void a(int i) { this.viewDistance = i; diff --git a/work/Bukkit b/work/Bukkit index da9ef3c55..ffc8e4caa 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit da9ef3c55fa3bce91f7fdcd77d50171be7297d7d +Subproject commit ffc8e4caa484af8f3e4ec2647e546ec0f2b6e95f diff --git a/work/CraftBukkit b/work/CraftBukkit index 933e9094b..d07a78b1f 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 933e9094bfef3b0758f62342f06163bbba1bb6a1 +Subproject commit d07a78b1f3aa79945600e5e07d5a457909480b40 diff --git a/work/Spigot b/work/Spigot index 2040c4c47..2f5d615f1 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 2040c4c476931e2b1582cd14e2e4d1e260eb5322 +Subproject commit 2f5d615f157752a2b28b0986b34cc708d5e77674