diff --git a/Paper-MojangAPI/pom.xml b/Paper-MojangAPI/pom.xml index ef3ab575b..7075a42db 100644 --- a/Paper-MojangAPI/pom.xml +++ b/Paper-MojangAPI/pom.xml @@ -10,7 +10,7 @@ com.destroystokyo.paper paper-mojangapi - 1.16.3-R0.1-SNAPSHOT + 1.16.4-R0.1-SNAPSHOT jar Paper-MojangAPI diff --git a/README.md b/README.md index b8559d696..88ed27b01 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ How To (Plugin Developers) com.destroystokyo.paper paper-api - 1.16.3-R0.1-SNAPSHOT + 1.16.4-R0.1-SNAPSHOT provided ``` diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch index ab0202684..ebce1d96a 100644 --- a/Spigot-API-Patches/0001-POM-changes.patch +++ b/Spigot-API-Patches/0001-POM-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] POM changes diff --git a/pom.xml b/pom.xml -index 0bae36cf16a4aa0a59824246db5634b6c0f6e55c..75483fe1abe6fa26f69cb437aefee4a9d51e078f 100644 +index e096e95e4e21ce4e4b4b08301f3b5948242bf00d..db8ebc72f9ddfb33a3aa3d2e0366ef4f6f324567 100644 --- a/pom.xml +++ b/pom.xml @@ -2,34 +2,28 @@ @@ -22,7 +22,7 @@ index 0bae36cf16a4aa0a59824246db5634b6c0f6e55c..75483fe1abe6fa26f69cb437aefee4a9 - spigot-api + com.destroystokyo.paper + paper-api - 1.16.3-R0.1-SNAPSHOT + 1.16.4-R0.1-SNAPSHOT jar - Spigot-API diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 8224529d4..e99f0a522 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] POM Changes diff --git a/pom.xml b/pom.xml -index 87c70ba546a908ebfd8d142cf9822d2667e9c2a1..b80d7b1c3d934d378b1fca58a9e12ac516350ea8 100644 +index 185aa47591ddf92bece217a56078bd74777f749a..7d38039fcba45ee55f35c0291ad66a58ef99c392 100644 --- a/pom.xml +++ b/pom.xml @@ -1,15 +1,14 @@ @@ -16,7 +16,7 @@ index 87c70ba546a908ebfd8d142cf9822d2667e9c2a1..b80d7b1c3d934d378b1fca58a9e12ac5 - spigot + paper jar - 1.16.3-R0.1-SNAPSHOT + 1.16.4-R0.1-SNAPSHOT - Spigot - https://www.spigotmc.org/ + Paper @@ -27,7 +27,7 @@ index 87c70ba546a908ebfd8d142cf9822d2667e9c2a1..b80d7b1c3d934d378b1fca58a9e12ac5 + UTF-8 unknown - 1.16.3 + 1.16.4 @@ -19,21 +18,27 @@ @@ -196,18 +196,18 @@ index 87c70ba546a908ebfd8d142cf9822d2667e9c2a1..b80d7b1c3d934d378b1fca58a9e12ac5 diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 094431c4011824807f1aae54ebb4bc14c46ae53e..eaad50039181f3ae12175cdcfe5efd9c244da9dc 100644 +index 8a8234199e36da33cb94fdf030f9fc75dc0add44..9c98589c2db92720b4ae054ee74ef7ab0dac891a 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -186,7 +186,7 @@ public class Main { } - if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { - Date buildDate = new Date(Integer.parseInt(Main.class.getPackage().getImplementationVendor()) * 1000L); + Date buildDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(Main.class.getPackage().getImplementationVendor()); // Paper Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -21); + deadline.add(Calendar.DAY_OF_YEAR, -7); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 93046379d0cefd5d3236fc59e698809acdc18f80..674096cab190d62622f9947853b056f57d43a2a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index 2ff63be1a..4a6a883dc 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -269,7 +269,7 @@ index 0000000000000000000000000000000000000000..b8868b86338ce0e89bc74eccccf714b9 +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..68d3cb02dbfdc9d6f9d3682a2659c9430b50c490 +index 0000000000000000000000000000000000000000..2d9b6439cff9e8907b55c8882b15e94abe625465 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -0,0 +1,185 @@ @@ -532,7 +532,7 @@ index 0000000000000000000000000000000000000000..a738657394bcccd859ef260a801736d4 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index f6335ed3eba55e939aa24b1eeb83026e61d92235..94b8cda9ce78aa22c14e88f3500bb9814ff7f631 100644 +index 49cfd12dd8f68468d7a122f5420687c874cf3317..84407dfd46138359d42ddf8fd5c462a5f494d46b 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -273,15 +273,15 @@ public class ChunkProviderServer extends IChunkProvider { @@ -556,10 +556,10 @@ index f6335ed3eba55e939aa24b1eeb83026e61d92235..94b8cda9ce78aa22c14e88f3500bb981 } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 87045e72d097a4eb006654ea41f58ac803bbab3e..468d0cce2208bc21ec3d62590ac6e050a2037518 100644 +index bb06a7e3f3f9e4740cf6b874586e44f479d99cc4..d91b029c95b6380300db81e7c0fb172ff57958a1 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -145,6 +145,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -148,6 +148,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer org.spigotmc.SpigotConfig.init((java.io.File) options.valueOf("spigot-settings")); org.spigotmc.SpigotConfig.registerCommands(); // Spigot end @@ -576,7 +576,7 @@ index 87045e72d097a4eb006654ea41f58ac803bbab3e..468d0cce2208bc21ec3d62590ac6e050 this.setPVP(dedicatedserverproperties.pvp); this.setAllowFlight(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 5cecefc7e1c3b61c47563245fb1ffed16ec0851f..9ca142e2a841e686c5647de46f0f6992a431289e 100644 +index d8a3851b47f8d3ff74869a50838b31c34156689a..c6bd37ac10aaf401dc4e48a11782a528eab28b85 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -599,10 +599,10 @@ index 5cecefc7e1c3b61c47563245fb1ffed16ec0851f..9ca142e2a841e686c5647de46f0f6992 + // Paper end } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 4da97dbcf95b1e782ef80956c5d128972b2c3ed5..059b9634aeffc6f710d40112f5f8d9b877f2c7a3 100644 +index 6d1012cc652780189a5d849125abe09b27b88422..49649e70ee8bfb3dacd63a88a180f0f329f308c0 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -65,6 +65,12 @@ public class Main { +@@ -64,6 +64,12 @@ public class Main { DedicatedServerSettings dedicatedserversettings = new DedicatedServerSettings(iregistrycustom_dimension, optionset); // CraftBukkit - CLI argument support dedicatedserversettings.save(); @@ -615,7 +615,7 @@ index 4da97dbcf95b1e782ef80956c5d128972b2c3ed5..059b9634aeffc6f710d40112f5f8d9b8 java.nio.file.Path java_nio_file_path1 = Paths.get("eula.txt"); EULA eula = new EULA(java_nio_file_path1); -@@ -206,6 +212,16 @@ public class Main { +@@ -205,6 +211,16 @@ public class Main { } @@ -633,7 +633,7 @@ index 4da97dbcf95b1e782ef80956c5d128972b2c3ed5..059b9634aeffc6f710d40112f5f8d9b8 Main.LOGGER.info("Forcing world upgrade! {}", convertable_conversionsession.getLevelName()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(convertable_conversionsession, datafixer, immutableset, flag); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 62134fdbdbdc044001940d069622ccce9bdfbee2..3150f4a0a8f1f8256c7e296f479b632b47bc6620 100644 +index 169822482d3e31ef4f625a82102adc6d478588a8..faa7e6b747b4a8f1b4c7d9f8da28ce29984b5f20 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -77,6 +77,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 3c6041237..566b7e283 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -182,7 +182,7 @@ index 96d6c55c9a2fbb9f93d369eadaacf00b7e64b79e..e77634bb4d33716ed41468722187080a private EntityEnderDragon o() { diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index ada618efe6cef7cf97959337d2cbb039c176f99c..a959006185afaa3306fdd228f52d8177b58286a7 100644 +index a3c885b070336295cc059a8c525848c8405ef89f..b358070215477bcd33dcd440472db4489017135a 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -25,7 +25,7 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -218,7 +218,7 @@ index 1de8c7eaeb08c645058dbe1da7ca8ef91958abda..32f5470baa88c3dc80db1bb547e1c982 }); this.b = Lists.newArrayList(); diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 447f6a55b619402447b5cf4db9b22ea8cfc7d51d..1890c760f9ffd7628d6ae3db40c36f5272379227 100644 +index eeb45fb34b1a989f850049bf4fd59d585c79ab6d..ac2f4354e8c442a20b842f315a76a3abdcfec4dc 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java @@ -55,7 +55,7 @@ public abstract class IAsyncTaskHandler implements Mailbox implements Mailbox, AutoCloseable, Runnable { @@ -847,3 +847,16 @@ index 83d799bec90693e0fbbf8a7f3bc4f569b5c0ead9..141a8e31151010e5a0bd8d4661033f10 NBTTagCompound nbttagcompound = this.a(s, SharedConstants.getGameVersion().getWorldVersion()); t0.a(nbttagcompound.getCompound("data")); +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index 889dd0ca3eaeaf4d9843637e3a08d5eb9773f942..2a2e812d7a72077dc3b66ab4b5c6a00664c54287 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -1796,7 +1796,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { + } + + // CraftBukkit - decompile error +- return (String) object2intopenhashmap.object2IntEntrySet().stream().sorted(Comparator.comparing(it.unimi.dsi.fastutil.objects.Object2IntMap.Entry::getIntValue).reversed()).limit(5L).map((it_unimi_dsi_fastutil_objects_object2intmap_entry) -> { ++ return (String) object2intopenhashmap.object2IntEntrySet().stream().sorted(Comparator.comparing(Object2IntMap.Entry::getIntValue).reversed()).limit(5L).map((it_unimi_dsi_fastutil_objects_object2intmap_entry) -> { // Paper - decompile fix + return it_unimi_dsi_fastutil_objects_object2intmap_entry.getKey() + ":" + it_unimi_dsi_fastutil_objects_object2intmap_entry.getIntValue(); + }).collect(Collectors.joining(",")); + } catch (Exception exception) { diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index b422c1e2c..27924f8e1 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -2351,7 +2351,7 @@ index eff6ebcd30b538cbaedaa031a46a59ea956253ba..30cbfc8eac20910aa55951e3dce63862 public IBlockData getType(BlockPosition blockposition) { return Blocks.AIR.getBlockData(); diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java -index 54de105a79cf199db8d97cab67ad8affe904d57c..2d3e498d5c40e573aad88fd0fce7943e930956ba 100644 +index f28b9c093140a26564aff0457e7ef14abcf5f9d5..e0ae51ede44de5c894df526c1fc6d94c46d72013 100644 --- a/src/main/java/net/minecraft/server/BlockBase.java +++ b/src/main/java/net/minecraft/server/BlockBase.java @@ -636,6 +636,7 @@ public abstract class BlockBase { @@ -2745,7 +2745,7 @@ index ae61d0a7676bf06c8c9aa5c68ccb8dd4baf326b6..b12e43ed13a1a9d7d418831b8988c30a } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 94b8cda9ce78aa22c14e88f3500bb9814ff7f631..1ca6d656cd2c7bbf12df6368ad7d953765d03e36 100644 +index 84407dfd46138359d42ddf8fd5c462a5f494d46b..6f3a0754ac2c1cbe4a4b8775a2cf9248524a1831 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -17,6 +17,10 @@ import java.util.function.Consumer; @@ -3097,7 +3097,7 @@ index 390d79187bc822187d1ba1102c418fa588e8f121..68f1a101174f4a2f7ab5556a5b733f75 super(entitytypes, world); } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index b5a8b6bf8f86b99e50014cd155d50099a3f7a91c..abafe6d3ee2f2662f0c2b62cc697606b3d7b47e0 100644 +index 1e7f5d77700a1ed98c5f50ea82fb57b5e556496a..09ac187ba8ff52f6fa1f0d5d00a138518bacb50a 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -160,6 +160,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -3109,7 +3109,7 @@ index b5a8b6bf8f86b99e50014cd155d50099a3f7a91c..abafe6d3ee2f2662f0c2b62cc697606b // CraftBukkit start - fire event setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index fbd863d1bd90eebc517ea45b17ec650fd3ea2ec6..2e9f8d55ea85615f1b61efef89ccc822df6a0cfb 100644 +index b1edfd6f33a6eecbe47a2a2a4f5be844400eb283..fea94330301a7859cd7ab9af7a9cd3f6d2d8e79a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -138,6 +138,7 @@ public abstract class EntityLiving extends Entity { @@ -3121,7 +3121,7 @@ index fbd863d1bd90eebc517ea45b17ec650fd3ea2ec6..2e9f8d55ea85615f1b61efef89ccc822 @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java -index 07c48d777a71a979fb1f0063eef2e613e448d2eb..8a5d6869c269369d45cfe4e61853c44220885313 100644 +index efba3b772238cabd5981978bee5d7dc76115f93f..74426693c47b6437a4597ddd1b961aae79d7a866 100644 --- a/src/main/java/net/minecraft/server/EntityMonster.java +++ b/src/main/java/net/minecraft/server/EntityMonster.java @@ -5,6 +5,7 @@ import java.util.function.Predicate; @@ -3133,10 +3133,10 @@ index 07c48d777a71a979fb1f0063eef2e613e448d2eb..8a5d6869c269369d45cfe4e61853c442 super(entitytypes, world); this.f = 5; diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 8fc44b87ba16f6d25471c26310702c5b4651989a..2b86d99420b59d67b1afec45d9a02003613d40a6 100644 +index 92198cd819359d2a93da0151b0f0012a51075337..7036a7556c5f859308540ec2f5643e40634c166e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -93,6 +93,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -95,6 +95,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public Integer clientViewDistance; // CraftBukkit end @@ -3145,9 +3145,9 @@ index 8fc44b87ba16f6d25471c26310702c5b4651989a..2b86d99420b59d67b1afec45d9a02003 public EntityPlayer(MinecraftServer minecraftserver, WorldServer worldserver, GameProfile gameprofile, PlayerInteractManager playerinteractmanager) { super(worldserver, worldserver.getSpawn(), worldserver.v(), gameprofile); this.spawnDimension = World.OVERWORLD; -@@ -104,6 +106,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - this.G = 1.0F; +@@ -107,6 +109,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.c(worldserver); + this.co = minecraftserver.a(this); + this.cachedSingleHashSet = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper + @@ -3155,7 +3155,7 @@ index 8fc44b87ba16f6d25471c26310702c5b4651989a..2b86d99420b59d67b1afec45d9a02003 this.displayName = this.getName(); this.canPickUpLoot = true; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 9ca142e2a841e686c5647de46f0f6992a431289e..e08ccba8134846ef11928183d118a6cce53b6d89 100644 +index c6bd37ac10aaf401dc4e48a11782a528eab28b85..83593ff0549b770e3af148ad0105f22351e39d45 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -3178,7 +3178,7 @@ index 9ca142e2a841e686c5647de46f0f6992a431289e..e08ccba8134846ef11928183d118a6cc } diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 1890c760f9ffd7628d6ae3db40c36f5272379227..46959b58bac01b5ff7e3eb4cbac07ddf6bfc4ebc 100644 +index ac2f4354e8c442a20b842f315a76a3abdcfec4dc..f97fb0434e80478d514a718a1e7376fd2717037d 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java @@ -68,6 +68,15 @@ public abstract class IAsyncTaskHandler implements Mailbox> { @@ -4225,10 +4225,10 @@ index 43168f3836eb8823f3b2046882664ba45f1be678..127c03c321e1414e0d174c8d81a7851c @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 46d33c6f548f1cf0b863e2e67d46aa5e905103f3..c455d0b2dc806d7c26235e6c89c58311548177ec 100644 +index 6e374f85129d0ef873c7561e776a6f227a42e33a..3dff395d4e1dc3907f9cf1d35cbc4e7b5bbd8652 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -67,9 +67,9 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -73,9 +73,9 @@ public class PlayerConnection implements PacketListenerPlayIn { private final MinecraftServer minecraftServer; public EntityPlayer player; private int e; @@ -4302,10 +4302,10 @@ index 49387e812a50b8cda45352cf9dd6b1692b7476c1..135f38cc5d5d2fa3866aa1063df49a96 public synchronized DataInputStream a(ChunkCoordIntPair chunkcoordintpair) throws IOException { int i = this.getOffset(chunkcoordintpair); diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -index e804c09cc89c21351c9241f426122e28e5d08452..e9fbeaf309735ea5fcb0c53b8b2485b0c5dd43be 100644 +index adc9959932a99ff62af4f893d0f8af1130579138..34a72ba218892de337752af896fd307f91d9fc95 100644 --- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java +++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -@@ -102,6 +102,26 @@ public class RegionLimitedWorldAccess implements GeneratorAccessSeed { +@@ -104,6 +104,26 @@ public class RegionLimitedWorldAccess implements GeneratorAccessSeed { return i >= this.n.x && i <= this.o.x && j >= this.n.z && j <= this.o.z; } @@ -4387,7 +4387,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 3150f4a0a8f1f8256c7e296f479b632b47bc6620..4059aaf6da1bfe6003e2d94ce33e32eb1aaa93c9 100644 +index faa7e6b747b4a8f1b4c7d9f8da28ce29984b5f20..43f49a2a7f62227f35c309d4d63088a6e013481b 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 @@ -4496,18 +4496,18 @@ index 5719ef9714e9680596a08c42c33508c16c0e676a..bb0f30f182856d2701fde9b1a65eeb98 return this.j.m(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 282f4c006a3b203d3a62530c34b43259eaca55ea..4947a0aaab2dd91f3184365e64c4ad4e05132283 100644 +index 2a2e812d7a72077dc3b66ab4b5c6a00664c54287..544186bbd32ddd1b209ec344a77dfa00ff70aea6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -11,6 +11,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap; - import it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry; +@@ -12,6 +12,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry; import it.unimi.dsi.fastutil.longs.LongSet; import it.unimi.dsi.fastutil.longs.LongSets; + import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import it.unimi.dsi.fastutil.objects.Object2IntMap; import it.unimi.dsi.fastutil.objects.ObjectIterator; import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet; import java.io.BufferedWriter; -@@ -56,7 +57,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -60,7 +61,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { private final Map entitiesByUUID = Maps.newHashMap(); private final Queue entitiesToAdd = Queues.newArrayDeque(); private final List players = Lists.newArrayList(); @@ -4516,7 +4516,7 @@ index 282f4c006a3b203d3a62530c34b43259eaca55ea..4947a0aaab2dd91f3184365e64c4ad4e boolean tickingEntities; private final MinecraftServer server; public final WorldDataServer worldDataServer; // CraftBukkit - type -@@ -1561,7 +1562,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1565,7 +1566,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { ObjectIterator objectiterator = spawnercreature_d.b().object2IntEntrySet().iterator(); while (objectiterator.hasNext()) { diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index b6ae55f49..fcd924233 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -755,7 +755,7 @@ index 18e18e6cabe94a23ebfc9f9d8279837105f1d976..30d760ab30ed70ec2e4c37f2e8dbe800 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 1ca6d656cd2c7bbf12df6368ad7d953765d03e36..042031d2b7cb2f56d422145ffa7589fa46dd2e53 100644 +index 6f3a0754ac2c1cbe4a4b8775a2cf9248524a1831..1daf3bea2cc488276b33e624e1591a71af1459d9 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -323,11 +323,13 @@ public class ChunkProviderServer extends IChunkProvider { @@ -846,7 +846,7 @@ index 1ca6d656cd2c7bbf12df6368ad7d953765d03e36..042031d2b7cb2f56d422145ffa7589fa private void a(long i, Consumer consumer) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 7d9161b9e3996098d0f257661e39036e82d3f88a..52621ab74c8af1ab0c38e8df28cb7dc7153096a3 100644 +index bd47979e11d900b5b31c995751dfefbf0a2706b9..d30c4d5a4ee83e21ba9269c0b92af2b72b85d3cc 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -923,7 +923,7 @@ index 11891990d90b789192d9081787c1e844646121ae..2a48d85f0490991eb323ef550cb6148d int k = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 468d0cce2208bc21ec3d62590ac6e050a2037518..b5d1dbf889138699c877f13382557ce377e70e72 100644 +index d91b029c95b6380300db81e7c0fb172ff57958a1..218071260dec39dd4f7eb733ae6f832aacd6fd6f 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -26,8 +26,9 @@ import org.apache.logging.log4j.Logger; @@ -937,7 +937,7 @@ index 468d0cce2208bc21ec3d62590ac6e050a2037518..b5d1dbf889138699c877f13382557ce3 import org.bukkit.event.server.RemoteServerCommandEvent; // CraftBukkit end -@@ -376,7 +377,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -382,7 +383,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } public void handleCommandQueue() { @@ -946,7 +946,7 @@ index 468d0cce2208bc21ec3d62590ac6e050a2037518..b5d1dbf889138699c877f13382557ce3 while (!this.serverCommandQueue.isEmpty()) { ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0); -@@ -391,7 +392,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -397,7 +398,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer // CraftBukkit end } @@ -955,7 +955,7 @@ index 468d0cce2208bc21ec3d62590ac6e050a2037518..b5d1dbf889138699c877f13382557ce3 } @Override -@@ -627,6 +628,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -633,6 +634,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @Override public String executeRemoteCommand(String s) { @@ -963,7 +963,7 @@ index 468d0cce2208bc21ec3d62590ac6e050a2037518..b5d1dbf889138699c877f13382557ce3 this.remoteControlCommandListener.clearMessages(); this.executeSync(() -> { // CraftBukkit start - fire RemoteServerCommandEvent -@@ -635,10 +637,39 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -641,10 +643,39 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer if (event.isCancelled()) { return; } @@ -1004,7 +1004,7 @@ index 468d0cce2208bc21ec3d62590ac6e050a2037518..b5d1dbf889138699c877f13382557ce3 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cd7866f2251f68f24801eacc55800907f184537f..74277d79a845fb0a44298f42d626148616cb5a1d 100644 +index 5e0db989a0f6c7c7041a968550f4068b9a946136..a6534087b10c9a469a3d2cf4da717fab17b31544 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; @@ -1038,9 +1038,9 @@ index cd7866f2251f68f24801eacc55800907f184537f..74277d79a845fb0a44298f42d6261486 - org.bukkit.craftbukkit.SpigotTimings.entityMoveTimer.stopTiming(); // Spigot } - protected BlockPosition ao() { + protected BlockPosition ap() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2e9f8d55ea85615f1b61efef89ccc822df6a0cfb..083578259d0c428fb9439fcbb4b53ac59e9c390d 100644 +index fea94330301a7859cd7ab9af7a9cd3f6d2d8e79a..c3aca7ebf5aae1c0582a0683920a4b82fa98a43f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -42,7 +42,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -1115,10 +1115,10 @@ index 2e9f8d55ea85615f1b61efef89ccc822df6a0cfb..083578259d0c428fb9439fcbb4b53ac5 this.collideNearby(); - SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot this.world.getMethodProfiler().exit(); - if (!this.world.isClientSide && this.dN() && this.aF()) { + if (!this.world.isClientSide && this.dO() && this.aG()) { this.damageEntity(DamageSource.DROWN, 1.0F); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ffb8685e7c457483bcf4b2ed1065fec0fbaa69e2..add85654783e9c3cebf2a2072cd2e07679de1bae 100644 +index 9fad0c005ada01fdff97c791c769978ae5d56920..ebffa433a4df6e573db76d95762a169d02658d72 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -151,7 +151,9 @@ public class EntityTypes { @@ -1170,7 +1170,7 @@ index ffb8685e7c457483bcf4b2ed1065fec0fbaa69e2..add85654783e9c3cebf2a2072cd2e076 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4e8d26b7e427e36dab6335855e3922865ab589cc..033633139b50f1d991ee6b18b8fb750225b52f34 100644 +index ea02761ecd3e5b7b0ea31c220abdff918508cc94..dfa45dff4d040f9e1d2708e4a2407b3790435a77 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -65,7 +65,7 @@ import org.bukkit.craftbukkit.CraftServer; @@ -1459,10 +1459,10 @@ index 127c03c321e1414e0d174c8d81a7851c9da03574..d98b6ef44e1836920956754dfcb6654f protected void broadcast(Entity entity, Packet packet) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c455d0b2dc806d7c26235e6c89c58311548177ec..fd1860e3a83dec60362997ac6e1225270260cf38 100644 +index 3dff395d4e1dc3907f9cf1d35cbc4e7b5bbd8652..20651905fd6566e856aeb7340469047b7eb8c2c8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory; +@@ -64,6 +64,7 @@ import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.InventoryView; import org.bukkit.util.NumberConversions; @@ -1470,7 +1470,7 @@ index c455d0b2dc806d7c26235e6c89c58311548177ec..fd1860e3a83dec60362997ac6e122527 // CraftBukkit end public class PlayerConnection implements PacketListenerPlayIn { -@@ -135,7 +136,6 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -146,7 +147,6 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit end public void tick() { @@ -1478,7 +1478,7 @@ index c455d0b2dc806d7c26235e6c89c58311548177ec..fd1860e3a83dec60362997ac6e122527 this.syncPosition(); this.player.lastX = this.player.locX(); this.player.lastY = this.player.locY(); -@@ -211,7 +211,6 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -222,7 +222,6 @@ public class PlayerConnection implements PacketListenerPlayIn { this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854 this.disconnect(new ChatMessage("multiplayer.disconnect.idling")); } @@ -1486,7 +1486,7 @@ index c455d0b2dc806d7c26235e6c89c58311548177ec..fd1860e3a83dec60362997ac6e122527 } -@@ -1678,7 +1677,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1767,7 +1766,7 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit end private void handleCommand(String s) { @@ -1495,7 +1495,7 @@ index c455d0b2dc806d7c26235e6c89c58311548177ec..fd1860e3a83dec60362997ac6e122527 // CraftBukkit start - whole method if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getName() + " issued server command: " + s); -@@ -1689,7 +1688,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1778,7 +1777,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.server.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1504,7 +1504,7 @@ index c455d0b2dc806d7c26235e6c89c58311548177ec..fd1860e3a83dec60362997ac6e122527 return; } -@@ -1702,7 +1701,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1791,7 +1790,7 @@ public class PlayerConnection implements PacketListenerPlayIn { java.util.logging.Logger.getLogger(PlayerConnection.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -1614,7 +1614,7 @@ index e8ff43662b8397229cb19ea26342b66c88807379..3b8f56c0f0507ebdd9ac20be70688b4c this.g.clear(); this.f.clear(); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 67fdd560f8136d83a13f75e265d5f5dd11871375..8f51a1e5e37566001e1d419065ce730768c1b342 100644 +index b9ffd000c97111678d45fd55dc9c207ebadc140e..f1d0e2faffb3ef27f5a41d06d0ff7d787f1098f5 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer; @@ -1633,7 +1633,7 @@ index 67fdd560f8136d83a13f75e265d5f5dd11871375..8f51a1e5e37566001e1d419065ce7307 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4059aaf6da1bfe6003e2d94ce33e32eb1aaa93c9..07ba51a801d803109dd92f77c19b389eb24f61b2 100644 +index 43f49a2a7f62227f35c309d4d63088a6e013481b..8703a001c9d2bf114b140a94f20e0cf7e57361f9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -18,7 +18,6 @@ import org.apache.logging.log4j.Logger; @@ -1680,7 +1680,7 @@ index 4059aaf6da1bfe6003e2d94ce33e32eb1aaa93c9..07ba51a801d803109dd92f77c19b389e CrashReport crashreport = CrashReport.a(throwable, "Ticking entity"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked"); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af72006fff3 100644 +index 544186bbd32ddd1b209ec344a77dfa00ff70aea6..11497c73f40b0c681585cf6efca99a63eeb62e76 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -1692,7 +1692,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Queues; -@@ -40,7 +42,6 @@ import org.apache.logging.log4j.Logger; +@@ -44,7 +46,6 @@ import org.apache.logging.log4j.Logger; import java.util.logging.Level; import org.bukkit.Bukkit; import org.bukkit.WeatherType; @@ -1700,7 +1700,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.craftbukkit.util.WorldUUID; import org.bukkit.event.entity.CreatureSpawnEvent; -@@ -96,10 +97,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -100,10 +101,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { // CraftBukkit end this.nextTickListBlock = new TickListServer<>(this, (block) -> { return block == null || block.getBlockData().isAir(); @@ -1713,8 +1713,8 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 this.navigators = Sets.newHashSet(); this.L = new ObjectLinkedOpenHashSet(); this.Q = flag1; -@@ -327,17 +328,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { - this.P(); +@@ -331,17 +332,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { + this.Q(); this.b(); gameprofilerfiller.exitEnter("chunkSource"); + this.timings.chunkProviderTick.startTiming(); // Paper - timings @@ -1736,8 +1736,8 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 + this.timings.raids.stopTiming(); // Paper - timings gameprofilerfiller.exitEnter("blockEvents"); timings.doSounds.startTiming(); // Spigot - this.aj(); -@@ -509,6 +514,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { + this.ak(); +@@ -513,6 +518,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } gameprofilerfiller.exitEnter("tickBlocks"); @@ -1745,7 +1745,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 if (i > 0) { ChunkSection[] achunksection = chunk.getSections(); int l = achunksection.length; -@@ -540,7 +546,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -544,7 +550,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } } @@ -1754,7 +1754,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 gameprofilerfiller.exit(); } -@@ -638,14 +644,22 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -642,14 +648,22 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (!(entity instanceof EntityHuman) && !this.getChunkProvider().a(entity)) { this.chunkCheck(entity); } else { @@ -1778,7 +1778,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 entity.g(entity.locX(), entity.locY(), entity.locZ()); entity.lastYaw = entity.yaw; entity.lastPitch = entity.pitch; -@@ -672,7 +686,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -676,7 +690,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.a(entity, entity1); } } @@ -1787,7 +1787,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 } } -@@ -749,6 +763,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -753,6 +767,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (!flag1) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit @@ -1795,7 +1795,7 @@ index 4947a0aaab2dd91f3184365e64c4ad4e05132283..a807933d65a22dc1b15eda4dee819af7 if (iprogressupdate != null) { iprogressupdate.a(new ChatMessage("menu.savingLevel")); } -@@ -758,7 +773,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -762,7 +777,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { iprogressupdate.c(new ChatMessage("menu.savingChunks")); } @@ -2204,7 +2204,7 @@ index e52ef47b783785dc214746b678e7b549aea9a274..3d90b3426873a3528af14f7f1ab0adae this.value = value; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 983444d7b742c1f7c5f08f26808dd484f90d6c20..bfecee2c9e4c68d5e254b445b3100247322017fc 100644 +index 1e138a569fc785eb69b3f3935dcf97f4dcb08051..4075553d0abe19442903add9854f61cd657ab0ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -158,6 +158,12 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch index 72d67f1e5..5bba8ca47 100644 --- a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch +++ b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch @@ -31,19 +31,19 @@ index 2e869004c8c6b8bfbb002fb4eda04519d50390c8..22eb89df768819f0a18f91b806b56ace this.b.setJumping(this.a); this.a = false; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 74277d79a845fb0a44298f42d626148616cb5a1d..f44048171d70f183f0bbdfb835211fba6da73cb4 100644 +index a6534087b10c9a469a3d2cf4da717fab17b31544..bbb66e90aba2332c7c87a173639efc6ad61f5d53 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1020,6 +1020,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.isInWater() || this.isInRain(); } -+ public final boolean isInWaterOrRainOrBubble() { return aF(); } // Paper - OBFHELPER - public boolean aF() { ++ public final boolean isInWaterOrRainOrBubble() { return aG(); } // Paper - OBFHELPER + public boolean aG() { return this.isInWater() || this.isInRain() || this.k(); } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index abafe6d3ee2f2662f0c2b62cc697606b3d7b47e0..5df3ca8c0a272392cec2cf10b15494f9f63d171c 100644 +index 09ac187ba8ff52f6fa1f0d5d00a138518bacb50a..59af58e1aed678b8eac83f2346f5822aff700fb7 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -33,6 +33,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -74,7 +74,7 @@ index abafe6d3ee2f2662f0c2b62cc697606b3d7b47e0..5df3ca8c0a272392cec2cf10b15494f9 this.bo.a(); this.world.getMethodProfiler().exit(); diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java -index 8e41e7a159a9eabd955c5110c6c2458f5348f2f9..cb633bec6e977ba0af388d3c9b005a2dcb91bb87 100644 +index fd861cbc007c164f9a18ebfe7e4d0e4fe01db54c..8030376804823264bb5a701c1304414ac932af9c 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java @@ -8,15 +8,18 @@ public class PathfinderGoalFloat extends PathfinderGoal { @@ -89,7 +89,7 @@ index 8e41e7a159a9eabd955c5110c6c2458f5348f2f9..cb633bec6e977ba0af388d3c9b005a2d + public final boolean validConditions() { return this.a(); } // Paper - OBFHELPER @Override public boolean a() { - return this.a.isInWater() && this.a.b((Tag) TagsFluid.WATER) > this.a.cw() || this.a.aP(); + return this.a.isInWater() && this.a.b((Tag) TagsFluid.WATER) > this.a.cx() || this.a.aQ(); } + public void update() { this.e(); } // Paper - OBFHELPER diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 26b27d3bf..9eaef662a 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,7 +19,7 @@ index aab33df7a36eb69300fedfce733985d6c239ca01..550232cb3819138b3bae0fa1c5142948 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 033633139b50f1d991ee6b18b8fb750225b52f34..f2b3df4319a3b0348bc5185d841abf7c0e21d425 100644 +index dfa45dff4d040f9e1d2708e4a2407b3790435a77..5ff34f389b327ef630258581d0e273f9e0fe4e5b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1222,7 +1222,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a807933d65a22dc1b15eda4dee819af72006fff3..25a4bd5a216798d01da33e54da4ab0e27b86b463 100644 +index 11497c73f40b0c681585cf6efca99a63eeb62e76..37c4b75f4dcb490e243082897713583060f394b2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1129,6 +1129,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1133,6 +1133,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.navigators.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit diff --git a/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch index c451048cb..e4d8b9d26 100644 --- a/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch @@ -29,7 +29,7 @@ index d59b82b7bb1f6d1b231f4e394e0a67a3d154d7be..f7a0a33e49cadf9b2bd43f118c106937 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2d421709d9155d8112b779a077f959c60fe9dba7..e9725b99fd0ce9a104bce07425b9c049cb4b3be6 100644 +index 26ad7e7d44dc1195f7ab948d2b42bf629c2702a7..52595b6534e2798b36b3a7c2d97451bd0ea2f3a0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -415,9 +415,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -41,7 +41,7 @@ index 2d421709d9155d8112b779a077f959c60fe9dba7..e9725b99fd0ce9a104bce07425b9c049 + // Extracted to own function + /* if (this.locY() < -64.0D) { - this.am(); + this.an(); } + */ + this.performVoidDamage(); @@ -49,7 +49,7 @@ index 2d421709d9155d8112b779a077f959c60fe9dba7..e9725b99fd0ce9a104bce07425b9c049 if (!this.world.isClientSide) { this.setFlag(0, this.fireTicks > 0); -@@ -510,6 +517,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -510,6 +517,17 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.setFireTicks(0); } @@ -62,12 +62,13 @@ index 2d421709d9155d8112b779a077f959c60fe9dba7..e9725b99fd0ce9a104bce07425b9c049 + } + } + // Paper end -+ protected final void doVoidDamage() { this.am(); } // Paper - OBFHELPER - protected void am() { ++ ++ protected final void doVoidDamage() { this.an(); } // Paper - OBFHELPER + protected void an() { this.die(); } diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 5e41e9527a966b2fa935ab5ae266cbbedf6fc114..f04e0dbe544b5dc0e40e37c4159a4f26fa149845 100644 +index dcd381069c2fd4d037ae0bcf710b9ff6ee30bb8f..35b5d41084b47de6a1185e23970ebe21875668d6 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -292,9 +292,15 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -78,7 +79,7 @@ index 5e41e9527a966b2fa935ab5ae266cbbedf6fc114..f04e0dbe544b5dc0e40e37c4159a4f26 + // Extracted to own function + /* if (this.locY() < -64.0D) { - this.am(); + this.an(); } + */ + this.performVoidDamage(); diff --git a/Spigot-Server-Patches/0030-Configurable-end-credits.patch b/Spigot-Server-Patches/0030-Configurable-end-credits.patch index ae4ead8e3..53b3cdbd6 100644 --- a/Spigot-Server-Patches/0030-Configurable-end-credits.patch +++ b/Spigot-Server-Patches/0030-Configurable-end-credits.patch @@ -20,7 +20,7 @@ index f7a0a33e49cadf9b2bd43f118c106937760da762..50dec5cb5e924301842300e8fc80cb67 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ec885c22279b237974ef461285ba59e0033800d9..783e665cf519b3ba67e7be182d61eb99fac0d0b4 100644 +index 7036a7556c5f859308540ec2f5643e40634c166e..76883dd525e074995d08ff20d0d74afcb3b11c2f 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -61,7 +61,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -32,7 +32,7 @@ index ec885c22279b237974ef461285ba59e0033800d9..783e665cf519b3ba67e7be182d61eb99 private final RecipeBookServer recipeBook = new RecipeBookServer(); private Vec3D cf; private int cg; -@@ -767,6 +767,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -770,6 +770,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.decouple(); this.getWorldServer().removePlayer(this); if (!this.viewingCredits) { diff --git a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch index 991f4d3cf..067289000 100644 --- a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch +++ b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch @@ -19,7 +19,7 @@ index f038d3f7dc7d1034a3ee9f2384a85642f224836e..25e0717186366af580e512eedfd403b8 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 083578259d0c428fb9439fcbb4b53ac59e9c390d..8928d9438f1ee1f37b7d38bef6671b3a2940e645 100644 +index c3aca7ebf5aae1c0582a0683920a4b82fa98a43f..3c4ce04c811e2df9877965ec35f773a7017c6e45 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1184,6 +1184,7 @@ public abstract class EntityLiving extends Entity { @@ -43,11 +43,11 @@ index 083578259d0c428fb9439fcbb4b53ac59e9c390d..8928d9438f1ee1f37b7d38bef6671b3a } + if (knockbackCancelled) this.world.broadcastEntityEffect(this, (byte) 2); // Paper - Disable explosion knockback - if (this.dk()) { + if (this.dl()) { if (!this.f(damagesource)) { SoundEffect soundeffect = this.getSoundDeath(); diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 88d2fa33e4c9f90f2aa80b3afbf28edbdbeb03db..b7d635ca2cbe9bf7e2e3a2ae5fa7a20f39dd913b 100644 +index ac39b02ec5f02f6f2db9f293513686d2d29d4036..471b48a52d564cb4989d211188f5c5b561ac7827 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -189,14 +189,14 @@ public class Explosion { diff --git a/Spigot-Server-Patches/0034-Disable-thunder.patch b/Spigot-Server-Patches/0034-Disable-thunder.patch index 1aba4ac43..98b4d7c24 100644 --- a/Spigot-Server-Patches/0034-Disable-thunder.patch +++ b/Spigot-Server-Patches/0034-Disable-thunder.patch @@ -19,15 +19,15 @@ index 25e0717186366af580e512eedfd403b8efc64a75..41436a4ead736dc925ca77d4cabf925f + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 25a4bd5a216798d01da33e54da4ab0e27b86b463..7798f1906d01dd5293991a3fe8c567ee81102ccf 100644 +index 37c4b75f4dcb490e243082897713583060f394b2..d86df7b56314101571ed9c2d77bfae4a5bd2f935 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -471,7 +471,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -475,7 +475,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { gameprofilerfiller.enter("thunder"); BlockPosition blockposition; -- if (flag && this.V() && this.random.nextInt(100000) == 0) { -+ if (!this.paperConfig.disableThunder && flag && this.V() && this.random.nextInt(100000) == 0) { // Paper - Disable thunder +- if (flag && this.W() && this.random.nextInt(100000) == 0) { ++ if (!this.paperConfig.disableThunder && flag && this.W() && this.random.nextInt(100000) == 0) { // Paper - Disable thunder blockposition = this.a(this.a(j, 0, k, 15)); if (this.isRainingAt(blockposition)) { DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition); diff --git a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch index 89a988ca7..0742a0688 100644 --- a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch +++ b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch @@ -19,10 +19,10 @@ index 41436a4ead736dc925ca77d4cabf925f4e492d68..f53d8b96757cbedc5fbb16195952a7da + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7798f1906d01dd5293991a3fe8c567ee81102ccf..b398fcfb9f2bd61a6481bb35bebfb26f5d12e69a 100644 +index d86df7b56314101571ed9c2d77bfae4a5bd2f935..8ed0c4f1e84adc602e01f10049c6e553880cb76a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -495,7 +495,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -499,7 +499,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } gameprofilerfiller.exitEnter("iceandsnow"); diff --git a/Spigot-Server-Patches/0039-Configurable-container-update-tick-rate.patch b/Spigot-Server-Patches/0039-Configurable-container-update-tick-rate.patch index 8a5b166b0..eb1477ea2 100644 --- a/Spigot-Server-Patches/0039-Configurable-container-update-tick-rate.patch +++ b/Spigot-Server-Patches/0039-Configurable-container-update-tick-rate.patch @@ -19,10 +19,10 @@ index 428deed56dae597291670bea8c8a6a67ce4d940f..a4da22ea65d5fdba38f8dc331919088f + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 783e665cf519b3ba67e7be182d61eb99fac0d0b4..95434c741b246ff5698e41babef9f2c1471f76a2 100644 +index 76883dd525e074995d08ff20d0d74afcb3b11c2f..d0cc45637e8bb57c3d6ede6e4e49e492671f4292 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -78,6 +78,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -80,6 +80,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public boolean e; public int ping; public boolean viewingCredits; @@ -30,7 +30,7 @@ index 783e665cf519b3ba67e7be182d61eb99fac0d0b4..95434c741b246ff5698e41babef9f2c1 // CraftBukkit start public String displayName; -@@ -399,7 +400,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -402,7 +403,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { --this.noDamageTicks; } diff --git a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch index 6fa4947fa..9ff8ada22 100644 --- a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch +++ b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch @@ -14,10 +14,10 @@ big slowdown in execution but throwing an exception at same time to raise awaren that it is happening so that plugin authors can fix their code to stop executing commands async. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fd1860e3a83dec60362997ac6e1225270260cf38..7493d7ce48a9c5875bce01252b4d958ab3b9ec7d 100644 +index 20651905fd6566e856aeb7340469047b7eb8c2c8..adf64b482d78a8cfc9c3f57936440c4472dd4ba3 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1609,6 +1609,29 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1698,6 +1698,29 @@ public class PlayerConnection implements PacketListenerPlayIn { } if (!async && s.startsWith("/")) { diff --git a/Spigot-Server-Patches/0051-Add-configurable-portal-search-radius.patch b/Spigot-Server-Patches/0051-Add-configurable-portal-search-radius.patch index 147fd1dc3..0b8e1d5ce 100644 --- a/Spigot-Server-Patches/0051-Add-configurable-portal-search-radius.patch +++ b/Spigot-Server-Patches/0051-Add-configurable-portal-search-radius.patch @@ -21,10 +21,10 @@ index 62e793b71b313146b86b466421e7a5f894bef9df..cd47a4ca069df26969de3051c2aac805 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e9725b99fd0ce9a104bce07425b9c049cb4b3be6..7cdb5c74ef3260917618fc0bfc393bcf933ffb7a 100644 +index 52595b6534e2798b36b3a7c2d97451bd0ea2f3a0..716ea2fced5dc9e9a790f25e68252d5bd445b9ce 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2527,7 +2527,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2528,7 +2528,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke double d4 = DimensionManager.a(this.world.getDimensionManager(), worldserver.getDimensionManager()); BlockPosition blockposition = new BlockPosition(MathHelper.a(this.locX() * d4, d0, d2), this.locY(), MathHelper.a(this.locZ() * d4, d1, d3)); // CraftBukkit start @@ -34,10 +34,10 @@ index e9725b99fd0ce9a104bce07425b9c049cb4b3be6..7cdb5c74ef3260917618fc0bfc393bcf return null; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 95434c741b246ff5698e41babef9f2c1471f76a2..863f779453bb028d6452292663fd1e41ab434165 100644 +index d0cc45637e8bb57c3d6ede6e4e49e492671f4292..64b310347db500a0b89b3c520a2a6fd795133deb 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -872,7 +872,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -875,7 +875,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { protected CraftPortalEvent callPortalEvent(Entity entity, WorldServer exitWorldServer, BlockPosition exitPosition, TeleportCause cause, int searchRadius, int creationRadius) { Location enter = this.getBukkitEntity().getLocation(); Location exit = new Location(exitWorldServer.getWorld(), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ(), yaw, pitch); @@ -47,7 +47,7 @@ index 95434c741b246ff5698e41babef9f2c1471f76a2..863f779453bb028d6452292663fd1e41 if (event.isCancelled() || event.getTo() == null || event.getTo().getWorld() == null) { return null; diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java -index dc972bf0abc87c2b2fb84d8fffc368a947b2d9a3..205f3f697e9c31674a4ac8db38467bb2e61cfe6b 100644 +index 150c688262e79b3b675685dbd1754b9e01cb4d75..e10995ec30dd9a10d781b3c1709fd2db5a9becdd 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -14,7 +14,7 @@ public class PortalTravelAgent { diff --git a/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch index 48ea4bc77..e83422751 100644 --- a/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch @@ -25,10 +25,10 @@ index abbf59bb91021821876a8960e8f77fac24457ec4..04430aae52205ee167662004e45c145b + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7cdb5c74ef3260917618fc0bfc393bcf933ffb7a..ab4405638f56844a54d4dba08bef11e7f54c568d 100644 +index 716ea2fced5dc9e9a790f25e68252d5bd445b9ce..02ad0b959e636d0f93cfd491b7b549364f92fbb6 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2198,6 +2198,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2199,6 +2199,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @Nullable public ScoreboardTeamBase getScoreboardTeam() { @@ -37,7 +37,7 @@ index 7cdb5c74ef3260917618fc0bfc393bcf933ffb7a..ab4405638f56844a54d4dba08bef11e7 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 8928d9438f1ee1f37b7d38bef6671b3a2940e645..98742de5952c6d09592bdbcb12ed8862712a63e7 100644 +index 3c4ce04c811e2df9877965ec35f773a7017c6e45..4a67a78bbb7b633dcf5ea490b888898487a63d7a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -642,6 +642,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch index d7189f640..b68e6c402 100644 --- a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch +++ b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7493d7ce48a9c5875bce01252b4d958ab3b9ec7d..535e24a54a22f59b165e5043653eef5ca8f0d5e0 100644 +index adf64b482d78a8cfc9c3f57936440c4472dd4ba3..4796d4d807ad5aa9b78bdf36cec7f45c8bce2d76 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1375,7 +1375,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1451,7 +1451,11 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit start public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) { PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer()); diff --git a/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch index 8e4d6d899..b7188173b 100644 --- a/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8ae490f5dbf9afc467f82fd7ea863bc9e247203b..884e166826a73e0210f3c215d68cdf1a4bd00355 100644 +index 89d773ff59ad884a49a9ef26bc590d14c7df7776..c1d3dd294049c93beddaf5e4d513913cebb639df 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -245,11 +245,27 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -51,10 +51,10 @@ index bb0f30f182856d2701fde9b1a65eeb987462104a..717f495abd63218bb7ce9241e7cfeac8 return (double) (blockposition.getX() + 1) > this.e() && (double) blockposition.getX() < this.g() && (double) (blockposition.getZ() + 1) > this.f() && (double) blockposition.getZ() < this.h(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b398fcfb9f2bd61a6481bb35bebfb26f5d12e69a..fd50d0649edb0bbc71bb775059993cca0cb2c227 100644 +index 8ed0c4f1e84adc602e01f10049c6e553880cb76a..e307f939745db9688e96c42a70d337e8751874f2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -84,7 +84,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -88,7 +88,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { public final Convertable.ConversionSession convertable; public final UUID uuid; diff --git a/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch index 512a318d6..3ba7f4d21 100644 --- a/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch @@ -22,10 +22,10 @@ index d8b9d87bca6eb95c2cea91e4d8466b9792582d52..92d1dffbf436a21943b4a6aa0fabf54f + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index fd50d0649edb0bbc71bb775059993cca0cb2c227..4f9e7df2f08c6db88fe8c337f20e620efca62ed8 100644 +index e307f939745db9688e96c42a70d337e8751874f2..2dfecbc93c5de9ea67064ff2b8e041e173fc0be2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -475,7 +475,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -479,7 +479,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { blockposition = this.a(this.a(j, 0, k, 15)); if (this.isRainingAt(blockposition)) { DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition); diff --git a/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 6c89c5e78..798e65e47 100644 --- a/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/Spigot-Server-Patches/0072-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -32,7 +32,7 @@ index 48eb9c8a68d45c88c7a42e8e400446a374fb4fc9..2c8d49501664862559ed8974b4821bdd } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0d892aa828b75fddae89fe5133710af96719e408..82ac7329aa0e9fada9a195afef65479865588393 100644 +index 298ca618e520fb93f4eba39c48e0d5b3e2d44a98..b5a40ee42cf0e976097c099aec6148bc02eccb7b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1172,6 +1172,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return worldserver + " " + worldserver.getDimensionKey().a(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 3b4ac43dbad865e1f99a20e4b8860797d060903f..62af19816439beae85adf3c4de67971f3537d055 100644 +index 92785a80bae6b5c88285536f74f23e0609d793ac..19f0149051d9ff58223624754b27285c4c99b769 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -406,7 +406,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -66,10 +66,10 @@ index 3b4ac43dbad865e1f99a20e4b8860797d060903f..62af19816439beae85adf3c4de67971f this.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4f9e7df2f08c6db88fe8c337f20e620efca62ed8..f833dca02871773feab2d296669fc3896c4bcb63 100644 +index 2dfecbc93c5de9ea67064ff2b8e041e173fc0be2..e900ce242a84c8f6003905cf320070ea88ae13f3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -83,6 +83,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -87,6 +87,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { private int tickPosition; public final Convertable.ConversionSession convertable; public final UUID uuid; diff --git a/Spigot-Server-Patches/0073-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0073-Entity-AddTo-RemoveFrom-World-Events.patch index a25075cf0..3aa1c7cf1 100644 --- a/Spigot-Server-Patches/0073-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0073-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 f833dca02871773feab2d296669fc3896c4bcb63..c5fdd3bf3e462833f33c94d68049400e68e7d283 100644 +index e900ce242a84c8f6003905cf320070ea88ae13f3..b196dfb3de0ab6fa2cd57b970e5a36ccc3fcc352 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1097,7 +1097,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1101,7 +1101,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (entity instanceof EntityInsentient) { this.navigators.remove(((EntityInsentient) entity).getNavigation()); } @@ -17,7 +17,7 @@ index f833dca02871773feab2d296669fc3896c4bcb63..c5fdd3bf3e462833f33c94d68049400e entity.valid = false; // CraftBukkit } -@@ -1135,6 +1135,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1139,6 +1139,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end diff --git a/Spigot-Server-Patches/0078-Add-PlayerUseUnknownEntityEvent.patch b/Spigot-Server-Patches/0078-Add-PlayerUseUnknownEntityEvent.patch index 9adb97ff0..587492326 100644 --- a/Spigot-Server-Patches/0078-Add-PlayerUseUnknownEntityEvent.patch +++ b/Spigot-Server-Patches/0078-Add-PlayerUseUnknownEntityEvent.patch @@ -18,10 +18,10 @@ index 49c911e54eb3b20d820f3e1895c057eead6d312b..09c757a3bb1d9a49343cf58e18f736e1 private Vec3D c; private EnumHand d; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 535e24a54a22f59b165e5043653eef5ca8f0d5e0..7afb8b6ec1cc52d7dae77afab44f8f47bc30fa57 100644 +index 4796d4d807ad5aa9b78bdf36cec7f45c8bce2d76..979cb35952b995dfe912e909f06b0e490fe855fc 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1950,6 +1950,16 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2039,6 +2039,16 @@ public class PlayerConnection implements PacketListenerPlayIn { } } } diff --git a/Spigot-Server-Patches/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index b3f6e73f7..8e4ed4e67 100644 --- a/Spigot-Server-Patches/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -26,10 +26,10 @@ index fe2c8001897dc6d66ce0d24ddb1a5d3b79810294..538e6751f3bda77ba32256158d2a6a25 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7afb8b6ec1cc52d7dae77afab44f8f47bc30fa57..575825af6500bb7be669fec700a4ccd8f95dd90e 100644 +index 979cb35952b995dfe912e909f06b0e490fe855fc..e3057d52e589c5f39279547181e91a9ea019113a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1687,7 +1687,16 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1776,7 +1776,16 @@ public class PlayerConnection implements PacketListenerPlayIn { return; } diff --git a/Spigot-Server-Patches/0085-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0085-Remove-unused-World-Tile-Entity-List.patch index a9517cafc..bb122acc9 100644 --- a/Spigot-Server-Patches/0085-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0085-Remove-unused-World-Tile-Entity-List.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List Massive hit to performance and it is completely unnecessary. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d55b688dcf41bf9082da311b143055d3a6683baf..0fbd0e4c6fe7a12807848470954aee859234fa5a 100644 +index b2be738480442898603a1bd9f38aebb30ec9ebef..e1f2177b3ce48cc8f9bca6e014065d787e4741e4 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -39,7 +39,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -57,7 +57,7 @@ index d55b688dcf41bf9082da311b143055d3a6683baf..0fbd0e4c6fe7a12807848470954aee85 this.a(tileentity1); } // CraftBukkit end -@@ -902,7 +902,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -906,7 +906,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } else { if (tileentity != null) { this.tileEntityListPending.remove(tileentity); @@ -67,10 +67,10 @@ index d55b688dcf41bf9082da311b143055d3a6683baf..0fbd0e4c6fe7a12807848470954aee85 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c5fdd3bf3e462833f33c94d68049400e68e7d283..7b41dddfb62e91b3a0102d98db07e4863be7a0bd 100644 +index b196dfb3de0ab6fa2cd57b970e5a36ccc3fcc352..25d7e8d4ea4fd3f3f5b649866f105b4381aff0b3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1594,7 +1594,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1598,7 +1598,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size())); @@ -79,7 +79,7 @@ index c5fdd3bf3e462833f33c94d68049400e68e7d283..7b41dddfb62e91b3a0102d98db07e486 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"); -@@ -1733,7 +1733,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1737,7 +1737,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { 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/0089-Configurable-RCON-IP-address.patch b/Spigot-Server-Patches/0089-Configurable-RCON-IP-address.patch index 1c177d7cd..cca490669 100644 --- a/Spigot-Server-Patches/0089-Configurable-RCON-IP-address.patch +++ b/Spigot-Server-Patches/0089-Configurable-RCON-IP-address.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable RCON IP address For servers with multiple IP's, ability to bind to a specific interface. diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -index 834330e97326f8f739c9358234b64c685b80025c..0aa8448d25f743a0d12e4c7f7c9c04fd9d5d0088 100644 +index bec3a69b0f68a29ecff71f10c7b195adc91d16b3..3ecfb193be1d83d2b2c90ca9e264388dabb88c05 100644 --- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -@@ -56,6 +56,8 @@ public class DedicatedServerProperties extends PropertyManager.EditableProperty whiteList; public final GeneratorSettings generatorSettings; @@ -18,8 +18,8 @@ index 834330e97326f8f739c9358234b64c685b80025c..0aa8448d25f743a0d12e4c7f7c9c04fd // CraftBukkit start public DedicatedServerProperties(Properties properties, IRegistryCustom iregistrycustom, OptionSet optionset) { super(properties, optionset); -@@ -106,6 +108,10 @@ public class DedicatedServerProperties extends PropertyManager tileentitytypes) { super(tileentitytypes); -@@ -23,16 +24,18 @@ public abstract class TileEntityLootable extends TileEntityContainer { +@@ -23,16 +24,19 @@ public abstract class TileEntityLootable extends TileEntityContainer { } protected boolean b(NBTTagCompound nbttagcompound) { + this.lootableData.loadNbt(nbttagcompound); // Paper if (nbttagcompound.hasKeyOfType("LootTable", 8)) { this.lootTable = new MinecraftKey(nbttagcompound.getString("LootTable")); ++ try { org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(this.lootTable); } catch (IllegalArgumentException ex) { this.lootTable = null; } // Paper - validate this.lootTableSeed = nbttagcompound.getLong("LootTableSeed"); - return true; + return false; // Paper - always load the items, table may still remain @@ -620,7 +621,7 @@ index 1551136c0a50a116eef3430b0c5848ac1ed44bae..c6e6c54a3eb5d725b71f2ec2bb27dd8e if (this.lootTable == null) { return false; } else { -@@ -41,19 +44,20 @@ public abstract class TileEntityLootable extends TileEntityContainer { +@@ -41,19 +45,20 @@ public abstract class TileEntityLootable extends TileEntityContainer { nbttagcompound.setLong("LootTableSeed", this.lootTableSeed); } diff --git a/Spigot-Server-Patches/0099-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0099-Optimize-UserCache-Thread-Safe.patch index 7b2987392..57f99eac6 100644 --- a/Spigot-Server-Patches/0099-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0099-Optimize-UserCache-Thread-Safe.patch @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index aade5e291b80c5362c8fd8cf09faca8e631e0554..2d74d14385c7e705cb210bcfc0780f4c9c6a1cda 100644 +index 7b52bf335e60a700b4c4e25cab1b0261f32775bc..dc0cb79525adf0d5afee1f677e1fde546529cf97 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -210,7 +210,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -212,7 +212,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } if (this.convertNames()) { @@ -23,7 +23,7 @@ index aade5e291b80c5362c8fd8cf09faca8e631e0554..2d74d14385c7e705cb210bcfc0780f4c if (!NameReferencingFileConverter.e(this)) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 165e915c9c76b603b61d0548a85ec8e09f25ca05..9dd54bea5f9a7d1cb638100312855135f83bcaf9 100644 +index d1fe6c006776b221fe817a06c22c675108f38b2f..009a8cd2c77c5b6b474b587e637280a8feac9959 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -786,7 +786,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 80) { PlayerConnection.LOGGER.warn("{} was kicked for floating too long!", this.player.getDisplayName().getString()); @@ -33,7 +33,7 @@ index fe1a6b5b2a432805830e651be5f98fc4709b8883..2f5ffd261208f726b4eedb5ac2830162 return; } } else { -@@ -166,7 +166,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -177,7 +177,7 @@ public class PlayerConnection implements PacketListenerPlayIn { if (this.D && this.player.getRootVehicle().getRidingPassenger() == this.player) { if (++this.E > 80) { PlayerConnection.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getDisplayName().getString()); diff --git a/Spigot-Server-Patches/0112-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0112-Chunk-registration-fixes.patch index 90135181b..8519e0064 100644 --- a/Spigot-Server-Patches/0112-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0112-Chunk-registration-fixes.patch @@ -8,11 +8,11 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5e0ea872a03e603faf74ea58fd5541d9aeedb172..0b36f37a0f8accdcede06564f56f4ffa10dd9b74 100644 +index 0c5299f97981a8394231a24b084b320cbecb0847..9040385c68db1dc004b5ce6cc62300e7da85073e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -731,7 +731,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { - if (entity.ck()) { +@@ -735,7 +735,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { + if (entity.cl()) { this.getMethodProfiler().enter("chunkCheck"); int i = MathHelper.floor(entity.locX() / 16.0D); - int j = MathHelper.floor(entity.locY() / 16.0D); diff --git a/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch b/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch index 5f071e2b0..29c7cb93c 100644 --- a/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch +++ b/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Auto fix bad Y levels on player login Bring down to a saner Y level if super high, as this can cause the server to crash diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ed29b3cdbc0137f81d586207d4082a02d8ef73b5..40d35a7b04ae266214840da676a08f3967401fe2 100644 +index b4abf6a7ba8ce73868a3a63106ea542d0ca67024..09b2ad46f051c94988061018100086847ce0fb9a 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -205,6 +205,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -208,6 +208,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void loadData(NBTTagCompound nbttagcompound) { super.loadData(nbttagcompound); diff --git a/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch b/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch index 63dceffcb..8b2aa48fd 100644 --- a/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch +++ b/Spigot-Server-Patches/0118-Cache-user-authenticator-threads.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 40d35a7b04ae266214840da676a08f3967401fe2..9d0af9bcdc91996d09db9472fca6682368091efa 100644 +index 09b2ad46f051c94988061018100086847ce0fb9a..ea275587cbe06f5624b4a5d05095e6d0964ea9b9 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -4,7 +4,9 @@ import com.google.common.collect.Lists; @@ -27,7 +27,7 @@ index 40d35a7b04ae266214840da676a08f3967401fe2..9d0af9bcdc91996d09db9472fca66823 private final AdvancementDataPlayer advancementDataPlayer; private final ServerStatisticManager serverStatisticManager; private float lastHealthScored = Float.MIN_VALUE; -@@ -415,13 +417,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -418,13 +420,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { while (!this.removeQueue.isEmpty()) { int i = Math.min(this.removeQueue.size(), Integer.MAX_VALUE); int[] aint = new int[i]; @@ -50,7 +50,7 @@ index 40d35a7b04ae266214840da676a08f3967401fe2..9d0af9bcdc91996d09db9472fca66823 this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint)); } -@@ -1407,7 +1416,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1410,7 +1419,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.lastHealthSent = -1.0F; this.lastFoodSent = -1; // this.recipeBook.a((RecipeBook) entityplayer.recipeBook); // CraftBukkit diff --git a/Spigot-Server-Patches/0119-Optimise-removeQueue.patch b/Spigot-Server-Patches/0119-Optimise-removeQueue.patch index 2865349a9..502410e7e 100644 --- a/Spigot-Server-Patches/0119-Optimise-removeQueue.patch +++ b/Spigot-Server-Patches/0119-Optimise-removeQueue.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimise removeQueue diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 87afa6e458f50e8e1d9e6c5a05020876de0a0fdc..dfdc7598a47cc60d0877d2e48aea017cab92c8a2 100644 +index 291baeb12c796cfaa64d60d44007ee537ddedce2..d7c48b3fd1a70fe500df80bb57ce9e2a91feb8ef 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -96,6 +96,12 @@ public class LoginListener implements PacketLoginInListener { +@@ -97,6 +97,12 @@ public class LoginListener implements PacketLoginInListener { } @@ -21,8 +21,8 @@ index 87afa6e458f50e8e1d9e6c5a05020876de0a0fdc..dfdc7598a47cc60d0877d2e48aea017c // Spigot start public void initUUID() { -@@ -174,8 +180,8 @@ public class LoginListener implements PacketLoginInListener { - this.networkManager.sendPacket(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic(), this.e)); +@@ -175,8 +181,8 @@ public class LoginListener implements PacketLoginInListener { + this.networkManager.sendPacket(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic().getEncoded(), this.e)); } else { // Spigot start - new Thread("User Authenticator #" + LoginListener.b.incrementAndGet()) { @@ -32,7 +32,7 @@ index 87afa6e458f50e8e1d9e6c5a05020876de0a0fdc..dfdc7598a47cc60d0877d2e48aea017c @Override public void run() { try { -@@ -186,7 +192,8 @@ public class LoginListener implements PacketLoginInListener { +@@ -187,7 +193,8 @@ public class LoginListener implements PacketLoginInListener { server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + i.getName(), ex); } } @@ -42,26 +42,26 @@ index 87afa6e458f50e8e1d9e6c5a05020876de0a0fdc..dfdc7598a47cc60d0877d2e48aea017c // Spigot end } -@@ -203,7 +210,8 @@ public class LoginListener implements PacketLoginInListener { - this.loginKey = packetlogininencryptionbegin.a(privatekey); - this.g = LoginListener.EnumProtocolState.AUTHENTICATING; - this.networkManager.a(this.loginKey); -- Thread thread = new Thread("User Authenticator #" + LoginListener.b.incrementAndGet()) { -+ // Paper start - Cache authenticator threads -+ authenticatorPool.execute(new Runnable() { - public void run() { - GameProfile gameprofile = LoginListener.this.i; - -@@ -250,10 +258,8 @@ public class LoginListener implements PacketLoginInListener { - - return LoginListener.this.server.V() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; - } -- }; -- -- thread.setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(LoginListener.LOGGER)); -- thread.start(); -+ }); -+ // Paper end +@@ -216,7 +223,8 @@ public class LoginListener implements PacketLoginInListener { + throw new IllegalStateException("Protocol error", cryptographyexception); } + +- Thread thread = new Thread("User Authenticator #" + LoginListener.b.incrementAndGet()) { ++ // Paper start - Cache authenticator threads ++ authenticatorPool.execute(new Runnable() { + public void run() { + GameProfile gameprofile = LoginListener.this.i; + +@@ -261,10 +269,8 @@ public class LoginListener implements PacketLoginInListener { + + return LoginListener.this.server.W() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; + } +- }; +- +- thread.setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(LoginListener.LOGGER)); +- thread.start(); ++ }); ++ // Paper end } + // Spigot start diff --git a/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch index 4d4e3cb4e..e3b01fc91 100644 --- a/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0122-Don-t-let-fishinghooks-use-portals.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index cd095cee4f162e5c47c04a68c66a4eb743d95a3f..7dde9774106b7bc1dac46ad591279343b863a9cc 100644 +index 8724f293a2c4b56dc5f30c1377151edb425db63b..4a5f2617c7b35490980b341115e3df468ab3a544 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -191,6 +191,11 @@ public class EntityFishingHook extends IProjectile { this.setMot(this.getMot().a(0.92D)); - this.ae(); + this.af(); + // Paper start - These shouldn't be going through portals + if (this.inPortal) { + this.die(); diff --git a/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch index c85a2f444..9849d6bf2 100644 --- a/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0130-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 9d0af9bcdc91996d09db9472fca6682368091efa..3d4ae2f7e6dbc10f38329d89027eea9c51e19c45 100644 +index ea275587cbe06f5624b4a5d05095e6d0964ea9b9..a4e93985d2db37d1f597878cfb5069fbc7233aa4 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1905,7 +1905,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1913,7 +1913,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override protected boolean isFrozen() { @@ -19,10 +19,10 @@ index 9d0af9bcdc91996d09db9472fca6682368091efa..3d4ae2f7e6dbc10f38329d89027eea9c @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2f5ffd261208f726b4eedb5ac2830162741fcb43..c98766717dc45539227cf2a2ab7efd2f8faa5c4a 100644 +index 406303f75b5bead76ab6b8c7f26614544f5236d8..0f1757a114278c461b149a8ec91ef3949ea2df16 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2564,7 +2564,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2658,7 +2658,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } public final boolean isDisconnected() { diff --git a/Spigot-Server-Patches/0132-Firework-API-s.patch b/Spigot-Server-Patches/0132-Firework-API-s.patch index 0a50850f9..1f8932f30 100644 --- a/Spigot-Server-Patches/0132-Firework-API-s.patch +++ b/Spigot-Server-Patches/0132-Firework-API-s.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Firework API's diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index b350825141e7a0d71a7362f1faf01c41d769a14f..36729e478329cdcd4af6132f3024963314bc4c61 100644 +index 46b315036bbe576b2bf9938db73d9c5931003cc1..a646dc9f030ad1f76ba2b7bb1bc7897cd34b648c 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -13,7 +13,8 @@ public class EntityFireworks extends IProjectile { @@ -18,7 +18,7 @@ index b350825141e7a0d71a7362f1faf01c41d769a14f..36729e478329cdcd4af6132f30249633 public EntityFireworks(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -258,6 +259,11 @@ public class EntityFireworks extends IProjectile { +@@ -260,6 +261,11 @@ public class EntityFireworks extends IProjectile { } nbttagcompound.setBoolean("ShotAtAngle", (Boolean) this.datawatcher.get(EntityFireworks.SHOT_AT_ANGLE)); @@ -30,7 +30,7 @@ index b350825141e7a0d71a7362f1faf01c41d769a14f..36729e478329cdcd4af6132f30249633 } @Override -@@ -274,7 +280,11 @@ public class EntityFireworks extends IProjectile { +@@ -276,7 +282,11 @@ public class EntityFireworks extends IProjectile { if (nbttagcompound.hasKey("ShotAtAngle")) { this.datawatcher.set(EntityFireworks.SHOT_AT_ANGLE, nbttagcompound.getBoolean("ShotAtAngle")); } diff --git a/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch index daef3baee..426b4a30e 100644 --- a/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0136-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f5c760a8db6f509298f53df3538e7dd60f096b50..e720917159089e80dc8589ef7345644b44409c3d 100644 +index 703267fe8a9b5e9d49d3b2dbe1da93def15d1b54..170dad8be525b40d764b6e63c981f7b73775a01b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1955,6 +1955,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1956,6 +1956,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/Spigot-Server-Patches/0141-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0141-Do-not-let-armorstands-drown.patch index 06acb4b69..0cea7195c 100644 --- a/Spigot-Server-Patches/0141-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0141-Do-not-let-armorstands-drown.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 254c7ad539edfbbd34464b80b523fa2134939ef9..f2938b115aa34158e76da9f974f5746ed43630e1 100644 +index 41aedbbe52761f79512a0676b096a1f8a9a49396..96c229e5dd214d32478fe4d5b96e77d8ba2bc93c 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -830,5 +830,10 @@ public class EntityArmorStand extends EntityLiving { @@ -20,22 +20,22 @@ index 254c7ad539edfbbd34464b80b523fa2134939ef9..f2938b115aa34158e76da9f974f5746e // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 60ee57139a86492c290b33808ca35300dcf96f54..0e79f18eaf11b9abab193135af07f4db2035a7eb 100644 +index 1b23da5c34704bbc00dd050bdf418a937002d784..f52c2faa42c45d1d8acf7002c306a7de3aadcb86 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -245,6 +245,7 @@ public abstract class EntityLiving extends Entity { super.a(d0, flag, iblockdata, blockposition); } -+ public boolean canBreatheUnderwater() { return this.cL(); } // Paper - OBFHELPER - public boolean cL() { ++ public boolean canBreatheUnderwater() { return this.cM(); } // Paper - OBFHELPER + public boolean cM() { return this.getMonsterType() == EnumMonsterType.UNDEAD; } @@ -288,7 +289,7 @@ public abstract class EntityLiving extends Entity { if (this.isAlive()) { if (this.a((Tag) TagsFluid.WATER) && !this.world.getType(new BlockPosition(this.locX(), this.getHeadY(), this.locZ())).a(Blocks.BUBBLE_COLUMN)) { -- if (!this.cL() && !MobEffectUtil.c(this) && !flag1) { +- if (!this.cM() && !MobEffectUtil.c(this) && !flag1) { + if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER so it can be overridden this.setAirTicks(this.l(this.getAirTicks())); if (this.getAirTicks() == -20) { diff --git a/Spigot-Server-Patches/0144-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0144-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 6a8738373..821af8e86 100644 --- a/Spigot-Server-Patches/0144-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0144-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -26,7 +26,7 @@ index 04ee0856a8c62e1afb438d4fddf40e605e82a074..0cc7ad571eba249199a2e5e8ec567a87 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 485b69140f72a22b3eae53be74bcad003dd92e8f..196d1a7fa8ac9249ca061a704b2403c7bf1f4eb1 100644 +index 8e6059e0f6b800e0a141e0274c10b19beb4c58c2..980484baae997832dafa55a54e4a658507a05803 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -436,7 +436,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -39,10 +39,10 @@ index 485b69140f72a22b3eae53be74bcad003dd92e8f..196d1a7fa8ac9249ca061a704b2403c7 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c98766717dc45539227cf2a2ab7efd2f8faa5c4a..29b620bce44e3508dd7870347df4bbf02cef2662 100644 +index 0f1757a114278c461b149a8ec91ef3949ea2df16..e9fa6aa6a2417cc017eb255fce02a37d6d2933e6 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1812,6 +1812,13 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1901,6 +1901,13 @@ public class PlayerConnection implements PacketListenerPlayIn { switch (packetplayinentityaction.c()) { case PRESS_SHIFT_KEY: this.player.setSneaking(true); diff --git a/Spigot-Server-Patches/0146-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0146-Use-TerminalConsoleAppender-for-console-improvements.patch index c5a4f48ca..855dd75f6 100644 --- a/Spigot-Server-Patches/0146-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0146-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index b80d7b1c3d934d378b1fca58a9e12ac516350ea8..e356999b348002af2d74266dfb93b8af8f376401 100644 +index 7d38039fcba45ee55f35c0291ad66a58ef99c392..7c775cb6b51be98e2a257a5e2774e23f35e46369 100644 --- a/pom.xml +++ b/pom.xml @@ -44,10 +44,27 @@ @@ -144,10 +144,10 @@ index 0000000000000000000000000000000000000000..685deaa0e5d1ddc13e3a7c0471b1cfcf + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 971be962f5031dc6bb5f6cbb7bb7667896f4a50e..3bdde27a52c88b5f0621bdaf30ccd1ac00160b64 100644 +index dc0cb79525adf0d5afee1f677e1fde546529cf97..750b1dc10ffb7adb9194e6cc8ace8fa92a5f0dec 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -60,6 +60,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -63,6 +63,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer if (!org.bukkit.craftbukkit.Main.useConsole) { return; } @@ -157,7 +157,7 @@ index 971be962f5031dc6bb5f6cbb7bb7667896f4a50e..3bdde27a52c88b5f0621bdaf30ccd1ac jline.console.ConsoleReader bufferedreader = reader; // MC-33041, SPIGOT-5538: if System.in is not valid due to javaw, then return -@@ -99,6 +102,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -102,6 +105,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer DedicatedServer.LOGGER.error("Exception handling console input", ioexception); } @@ -166,7 +166,7 @@ index 971be962f5031dc6bb5f6cbb7bb7667896f4a50e..3bdde27a52c88b5f0621bdaf30ccd1ac } }; -@@ -110,6 +115,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -113,6 +118,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } global.addHandler(new org.bukkit.craftbukkit.util.ForwardLogHandler()); @@ -176,7 +176,7 @@ index 971be962f5031dc6bb5f6cbb7bb7667896f4a50e..3bdde27a52c88b5f0621bdaf30ccd1ac final org.apache.logging.log4j.core.Logger logger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()); for (org.apache.logging.log4j.core.Appender appender : logger.getAppenders().values()) { if (appender instanceof org.apache.logging.log4j.core.appender.ConsoleAppender) { -@@ -118,6 +126,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -121,6 +129,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } new org.bukkit.craftbukkit.util.TerminalConsoleWriterThread(System.out, this.reader).start(); @@ -186,7 +186,7 @@ index 971be962f5031dc6bb5f6cbb7bb7667896f4a50e..3bdde27a52c88b5f0621bdaf30ccd1ac System.setOut(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream()); System.setErr(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream()); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3f1ab69ac09c0c5ab50a99961a705254f3749f18..08708a42737ce66794083116f55ea209dbf81dcf 100644 +index f6e870bd5213cee48baf8d8f8159f43b65389e23..bf36e03b9be60c5be30944cae0b15809861b4e18 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -58,7 +58,7 @@ import org.apache.logging.log4j.LogManager; @@ -286,7 +286,7 @@ index b54d24096bba7afd33b45cf22dfcdafcfa31eb3d..2eb2c0c93b0d67ad7474e37158dab440 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 83f3ce88c16bee4fa6d20d6942c69ecd279ae2af..1152ba83b0389a6adde25b64bc44d427f52752b5 100644 +index 868a67c5023e61960d6225de8ad1506c46177733..eae93b314fed9f7ddf1c0b87228a2f3bc9f73a78 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import java.util.logging.Level; @@ -325,7 +325,7 @@ index 83f3ce88c16bee4fa6d20d6942c69ecd279ae2af..1152ba83b0389a6adde25b64bc44d427 + System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } - if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { @@ -226,7 +237,7 @@ public class Main { System.out.println("Unable to read system info"); } diff --git a/Spigot-Server-Patches/0152-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0152-Basic-PlayerProfile-API.patch index 06c8593bf..f05be280b 100644 --- a/Spigot-Server-Patches/0152-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0152-Basic-PlayerProfile-API.patch @@ -310,7 +310,7 @@ index 0000000000000000000000000000000000000000..2751ce7f1556da07ef853807a588f096 +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java new file mode 100644 -index 0000000000000000000000000000000000000000..ef9f55afd6bffa8c02c6820295223e5465eed91e +index 0000000000000000000000000000000000000000..d64d45eb01c65864fca1077982d89bc05e0f811b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java @@ -0,0 +1,31 @@ @@ -325,8 +325,8 @@ index 0000000000000000000000000000000000000000..ef9f55afd6bffa8c02c6820295223e54 + +public class PaperAuthenticationService extends YggdrasilAuthenticationService { + private final Environment environment; -+ public PaperAuthenticationService(Proxy proxy, String clientToken) { -+ super(proxy, clientToken); ++ public PaperAuthenticationService(Proxy proxy) { ++ super(proxy); + this.environment = (Environment)EnvironmentParser.getEnvironmentFromProperties().orElse(YggdrasilEnvironment.PROD);; + } + @@ -407,19 +407,20 @@ index 0000000000000000000000000000000000000000..93d73c27340645c7502acafdc0b2cfbc +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java new file mode 100644 -index 0000000000000000000000000000000000000000..3aceb0ea8a1a3ed94dd8a9e954c52ecd341c6bd1 +index 0000000000000000000000000000000000000000..3cdd06d3af7ff94f1fe1a11b9a9275e17c695a38 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java -@@ -0,0 +1,11 @@ +@@ -0,0 +1,12 @@ +package com.destroystokyo.paper.profile; + +import com.mojang.authlib.Agent; +import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; +import com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication; ++import java.util.UUID; + +public class PaperUserAuthentication extends YggdrasilUserAuthentication { + public PaperUserAuthentication(YggdrasilAuthenticationService authenticationService, Agent agent) { -+ super(authenticationService, agent); ++ super(authenticationService, UUID.randomUUID().toString(), agent); + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java @@ -451,15 +452,15 @@ index 17d73ebbe51a83f79f338bdb1b366cecd99f880d..39174bca00b4535e92f6b325b3fd058c * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 059b9634aeffc6f710d40112f5f8d9b877f2c7a3..d80235349ea8cc868b720b69f7f0812184e895c8 100644 +index 49649e70ee8bfb3dacd63a88a180f0f329f308c0..dacb8563bc823c8f6f1e1e10f2b8b9894819374f 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -94,7 +94,7 @@ public class Main { +@@ -93,7 +93,7 @@ public class Main { } File file = (File) optionset.valueOf("universe"); // CraftBukkit -- YggdrasilAuthenticationService yggdrasilauthenticationservice = new YggdrasilAuthenticationService(Proxy.NO_PROXY, UUID.randomUUID().toString()); -+ YggdrasilAuthenticationService yggdrasilauthenticationservice = new com.destroystokyo.paper.profile.PaperAuthenticationService(Proxy.NO_PROXY, UUID.randomUUID().toString()); // Paper +- YggdrasilAuthenticationService yggdrasilauthenticationservice = new YggdrasilAuthenticationService(Proxy.NO_PROXY); ++ YggdrasilAuthenticationService yggdrasilauthenticationservice = new com.destroystokyo.paper.profile.PaperAuthenticationService(Proxy.NO_PROXY); // Paper MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); UserCache usercache = new UserCache(gameprofilerepository, new File(file, MinecraftServer.b.getName())); diff --git a/Spigot-Server-Patches/0155-Block-player-logins-during-server-shutdown.patch b/Spigot-Server-Patches/0155-Block-player-logins-during-server-shutdown.patch index 4119976d2..5b487b11b 100644 --- a/Spigot-Server-Patches/0155-Block-player-logins-during-server-shutdown.patch +++ b/Spigot-Server-Patches/0155-Block-player-logins-during-server-shutdown.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block player logins during server shutdown diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index dfdc7598a47cc60d0877d2e48aea017cab92c8a2..4217fdd952cb51a00e0e46d3f7f84f056e4594ca 100644 +index d7c48b3fd1a70fe500df80bb57ce9e2a91feb8ef..3772268f91bbd726995f6006e2b2ee7048eb376c 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -48,6 +48,12 @@ public class LoginListener implements PacketLoginInListener { +@@ -49,6 +49,12 @@ public class LoginListener implements PacketLoginInListener { } public void tick() { diff --git a/Spigot-Server-Patches/0156-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0156-Entity-fromMobSpawner.patch index 1e4f5406d..ac875dc14 100644 --- a/Spigot-Server-Patches/0156-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0156-Entity-fromMobSpawner.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cad87c5f4cea45233c6266794f6e4dd9fd2c1fd9..5d3f402f06c5ed0816e9cce45904148c5fda0e0d 100644 +index 97abed1cede09624748e40331a15a021939568be..ef3fb476615fe6a3aafdf5aebcf5680bfaa62e49 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -183,6 +183,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -16,7 +16,7 @@ index cad87c5f4cea45233c6266794f6e4dd9fd2c1fd9..5d3f402f06c5ed0816e9cce45904148c protected int numCollisions = 0; // Paper public void inactiveTick() { } // Spigot end -@@ -1579,6 +1580,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1580,6 +1581,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (this.origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index cad87c5f4cea45233c6266794f6e4dd9fd2c1fd9..5d3f402f06c5ed0816e9cce45904148c // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -1707,6 +1712,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1708,6 +1713,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (!originTag.isEmpty()) { origin = new org.bukkit.Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2)); } diff --git a/Spigot-Server-Patches/0161-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0161-Fix-this-stupid-bullshit.patch index f3bd462d0..0cada4294 100644 --- a/Spigot-Server-Patches/0161-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0161-Fix-this-stupid-bullshit.patch @@ -9,12 +9,12 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index de16a5f8b88d671c42db786ffcf60f4dce181029..ba949818493369c02d06d33d77a992c8ee8f457f 100644 +index eae93b314fed9f7ddf1c0b87228a2f3bc9f73a78..ac60ed4396b67838ded7c775ca1115eba40d318b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -218,10 +218,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -21); + deadline.add(Calendar.DAY_OF_YEAR, -7); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit diff --git a/Spigot-Server-Patches/0165-Allow-specifying-a-custom-authentication-servers-dow.patch b/Spigot-Server-Patches/0165-Allow-specifying-a-custom-authentication-servers-dow.patch index d277edb07..86b06030e 100644 --- a/Spigot-Server-Patches/0165-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/Spigot-Server-Patches/0165-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5fa63d7ca20b88a44d8800b3ebf74e4c0e376d0b..cee8740e644c492e3d71fd58791e7d52d57e856d 100644 +index f9225e48d6b7916858ca7cc761444adb1ad89a6e..5fe6c36bdf8527d7fcb41e8d471194c7e395b946 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -1,5 +1,6 @@ @@ -27,17 +27,17 @@ index 5fa63d7ca20b88a44d8800b3ebf74e4c0e376d0b..cee8740e644c492e3d71fd58791e7d52 + } } diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 4217fdd952cb51a00e0e46d3f7f84f056e4594ca..d96555b62e8c5963ac84e6c3b4b88c2411a2a42a 100644 +index 3772268f91bbd726995f6006e2b2ee7048eb376c..c38255b43a9870bf8e20a3ca037f691934e5f146 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -246,6 +246,10 @@ public class LoginListener implements PacketLoginInListener { - LoginListener.this.i = LoginListener.this.a(gameprofile); - LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT; - } else { +@@ -257,6 +257,10 @@ public class LoginListener implements PacketLoginInListener { + LoginListener.this.i = LoginListener.this.a(gameprofile); + LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT; + } else { + // Paper start + if (com.destroystokyo.paper.PaperConfig.authenticationServersDownKickMessage != null) { + LoginListener.this.disconnect(new ChatComponentText(com.destroystokyo.paper.PaperConfig.authenticationServersDownKickMessage)); + } else // Paper end - LoginListener.this.disconnect(new ChatMessage("multiplayer.disconnect.authservers_down")); - LoginListener.LOGGER.error("Couldn't verify username because servers are unavailable"); - } + LoginListener.this.disconnect(new ChatMessage("multiplayer.disconnect.authservers_down")); + LoginListener.LOGGER.error("Couldn't verify username because servers are unavailable"); + } diff --git a/Spigot-Server-Patches/0170-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0170-Add-PlayerJumpEvent.patch index e1f703363..584cb7211 100644 --- a/Spigot-Server-Patches/0170-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0170-Add-PlayerJumpEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 29b620bce44e3508dd7870347df4bbf02cef2662..3ab384f09f8b309fe204ac052db7ecaf70ba14a6 100644 +index e9fa6aa6a2417cc017eb255fce02a37d6d2933e6..3df76ca67dd372e968341e92c10b37b5e77925da 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -58,6 +58,8 @@ import org.bukkit.inventory.CraftingInventory; +@@ -64,6 +64,8 @@ import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.InventoryView; import org.bukkit.util.NumberConversions; @@ -17,7 +17,7 @@ index 29b620bce44e3508dd7870347df4bbf02cef2662..3ab384f09f8b309fe204ac052db7ecaf import co.aikar.timings.MinecraftTimings; // Paper // CraftBukkit end -@@ -939,7 +941,34 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1015,7 +1017,34 @@ public class PlayerConnection implements PacketListenerPlayIn { boolean flag = d8 > 0.0D; if (this.player.isOnGround() && !packetplayinflying.b() && flag) { diff --git a/Spigot-Server-Patches/0171-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0171-handle-PacketPlayInKeepAlive-async.patch index 8febba94f..48744d101 100644 --- a/Spigot-Server-Patches/0171-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0171-handle-PacketPlayInKeepAlive-async.patch @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3ab384f09f8b309fe204ac052db7ecaf70ba14a6..e272691a8f44eba88a344ea24bfcf5874f03bc1d 100644 +index 3df76ca67dd372e968341e92c10b37b5e77925da..9eb5ec1b8b0299bf964ed1f0f1b30a4ce1a1ecd3 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2525,14 +2525,18 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2619,14 +2619,18 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInKeepAlive packetplayinkeepalive) { diff --git a/Spigot-Server-Patches/0173-revert-serverside-behavior-of-keepalives.patch b/Spigot-Server-Patches/0173-revert-serverside-behavior-of-keepalives.patch index 3dd554e6a..2590a0469 100644 --- a/Spigot-Server-Patches/0173-revert-serverside-behavior-of-keepalives.patch +++ b/Spigot-Server-Patches/0173-revert-serverside-behavior-of-keepalives.patch @@ -17,10 +17,10 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index e272691a8f44eba88a344ea24bfcf5874f03bc1d..a3710f23d4ef254cda3fae83d8547507aa2a8696 100644 +index 9eb5ec1b8b0299bf964ed1f0f1b30a4ce1a1ecd3..8acbd8cb850461339c9990165106f104609efed0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -70,7 +70,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -76,7 +76,7 @@ public class PlayerConnection implements PacketListenerPlayIn { private final MinecraftServer minecraftServer; public EntityPlayer player; private int e; @@ -29,7 +29,7 @@ index e272691a8f44eba88a344ea24bfcf5874f03bc1d..a3710f23d4ef254cda3fae83d8547507 private boolean awaitingKeepAlive; private void setPendingPing(boolean isPending) { this.awaitingKeepAlive = isPending;}; private boolean isPendingPing() { return this.awaitingKeepAlive;}; // Paper - OBFHELPER private long h; private void setKeepAliveID(long keepAliveID) { this.h = keepAliveID;}; private long getKeepAliveID() {return this.h; }; // Paper - OBFHELPER // CraftBukkit start - multithreaded fields -@@ -101,6 +101,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -107,6 +107,7 @@ public class PlayerConnection implements PacketListenerPlayIn { private int E; private int receivedMovePackets; private int processedMovePackets; @@ -37,7 +37,7 @@ index e272691a8f44eba88a344ea24bfcf5874f03bc1d..a3710f23d4ef254cda3fae83d8547507 public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) { this.minecraftServer = minecraftserver; -@@ -182,18 +183,25 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -193,18 +194,25 @@ public class PlayerConnection implements PacketListenerPlayIn { } this.minecraftServer.getMethodProfiler().enter("keepAlive"); diff --git a/Spigot-Server-Patches/0174-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0174-Send-attack-SoundEffects-only-to-players-who-can-see.patch index 5ba163ccd..da73ab825 100644 --- a/Spigot-Server-Patches/0174-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/Spigot-Server-Patches/0174-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index b64eecae09241360b6997200f931eb3a63470dab..700cc4161163308c72f66c688a6afc1663e38284 100644 +index ca33de2d305487f0f2f50e14f5878c05e1c9845c..c21d5e87f5ce7f9193d75848bfc89dc294bb8733 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1030,7 +1030,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -24,7 +24,7 @@ index b64eecae09241360b6997200f931eb3a63470dab..700cc4161163308c72f66c688a6afc16 - this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); + sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility - this.ew(); + this.ex(); } @@ -1133,15 +1133,15 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0177-Prevent-logins-from-being-processed-when-the-player-.patch b/Spigot-Server-Patches/0177-Prevent-logins-from-being-processed-when-the-player-.patch index ed56e3cf8..afbd0f1d1 100644 --- a/Spigot-Server-Patches/0177-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/Spigot-Server-Patches/0177-Prevent-logins-from-being-processed-when-the-player-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Prevent logins from being processed when the player has diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index d96555b62e8c5963ac84e6c3b4b88c2411a2a42a..7400d85e21d8efd231b3a00f16765946bcc54e65 100644 +index c38255b43a9870bf8e20a3ca037f691934e5f146..63769f6d6e82f4c3758db0f82314c3cc28d44011 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -55,7 +55,11 @@ public class LoginListener implements PacketLoginInListener { +@@ -56,7 +56,11 @@ public class LoginListener implements PacketLoginInListener { } // Paper end if (this.g == LoginListener.EnumProtocolState.READY_TO_ACCEPT) { diff --git a/Spigot-Server-Patches/0180-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0180-AsyncTabCompleteEvent.patch index 8a5326971..c5517dcb4 100644 --- a/Spigot-Server-Patches/0180-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0180-AsyncTabCompleteEvent.patch @@ -14,10 +14,10 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index a3710f23d4ef254cda3fae83d8547507aa2a8696..4dc0b3a6054ef82ad675c30d30b6a7ad5acea400 100644 +index 8acbd8cb850461339c9990165106f104609efed0..b92449c7035ebb330eb3aaa48e91a6d0b3873c5c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -521,10 +521,10 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -564,10 +564,10 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInTabComplete packetplayintabcomplete) { @@ -30,7 +30,7 @@ index a3710f23d4ef254cda3fae83d8547507aa2a8696..4dc0b3a6054ef82ad675c30d30b6a7ad return; } // CraftBukkit end -@@ -534,12 +534,35 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -577,12 +577,35 @@ public class PlayerConnection implements PacketListenerPlayIn { stringreader.skip(); } diff --git a/Spigot-Server-Patches/0187-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0187-PlayerNaturallySpawnCreaturesEvent.patch index da33e26eb..9a95c1a62 100644 --- a/Spigot-Server-Patches/0187-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0187-PlayerNaturallySpawnCreaturesEvent.patch @@ -9,7 +9,7 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 042031d2b7cb2f56d422145ffa7589fa46dd2e53..09cfd3ee900d0d1f523e6453163fdb806a0da6de 100644 +index 1daf3bea2cc488276b33e624e1591a71af1459d9..90812ab056acc39e62a43cb208bfd782e2a0c1b7 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -590,6 +590,15 @@ public class ChunkProviderServer extends IChunkProvider { @@ -29,7 +29,7 @@ index 042031d2b7cb2f56d422145ffa7589fa46dd2e53..09cfd3ee900d0d1f523e6453163fdb80 Optional optional = ((Either) playerchunk.a().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 3d4ae2f7e6dbc10f38329d89027eea9c51e19c45..6a8327379e7520d31e5eb0a61893e6d9f23a6814 100644 +index a4e93985d2db37d1f597878cfb5069fbc7233aa4..36ac4fde147fb5c4d26f1bdbcf027fb0bf3edca7 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1,5 +1,6 @@ @@ -39,7 +39,7 @@ index 3d4ae2f7e6dbc10f38329d89027eea9c51e19c45..6a8327379e7520d31e5eb0a61893e6d9 import com.google.common.collect.Lists; import com.mojang.authlib.GameProfile; import com.mojang.datafixers.util.Either; -@@ -95,6 +96,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -97,6 +98,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public boolean sentListPacket = false; public Integer clientViewDistance; // CraftBukkit end diff --git a/Spigot-Server-Patches/0199-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0199-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index fed062ea0..86a9bb5e1 100644 --- a/Spigot-Server-Patches/0199-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-Server-Patches/0199-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent This will allow you to change the players name or skin on login. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 7400d85e21d8efd231b3a00f16765946bcc54e65..230dcda34707b822790ace75957174f937821898 100644 +index 63769f6d6e82f4c3758db0f82314c3cc28d44011..b8642986f4304b48bf88c4a1d4ddfab1fbae175a 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -1,5 +1,7 @@ @@ -17,7 +17,7 @@ index 7400d85e21d8efd231b3a00f16765946bcc54e65..230dcda34707b822790ace75957174f9 import com.mojang.authlib.GameProfile; import com.mojang.authlib.exceptions.AuthenticationUnavailableException; import java.math.BigInteger; -@@ -18,6 +20,7 @@ import org.apache.logging.log4j.LogManager; +@@ -19,6 +21,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; // CraftBukkit start @@ -25,15 +25,15 @@ index 7400d85e21d8efd231b3a00f16765946bcc54e65..230dcda34707b822790ace75957174f9 import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.player.AsyncPlayerPreLoginEvent; import org.bukkit.event.player.PlayerPreLoginEvent; -@@ -286,8 +289,16 @@ public class LoginListener implements PacketLoginInListener { - java.util.UUID uniqueId = i.getId(); - final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; +@@ -296,8 +299,16 @@ public class LoginListener implements PacketLoginInListener { + java.util.UUID uniqueId = i.getId(); + final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; -- AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId); +- AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId); + // Paper start + PlayerProfile profile = Bukkit.createProfile(uniqueId, playerName); + AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId, profile); - server.getPluginManager().callEvent(asyncEvent); + server.getPluginManager().callEvent(asyncEvent); + profile = asyncEvent.getPlayerProfile(); + profile.complete(); + i = CraftPlayerProfile.asAuthlibCopy(profile); @@ -41,5 +41,5 @@ index 7400d85e21d8efd231b3a00f16765946bcc54e65..230dcda34707b822790ace75957174f9 + uniqueId = i.getId(); + // Paper end - if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) { - final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId); + if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) { + final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId); diff --git a/Spigot-Server-Patches/0200-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0200-Player.setPlayerProfile-API.patch index 60d4218c0..b34fc34eb 100644 --- a/Spigot-Server-Patches/0200-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0200-Player.setPlayerProfile-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index de781fce74e5300be508f25aac23f402f97a2874..49f051a1f47c73a66cc462b3eecf72c4e932b648 100644 +index 04dda158dd42a5e995ed376904e0505b97ffe1c4..7e9a077a6e6af34c06910d1381399eed81f9fc20 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -65,7 +65,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -19,10 +19,10 @@ index de781fce74e5300be508f25aac23f402f97a2874..49f051a1f47c73a66cc462b3eecf72c4 private final ItemCooldown bM; @Nullable diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 230dcda34707b822790ace75957174f937821898..a3555dd251af5dd4b320428aadaffe7063ecd356 100644 +index b8642986f4304b48bf88c4a1d4ddfab1fbae175a..87dcb1688d1bf1221609a410c33a8d61b0761a1f 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -36,7 +36,7 @@ public class LoginListener implements PacketLoginInListener { +@@ -37,7 +37,7 @@ public class LoginListener implements PacketLoginInListener { public final NetworkManager networkManager; private LoginListener.EnumProtocolState g; private int h; @@ -31,14 +31,14 @@ index 230dcda34707b822790ace75957174f937821898..a3555dd251af5dd4b320428aadaffe70 private final String j; private SecretKey loginKey; private EntityPlayer l; -@@ -290,12 +290,12 @@ public class LoginListener implements PacketLoginInListener { - final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; +@@ -300,12 +300,12 @@ public class LoginListener implements PacketLoginInListener { + final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; // Paper start - PlayerProfile profile = Bukkit.createProfile(uniqueId, playerName); + PlayerProfile profile = CraftPlayerProfile.asBukkitMirror(getGameProfile()); AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId, profile); - server.getPluginManager().callEvent(asyncEvent); + server.getPluginManager().callEvent(asyncEvent); profile = asyncEvent.getPlayerProfile(); - profile.complete(); - i = CraftPlayerProfile.asAuthlibCopy(profile); diff --git a/Spigot-Server-Patches/0209-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0209-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index b6f4102a9..ab46fed9a 100644 --- a/Spigot-Server-Patches/0209-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0209-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -5,15 +5,16 @@ Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 4dc0b3a6054ef82ad675c30d30b6a7ad5acea400..c79db4e81883ce8635e91304b288f32e7bc2c763 100644 +index b92449c7035ebb330eb3aaa48e91a6d0b3873c5c..e72a519645e9383c989fc3ad8059c1c88c1b6382 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2537,7 +2537,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2631,7 +2631,8 @@ public class PlayerConnection implements PacketListenerPlayIn { String[] lines = new String[4]; - for (int i = 0; i < astring.length; ++i) { -- lines[i] = EnumChatFormat.a(new ChatComponentText(EnumChatFormat.a(astring[i])).getString()); -+ lines[i] = SharedConstants.a(astring[i]); //Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created. + for (int i = 0; i < list.size(); ++i) { +- lines[i] = EnumChatFormat.a(new ChatComponentText(EnumChatFormat.a((String) list.get(i))).getString()); ++ // Paper TODO(Proximyst): Add obfhelper when 1.16.4 runs ++ lines[i] = SharedConstants.a(list.get(i)); // Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created. } SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); this.server.getPluginManager().callEvent(event); diff --git a/Spigot-Server-Patches/0210-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0210-EndermanEscapeEvent.patch index 013fa77fa..52a508564 100644 --- a/Spigot-Server-Patches/0210-EndermanEscapeEvent.patch +++ b/Spigot-Server-Patches/0210-EndermanEscapeEvent.patch @@ -8,7 +8,7 @@ Fires an event anytime an enderman intends to teleport away from the player You may cancel this, enabling ranged attacks to damage the enderman for example. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index eea2534be648bec49749bd8f55e36658dccdba57..f20283585464d54c4c5da294cf19261c2d258c97 100644 +index 4e7553a70e3caafdc661215f6c3e2cbf49c6db91..b9ede7d533a813f4de27404dc14b0ef99c8fcd62 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -34,7 +34,7 @@ index eea2534be648bec49749bd8f55e36658dccdba57..f20283585464d54c4c5da294cf19261c if (!super.setGoalTarget(entityliving, reason, fireEvent)) { @@ -208,7 +215,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable { if (this.world.isDay() && this.ticksLived >= this.bs + 600) { - float f = this.aQ(); + float f = this.aR(); - if (f > 0.5F && this.world.e(this.getChunkCoordinates()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F) { + if (f > 0.5F && this.world.e(this.getChunkCoordinates()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper diff --git a/Spigot-Server-Patches/0213-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0213-Expand-World.spawnParticle-API-and-add-Builder.patch index 2a66f8c4c..56c8d0cae 100644 --- a/Spigot-Server-Patches/0213-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0213-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,10 +10,10 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0b36f37a0f8accdcede06564f56f4ffa10dd9b74..530d55b569cbdf19df4ad39368dd20dc47bc7c97 100644 +index 9040385c68db1dc004b5ce6cc62300e7da85073e..fde791f4b1d80d3dab7d5a91d644295a80297f34 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -57,7 +57,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -61,7 +61,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { public final Int2ObjectMap entitiesById = new Int2ObjectLinkedOpenHashMap(); private final Map entitiesByUUID = Maps.newHashMap(); private final Queue entitiesToAdd = Queues.newArrayDeque(); @@ -22,7 +22,7 @@ index 0b36f37a0f8accdcede06564f56f4ffa10dd9b74..530d55b569cbdf19df4ad39368dd20dc public final ChunkProviderServer chunkProvider; // Paper - public boolean tickingEntities; private final MinecraftServer server; -@@ -1351,12 +1351,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1355,12 +1355,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { } 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/0230-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0230-LivingEntity-Hand-Raised-Item-Use-API.patch index 8a0038c96..970d514ac 100644 --- a/Spigot-Server-Patches/0230-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0230-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 4c6c0b3b77b3cea9abf4a9e6dec4872201db7b7b..db84ddd62b627764ff5debc56095d37e81c94605 100644 +index a962f695f3f3508f8ce32f72a56990eb0e601589..51d1d9abcb66bef329fa2396e9e338b9d962733b 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -119,7 +119,7 @@ public abstract class EntityLiving extends Entity { @@ -22,14 +22,14 @@ index 4c6c0b3b77b3cea9abf4a9e6dec4872201db7b7b..db84ddd62b627764ff5debc56095d37e return this.activeItem; } -+ public int getItemUseRemainingTime() { return this.dY(); } // Paper - OBFHELPER - public int dY() { ++ public int getItemUseRemainingTime() { return this.dZ(); } // Paper - OBFHELPER + public int dZ() { return this.bd; } -+ public int getHandRaisedTime() { return this.dZ(); } // Paper - OBFHELPER - public int dZ() { - return this.isHandRaised() ? this.activeItem.k() - this.dY() : 0; ++ public int getHandRaisedTime() { return this.ea(); } // Paper - OBFHELPER + public int ea() { + return this.isHandRaised() ? this.activeItem.k() - this.dZ() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 2e146ec4ba0c6db67c558a48ce5ec60bc2ca337f..a91070c3674dc47e0019e642f0f76a3cf76b7387 100644 diff --git a/Spigot-Server-Patches/0234-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0234-InventoryCloseEvent-Reason-API.patch index 4656e6eff..aeb9edf89 100644 --- a/Spigot-Server-Patches/0234-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0234-InventoryCloseEvent-Reason-API.patch @@ -7,11 +7,11 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 0f7e162b342ac589dc357508a1dcd1ab02d1fe3e..cc20b73a993d021789840ed2ee7ba1fc8310dc5a 100644 +index cbffebfe323ff4ddec792c49ebc3391fc9ac35ac..73a33eff97d26e5b3542d787344013e18e52db68 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -155,7 +155,7 @@ public abstract class EntityHuman extends EntityLiving { - this.es(); + this.et(); super.tick(); if (!this.world.isClientSide && this.activeContainer != null && !this.activeContainer.canUse(this)) { - this.closeInventory(); @@ -34,10 +34,10 @@ index 0f7e162b342ac589dc357508a1dcd1ab02d1fe3e..cc20b73a993d021789840ed2ee7ba1fc this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index e2ee907758f5cb5ff2cdb930ad705d38bf5638c8..daeb5a6e005a4b85b5f3ac581c0e7cb6ea64b2c8 100644 +index 36ac4fde147fb5c4d26f1bdbcf027fb0bf3edca7..dd3ae707776626d54894d19d5b0968256104c4dd 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -412,7 +412,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -415,7 +415,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // Paper end if (!this.world.isClientSide && !this.activeContainer.canUse(this)) { @@ -46,7 +46,7 @@ index e2ee907758f5cb5ff2cdb930ad705d38bf5638c8..daeb5a6e005a4b85b5f3ac581c0e7cb6 this.activeContainer = this.defaultContainer; } -@@ -586,7 +586,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -589,7 +589,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { @@ -55,7 +55,7 @@ index e2ee907758f5cb5ff2cdb930ad705d38bf5638c8..daeb5a6e005a4b85b5f3ac581c0e7cb6 } String deathMessage = event.getDeathMessage(); -@@ -1139,7 +1139,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1142,7 +1142,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return OptionalInt.empty(); } else { if (this.activeContainer != this.defaultContainer) { @@ -64,7 +64,7 @@ index e2ee907758f5cb5ff2cdb930ad705d38bf5638c8..daeb5a6e005a4b85b5f3ac581c0e7cb6 } this.nextContainerCounter(); -@@ -1199,7 +1199,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1202,7 +1202,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end if (this.activeContainer != this.defaultContainer) { @@ -73,7 +73,7 @@ index e2ee907758f5cb5ff2cdb930ad705d38bf5638c8..daeb5a6e005a4b85b5f3ac581c0e7cb6 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1263,7 +1263,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1266,7 +1266,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void closeInventory() { @@ -88,10 +88,10 @@ index e2ee907758f5cb5ff2cdb930ad705d38bf5638c8..daeb5a6e005a4b85b5f3ac581c0e7cb6 this.o(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c79db4e81883ce8635e91304b288f32e7bc2c763..19524eb45c313be977e8fd68fd3dd5e470067542 100644 +index e72a519645e9383c989fc3ad8059c1c88c1b6382..bad3923c0ec5b99d4e102d61ad88321aa854350e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -37,6 +37,7 @@ import org.bukkit.event.inventory.ClickType; +@@ -43,6 +43,7 @@ import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.CraftItemEvent; import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; @@ -99,7 +99,7 @@ index c79db4e81883ce8635e91304b288f32e7bc2c763..19524eb45c313be977e8fd68fd3dd5e4 import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.player.AsyncPlayerChatEvent; -@@ -2072,10 +2073,15 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2161,10 +2162,15 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInCloseWindow packetplayinclosewindow) { @@ -130,10 +130,10 @@ index 3fa1ea2958bec57d40b702bdbdc511d67b165d7e..129f4095cb98e1e4295b9a12105d06e2 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 530d55b569cbdf19df4ad39368dd20dc47bc7c97..3d7950ea51a533477d3569d9768ca20a1b6d0822 100644 +index fde791f4b1d80d3dab7d5a91d644295a80297f34..79d0f4eff913560d718132b50f63a79ff365938d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1008,7 +1008,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1012,7 +1012,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { for (TileEntity tileentity : chunk.getTileEntities().values()) { if (tileentity instanceof IInventory) { for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((IInventory) tileentity).getViewers())) { @@ -142,7 +142,7 @@ index 530d55b569cbdf19df4ad39368dd20dc47bc7c97..3d7950ea51a533477d3569d9768ca20a } } } -@@ -1066,7 +1066,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1070,7 +1070,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { // 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())) { @@ -193,7 +193,7 @@ index df1896d447295123dbf7f8c8dea163be7849132f..18f0d23e38abb9c3e326a727cc4b4e04 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a0f7f69a79a11bc9be879a299e5130e96dc9b5b7..486613df75ea8a41a8a9424d8da4a20c5e39b941 100644 +index f4242870654ea6faa6829348717cd2f3c3407679..52762d75edd35dd3bc9668e3f7a3c79be279b783 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1173,7 +1173,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0236-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0236-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 45f3b0c76..d95421067 100644 --- a/Spigot-Server-Patches/0236-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0236-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 19524eb45c313be977e8fd68fd3dd5e470067542..7be8745df9a7481e48e873b5595b8848b3e5c494 100644 +index bad3923c0ec5b99d4e102d61ad88321aa854350e..e025360ffdb54f91b2215076f24f9abb08d6718f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1985,6 +1985,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2074,6 +2074,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } if (event.isCancelled()) { diff --git a/Spigot-Server-Patches/0238-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0238-Re-add-vanilla-entity-warnings-for-duplicates.patch index 93df98951..51383d443 100644 --- a/Spigot-Server-Patches/0238-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0238-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -8,10 +8,10 @@ These are a critical sign that somethin went wrong, and you've lost some data... We should kind of know about these things you know. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 3d7950ea51a533477d3569d9768ca20a1b6d0822..81cdfe2351e62461171e5658290d80bb9b735d7a 100644 +index 79d0f4eff913560d718132b50f63a79ff365938d..caaebdba5ede1d41c97ea57ea1e9de9d0a977c95 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -961,7 +961,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -965,7 +965,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (entity1 == null) { return false; } else { diff --git a/Spigot-Server-Patches/0241-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0241-add-more-information-to-Entity.toString.patch index b7fe602f2..9bd8f2133 100644 --- a/Spigot-Server-Patches/0241-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0241-add-more-information-to-Entity.toString.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5d3f402f06c5ed0816e9cce45904148c5fda0e0d..dd9588cfdb9ea6f50c08af829a533319680c7e59 100644 +index ef3fb476615fe6a3aafdf5aebcf5680bfaa62e49..07941c987a0c644e896f49ce217c1c625dc25014 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2436,7 +2436,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2437,7 +2437,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { diff --git a/Spigot-Server-Patches/0242-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0242-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 2ef9fb9a9..b8a8a4ac9 100644 --- a/Spigot-Server-Patches/0242-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0242-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 dd9588cfdb9ea6f50c08af829a533319680c7e59..d0e077084b84e44336878410aa9a44fed7408670 100644 +index 07941c987a0c644e896f49ce217c1c625dc25014..c863fd94ee77b81aec84223588e20eed974515d6 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 @@ -40,7 +40,7 @@ index 8862bbd73b627e37709d46e6aeeee70c89cbd821..4bbcd00950405a4bf3ce391b557049a3 protected void g() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index dc00ad1607dc6b05f8cb13470046d72f17aa115b..6ebf3884a289d0be081d43d012ac10796740cc1e 100644 +index cc17d9862ed6169c332896d81dc18209234cfa00..6003201197a89fa6c46c35d711a53db690295b1e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -68,6 +68,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -52,10 +52,10 @@ index dc00ad1607dc6b05f8cb13470046d72f17aa115b..6ebf3884a289d0be081d43d012ac1079 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 81cdfe2351e62461171e5658290d80bb9b735d7a..04e57c81d0e58a801ad8e842c48fc6a143de70f2 100644 +index caaebdba5ede1d41c97ea57ea1e9de9d0a977c95..3655b3d48da865931507e8588830567ffef1cdac 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -84,6 +84,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -88,6 +88,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { public final Convertable.ConversionSession convertable; public final UUID uuid; boolean hasPhysicsEvent = true; // Paper @@ -65,7 +65,7 @@ index 81cdfe2351e62461171e5658290d80bb9b735d7a..04e57c81d0e58a801ad8e842c48fc6a1 @Override public Chunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI return this.chunkProvider.getChunkAt(x, z, false); -@@ -922,8 +925,28 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -926,8 +929,28 @@ public class WorldServer extends World implements GeneratorAccessSeed { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -95,7 +95,7 @@ index 81cdfe2351e62461171e5658290d80bb9b735d7a..04e57c81d0e58a801ad8e842c48fc6a1 // 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)) { -@@ -1120,7 +1143,24 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1124,7 +1147,24 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } diff --git a/Spigot-Server-Patches/0252-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0252-Prevent-Saving-Bad-entities-to-chunks.patch index f34041882..74872c96f 100644 --- a/Spigot-Server-Patches/0252-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0252-Prevent-Saving-Bad-entities-to-chunks.patch @@ -18,7 +18,7 @@ an invalid entity. This should reduce log occurrences of dupe uuid messages. diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 52621ab74c8af1ab0c38e8df28cb7dc7153096a3..8affcbbb0a970acc83531f7308734552727b00c5 100644 +index d30c4d5a4ee83e21ba9269c0b92af2b72b85d3cc..3a292bccb2295bf7ae46fc3d7e5c9c63a72f403d 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -307,6 +307,7 @@ public class ChunkRegionLoader { @@ -80,10 +80,10 @@ index 52621ab74c8af1ab0c38e8df28cb7dc7153096a3..8affcbbb0a970acc83531f7308734552 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 04e57c81d0e58a801ad8e842c48fc6a143de70f2..186a7b1435132f0795b74ee843f8a4c830aa9f43 100644 +index 3655b3d48da865931507e8588830567ffef1cdac..254f2567f36ced5c4309ea2df7952772bb279390 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1040,6 +1040,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1044,6 +1044,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { List[] aentityslice = chunk.getEntitySlices(); // Spigot int i = aentityslice.length; @@ -91,7 +91,7 @@ index 04e57c81d0e58a801ad8e842c48fc6a143de70f2..186a7b1435132f0795b74ee843f8a4c8 for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot Iterator iterator = entityslice.iterator(); -@@ -1052,11 +1053,25 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1056,11 +1057,25 @@ public class WorldServer extends World implements GeneratorAccessSeed { throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!"))); } diff --git a/Spigot-Server-Patches/0254-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0254-Ignore-Dead-Entities-in-entityList-iteration.patch index 2d3089f0c..486296c7d 100644 --- a/Spigot-Server-Patches/0254-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0254-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -51,7 +51,7 @@ index 18d55cea6258c7b59b79aec1bcdf358944d5b527..6154f7a7973168cbe294bc0f40894f05 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 ef375f3987c26d70ba3f88e53f458bdccb6fc1ae..e4afda074cdbbc4b1d81844fb60602392de8941c 100644 +index 29b24fd75f06501a814868d1fab85c9b818bd316..b2cccdc9f2f243cd3fb1283ade0280b2acb0f772 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,10 +63,10 @@ index ef375f3987c26d70ba3f88e53f458bdccb6fc1ae..e4afda074cdbbc4b1d81844fb6060239 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 186a7b1435132f0795b74ee843f8a4c830aa9f43..7ec836666f3468ce90db0da448f5b7afaad24c32 100644 +index 254f2567f36ced5c4309ea2df7952772bb279390..38fd15bd2f3503eae0be0aa2c939b8c737368c24 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1192,6 +1192,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1196,6 +1196,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -74,7 +74,7 @@ index 186a7b1435132f0795b74ee843f8a4c830aa9f43..7ec836666f3468ce90db0da448f5b7af new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid } -@@ -1204,6 +1205,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1208,6 +1209,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.removeEntityFromChunk(entity); this.entitiesById.remove(entity.getId()); this.unregisterEntity(entity); diff --git a/Spigot-Server-Patches/0258-Break-up-and-make-tab-spam-limits-configurable.patch b/Spigot-Server-Patches/0258-Break-up-and-make-tab-spam-limits-configurable.patch index 4a23cb2c6..3f849f0ec 100644 --- a/Spigot-Server-Patches/0258-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/Spigot-Server-Patches/0258-Break-up-and-make-tab-spam-limits-configurable.patch @@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on plugins doing unsafe things. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index c8a7d8092a2849b62a8d83d7970756fd76100025..2e5c71d6b7d120a308076d95a3d5b73c5aca8bc9 100644 +index f3e906902a3a90fd023050ebfae7ebc6d50311eb..e8d6cc7c116faaf168efdb0af0b2365bb7fb6eac 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -288,4 +288,18 @@ public class PaperConfig { @@ -45,10 +45,10 @@ index c8a7d8092a2849b62a8d83d7970756fd76100025..2e5c71d6b7d120a308076d95a3d5b73c + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7be8745df9a7481e48e873b5595b8848b3e5c494..d7a62e63ea1cdc7436ee1b5d57c72bc7dec04182 100644 +index e025360ffdb54f91b2215076f24f9abb08d6718f..6e3d66ab776146e2204539319412ea8bde17d58a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -77,6 +77,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -83,6 +83,7 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit start - multithreaded fields private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); @@ -56,7 +56,7 @@ index 7be8745df9a7481e48e873b5595b8848b3e5c494..d7a62e63ea1cdc7436ee1b5d57c72bc7 // CraftBukkit end private int j; private final Int2ShortMap k = new Int2ShortOpenHashMap(); -@@ -207,6 +208,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -218,6 +219,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.minecraftServer.getMethodProfiler().exit(); // CraftBukkit start for (int spam; (spam = this.chatThrottle) > 0 && !chatSpamField.compareAndSet(this, spam, spam - 1); ) ; @@ -64,7 +64,7 @@ index 7be8745df9a7481e48e873b5595b8848b3e5c494..d7a62e63ea1cdc7436ee1b5d57c72bc7 /* Use thread-safe field access instead if (this.chatThrottle > 0) { --this.chatThrottle; -@@ -524,7 +526,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -567,7 +569,7 @@ public class PlayerConnection implements PacketListenerPlayIn { public void a(PacketPlayInTabComplete packetplayintabcomplete) { // PlayerConnectionUtils.ensureMainThread(packetplayintabcomplete, this, this.player.getWorldServer()); // Paper - run this async // CraftBukkit start diff --git a/Spigot-Server-Patches/0259-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0259-Add-hand-to-bucket-events.patch index f8f7f5765..3c8c9eb80 100644 --- a/Spigot-Server-Patches/0259-Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/0259-Add-hand-to-bucket-events.patch @@ -73,7 +73,7 @@ index 48958308a89cbe39e1b4dddcdd8d1d0b5ece6339..120bf8436fd82294c339add2e7bff1cd int i = blockposition.getX(); int j = blockposition.getY(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4b28cb07e24a2deb18e2c7e97f25fee1d32e0d25..42307f0ed23c413f86edf3ac2783f258560ac969 100644 +index 514be9c4356380627032c54b4b1eda37aaefe16d..caeca1b5b6aafa5770924c3f9e0cc264f23156ef 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -218,6 +218,17 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -95,10 +95,10 @@ index 4b28cb07e24a2deb18e2c7e97f25fee1d32e0d25..42307f0ed23c413f86edf3ac2783f258 public boolean s_() { return this.isClientSide; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7ec836666f3468ce90db0da448f5b7afaad24c32..d6c86ce6a6a23ac8e889b0a9e7b8b7b8513ba5d1 100644 +index 38fd15bd2f3503eae0be0aa2c939b8c737368c24..458ee180fa1c8c105d596125398b2c34d8265d0a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1530,15 +1530,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1534,15 +1534,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.getMinecraftServer().getPlayerList().sendAll(new PacketPlayOutSpawnPosition(blockposition, f)); } @@ -126,7 +126,7 @@ index 7ec836666f3468ce90db0da448f5b7afaad24c32..d6c86ce6a6a23ac8e889b0a9e7b8b7b8 public float v() { return this.worldData.d(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 462cc4539c98787bb0c7e5925d8b6b06874120ca..95f01296b1a7763f33ec17ab4e11d85549ca95c0 100644 +index 6458cd6823ea066588742f8105048001395e4dde..1c806c97bf77cb3a71086d51110605b147bdbfbf 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -234,7 +234,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0265-Use-a-Queue-for-Queueing-Commands.patch b/Spigot-Server-Patches/0265-Use-a-Queue-for-Queueing-Commands.patch index 69d2966bc..ddf703357 100644 --- a/Spigot-Server-Patches/0265-Use-a-Queue-for-Queueing-Commands.patch +++ b/Spigot-Server-Patches/0265-Use-a-Queue-for-Queueing-Commands.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Queue for Queueing Commands Lists are bad as Queues mmmkay. diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 3bdde27a52c88b5f0621bdaf30ccd1ac00160b64..54ef6eeb8866915f03fb16413c8b5f36a7501f82 100644 +index 750b1dc10ffb7adb9194e6cc8ace8fa92a5f0dec..bec26885108442c8e22cdddf5e764ecab6994dca 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -36,7 +36,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -18,7 +18,7 @@ index 3bdde27a52c88b5f0621bdaf30ccd1ac00160b64..54ef6eeb8866915f03fb16413c8b5f36 private RemoteStatusListener remoteStatusListener; public final RemoteControlCommandListener remoteControlCommandListener; private RemoteControlListener remoteControlListener; -@@ -389,8 +389,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -395,8 +395,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer public void handleCommandQueue() { MinecraftTimings.serverCommandTimer.startTiming(); // Spigot diff --git a/Spigot-Server-Patches/0270-Slime-Pathfinder-Events.patch b/Spigot-Server-Patches/0270-Slime-Pathfinder-Events.patch index 740c5b7df..2c436f0eb 100644 --- a/Spigot-Server-Patches/0270-Slime-Pathfinder-Events.patch +++ b/Spigot-Server-Patches/0270-Slime-Pathfinder-Events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Slime Pathfinder Events diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index cb7cf185cc93813de97fbab830856573af8b6e73..f74c827850ebb894af94aecadcaa0e3ff8c6254c 100644 +index 563340d410f76ec1df90403879b835ebd9e6b533..e99fd88118a75f36cb93d02aa7c6029bcffd5f10 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -5,6 +5,14 @@ import java.util.Objects; @@ -56,8 +56,8 @@ index cb7cf185cc93813de97fbab830856573af8b6e73..f74c827850ebb894af94aecadcaa0e3f @Override public boolean a() { -- return (this.a.isInWater() || this.a.aP()) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime; -+ return (this.a.isInWater() || this.a.aP()) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime && this.a.canWander && new SlimeSwimEvent((Slime) this.a.getBukkitEntity()).callEvent(); // Paper +- return (this.a.isInWater() || this.a.aQ()) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime; ++ return (this.a.isInWater() || this.a.aQ()) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime && this.a.canWander && new SlimeSwimEvent((Slime) this.a.getBukkitEntity()).callEvent(); // Paper } @Override @@ -65,8 +65,8 @@ index cb7cf185cc93813de97fbab830856573af8b6e73..f74c827850ebb894af94aecadcaa0e3f @Override public boolean a() { -- return this.a.getGoalTarget() == null && (this.a.onGround || this.a.isInWater() || this.a.aP() || this.a.hasEffect(MobEffects.LEVITATION)) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime; -+ return this.a.getGoalTarget() == null && (this.a.onGround || this.a.isInWater() || this.a.aP() || this.a.hasEffect(MobEffects.LEVITATION)) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime && this.a.canWander; // Paper - add canWander +- return this.a.getGoalTarget() == null && (this.a.onGround || this.a.isInWater() || this.a.aQ() || this.a.hasEffect(MobEffects.LEVITATION)) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime; ++ return this.a.getGoalTarget() == null && (this.a.onGround || this.a.isInWater() || this.a.aQ() || this.a.hasEffect(MobEffects.LEVITATION)) && this.a.getControllerMove() instanceof EntitySlime.ControllerMoveSlime && this.a.canWander; // Paper - add canWander } @Override diff --git a/Spigot-Server-Patches/0279-Expose-attack-cooldown-methods-for-Player.patch b/Spigot-Server-Patches/0279-Expose-attack-cooldown-methods-for-Player.patch index 1ade6d313..a4517e80e 100644 --- a/Spigot-Server-Patches/0279-Expose-attack-cooldown-methods-for-Player.patch +++ b/Spigot-Server-Patches/0279-Expose-attack-cooldown-methods-for-Player.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index cc20b73a993d021789840ed2ee7ba1fc8310dc5a..a6265c71973b67a0b49a41e2163a6f48876f1b41 100644 +index 73a33eff97d26e5b3542d787344013e18e52db68..6a46b9262ba34febc2664a6f56c186843ed7fb3f 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -2005,6 +2005,7 @@ public abstract class EntityHuman extends EntityLiving { this.datawatcher.set(EntityHuman.bl, nbttagcompound); } -+ public float getCooldownPeriod() { return this.eQ(); } // Paper - OBFHELPER - public float eQ() { ++ public float getCooldownPeriod() { return this.eR(); } // Paper - OBFHELPER + public float eR() { return (float) (1.0D / this.b(GenericAttributes.ATTACK_SPEED) * 20.0D); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/Spigot-Server-Patches/0280-Improve-death-events.patch b/Spigot-Server-Patches/0280-Improve-death-events.patch index 760ade195..050bf69f6 100644 --- a/Spigot-Server-Patches/0280-Improve-death-events.patch +++ b/Spigot-Server-Patches/0280-Improve-death-events.patch @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java -index 6281f7900afab3ef1c9ba3c034b91cbfa1900f50..7f3401d5d7878e4a0f407e92bf110dbe7c7868a6 100644 +index 0790d45e3c8ac68c280b9378d93061b48b045639..a8054a599e3eb502e7bbce903b5683987f95fb66 100644 --- a/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java @@ -192,6 +192,7 @@ public class CombatTracker { @@ -27,10 +27,10 @@ index 6281f7900afab3ef1c9ba3c034b91cbfa1900f50..7f3401d5d7878e4a0f407e92bf110dbe int i = this.f ? 300 : 100; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e4afda074cdbbc4b1d81844fb60602392de8941c..18a79f9c61c0263526cd632f032d17bdc6cb2139 100644 +index b2cccdc9f2f243cd3fb1283ade0280b2acb0f772..4923fe299e7f057d5d70d346e83e746185eafdd3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1451,6 +1451,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1452,6 +1452,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end @@ -38,7 +38,7 @@ index e4afda074cdbbc4b1d81844fb60602392de8941c..18a79f9c61c0263526cd632f032d17bd public void a(Entity entity, int i, DamageSource damagesource) { if (entity instanceof EntityPlayer) { CriterionTriggers.c.a((EntityPlayer) entity, this, damagesource); -@@ -2350,6 +2351,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2351,6 +2352,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.fallDistance = 0.0F; } @@ -47,7 +47,7 @@ index e4afda074cdbbc4b1d81844fb60602392de8941c..18a79f9c61c0263526cd632f032d17bd protected void l(double d0, double d1, double d2) { diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index fc86ae2519c8ff54ff7c5e45d7c45fcc16eefca0..41d5dd7f08775a68984da24c92ee244c1b69426b 100644 +index 4e6f195965af2108631f373a3a2987826e4317de..01c0ec114cf913e54058a2f5298807dbb83d1cf4 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -704,7 +704,8 @@ public class EntityArmorStand extends EntityLiving { @@ -61,7 +61,7 @@ index fc86ae2519c8ff54ff7c5e45d7c45fcc16eefca0..41d5dd7f08775a68984da24c92ee244c } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 83fa99b1cf784eb7f30b14f9f0743cbab7136563..0ac0364ffeb81ac3f379848f6e1afae641658c73 100644 +index a7bbf21e9736a0da38f95d93b013097b1e745306..56c119e8d11c5ffb1f90ac4249bce434b3e78884 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -577,15 +577,25 @@ public class EntityFox extends EntityAnimal { @@ -94,7 +94,7 @@ index 83fa99b1cf784eb7f30b14f9f0743cbab7136563..0ac0364ffeb81ac3f379848f6e1afae6 public static boolean a(EntityFox entityfox, EntityLiving entityliving) { diff --git a/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java b/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java -index 29d1b9bb4e481b6d6fb7185d9adf17f5ec07d4a1..c14d722e9b1ed61d2878ca752797871b6de39ac9 100644 +index 09d076db37507b17797635df232a568752c97584..3bcebb89c9f9a5243d1d215a47d7d5e64d2529b2 100644 --- a/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseChestedAbstract.java @@ -50,11 +50,19 @@ public abstract class EntityHorseChestedAbstract extends EntityHorseAbstract { @@ -119,7 +119,7 @@ index 29d1b9bb4e481b6d6fb7185d9adf17f5ec07d4a1..c14d722e9b1ed61d2878ca752797871b public void saveData(NBTTagCompound nbttagcompound) { super.saveData(nbttagcompound); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f193c2778d0f04973546256d648692398b932dca..c54641d984bdd04067f9dba66322b01b840904ed 100644 +index 99dac0a315c29dd394ea3e8049da89c62ace65cc..81e41ec85160eeef833824821d797db9b3d38b40 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -96,7 +96,7 @@ public abstract class EntityLiving extends Entity { @@ -141,17 +141,17 @@ index f193c2778d0f04973546256d648692398b932dca..c54641d984bdd04067f9dba66322b01b public float getBukkitYaw() { @@ -1249,13 +1250,17 @@ public abstract class EntityLiving extends Entity { if (knockbackCancelled) this.world.broadcastEntityEffect(this, (byte) 2); // Paper - Disable explosion knockback - if (this.dk()) { + if (this.dl()) { if (!this.f(damagesource)) { - SoundEffect soundeffect = this.getSoundDeath(); + // Paper start - moved into CraftEventFactory event caller for cancellable death event + //SoundEffect soundeffect = this.getSoundDeath(); - if (flag1 && soundeffect != null) { -- this.playSound(soundeffect, this.getSoundVolume(), this.dG()); +- this.playSound(soundeffect, this.getSoundVolume(), this.dH()); - } +// if (flag1 && soundeffect != null) { -+// this.playSound(soundeffect, this.getSoundVolume(), this.dG()); ++// this.playSound(soundeffect, this.getSoundVolume(), this.dH()); +// } + this.silentDeath = !flag1; // mark entity as dying silently + // Paper end @@ -269,15 +269,15 @@ index f193c2778d0f04973546256d648692398b932dca..c54641d984bdd04067f9dba66322b01b return 1.0F; } -+ public float getSoundPitch() { return dG();} // Paper - OBFHELPER - protected float dG() { ++ public float getSoundPitch() { return dH();} // Paper - OBFHELPER + protected float dH() { return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index daeb5a6e005a4b85b5f3ac581c0e7cb6ea64b2c8..db7435c6923235fad63bdf531eca4a95c1b63dc9 100644 +index dd3ae707776626d54894d19d5b0968256104c4dd..08e2e911d726e9d306f5fcc7755ab89f94959aa3 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -82,6 +82,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -84,6 +84,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public int ping; public boolean viewingCredits; private int containerUpdateDelay; // Paper @@ -288,7 +288,7 @@ index daeb5a6e005a4b85b5f3ac581c0e7cb6ea64b2c8..db7435c6923235fad63bdf531eca4a95 // CraftBukkit start public String displayName; -@@ -583,6 +587,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -586,6 +590,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { String deathmessage = defaultMessage.getString(); org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory); @@ -304,7 +304,7 @@ index daeb5a6e005a4b85b5f3ac581c0e7cb6ea64b2c8..db7435c6923235fad63bdf531eca4a95 // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { -@@ -734,8 +747,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -737,8 +750,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } } @@ -373,7 +373,7 @@ index 982b8a7028385d38ff0bd88aabd94801ae258037..6c3b9df31e9c44f7171cf08014561e4b public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 78f3af7de270750734f6d8d1522e0d755408e17e..4d82634cc4f1f4ef16cb027c7edfc8b7638311b5 100644 +index 1c806c97bf77cb3a71086d51110605b147bdbfbf..2222d3fdb9920f5662d42c0303bd05a4a07483c7 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -791,9 +791,16 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0292-Configurable-connection-throttle-kick-message.patch b/Spigot-Server-Patches/0292-Configurable-connection-throttle-kick-message.patch index 2d6c8b8a8..844eecbb4 100644 --- a/Spigot-Server-Patches/0292-Configurable-connection-throttle-kick-message.patch +++ b/Spigot-Server-Patches/0292-Configurable-connection-throttle-kick-message.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable connection throttle kick message diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 1b21911c3e4fd1d4a3305176bb8477c370256906..d5c97bb6503c9bfafd819dd62397b9decd515df5 100644 +index aaaaead8c740a22906612ca43147bd00eb4639f7..9e10e2e965dd52755ee5ede71104cc89b11da45e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -273,6 +273,11 @@ public class PaperConfig { @@ -21,15 +21,15 @@ index 1b21911c3e4fd1d4a3305176bb8477c370256906..d5c97bb6503c9bfafd819dd62397b9de private static void savePlayerData() { savePlayerData = getBoolean("settings.save-player-data", savePlayerData); diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 07d5036ce3b04c78f332deed65b9177b70b4361a..ad9324a6052d9fedd40fb8b0899c6ded6e60b315 100644 +index abace78271eedd453df692f4e24dacef474d215e..5e1747dc176ef855829a38605ec85c8494fb0d21 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java -@@ -37,7 +37,7 @@ public class HandshakeListener implements PacketHandshakingInListener { +@@ -35,7 +35,7 @@ public class HandshakeListener implements PacketHandshakingInListener { synchronized (throttleTracker) { if (throttleTracker.containsKey(address) && !"127.0.0.1".equals(address.getHostAddress()) && currentTime - throttleTracker.get(address) < connectionThrottle) { throttleTracker.put(address, currentTime); -- chatmessage = new ChatMessage("Connection throttled! Please wait before reconnecting."); -+ chatmessage = new ChatMessage(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage); // Paper - Configurable connection throttle kick message +- ChatMessage chatmessage = new ChatMessage("Connection throttled! Please wait before reconnecting."); ++ ChatMessage chatmessage = new ChatMessage(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage); // Paper - Configurable connection throttle kick message this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage)); this.c.close(chatmessage); return; diff --git a/Spigot-Server-Patches/0293-Hook-into-CB-plugin-rewrites.patch b/Spigot-Server-Patches/0293-Hook-into-CB-plugin-rewrites.patch index 5ee73e0ed..c0c78646e 100644 --- a/Spigot-Server-Patches/0293-Hook-into-CB-plugin-rewrites.patch +++ b/Spigot-Server-Patches/0293-Hook-into-CB-plugin-rewrites.patch @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index ac48431777b70c200f9e4113c8a0c03957126e90..fbaf078b154a0f376b4a5a076a50a5c306504663 100644 +index ac48431777b70c200f9e4113c8a0c03957126e90..1d78086cb94d24372f9fbe21463e21277e25eab7 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -6,7 +6,9 @@ import java.io.FileOutputStream; @@ -52,7 +52,7 @@ index ac48431777b70c200f9e4113c8a0c03957126e90..fbaf078b154a0f376b4a5a076a50a5c3 + if ( Boolean.getBoolean( "debug.rewriteForIde" ) ) + { + // unversion incoming calls for pre-relocate debug work -+ final String NMS_REVISION_PACKAGE = "v1_16_R2/"; ++ final String NMS_REVISION_PACKAGE = "v1_16_R3/"; + + getAndRemove.put( "net/minecraft/".concat( "server/" + NMS_REVISION_PACKAGE ), NMS_REVISION_PACKAGE ); + getAndRemove.put( "org/bukkit/".concat( "craftbukkit/" + NMS_REVISION_PACKAGE ), NMS_REVISION_PACKAGE ); diff --git a/Spigot-Server-Patches/0295-Add-sun-related-API.patch b/Spigot-Server-Patches/0295-Add-sun-related-API.patch index a2979c1d6..298483434 100644 --- a/Spigot-Server-Patches/0295-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0295-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 90c38aed8f546987e45b9fd3ae9aa11b2e1f2084..033a6c50dff9e5e5706f9e7ab8b95ea7bc37d5dd 100644 +index 38bf49da2cc6b2f7068462ea8b57cf3a76ae1779..d91503b3e46c6ded3d77da4feeb8350df5bf924c 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 { @@ -15,7 +15,7 @@ index 90c38aed8f546987e45b9fd3ae9aa11b2e1f2084..033a6c50dff9e5e5706f9e7ab8b95ea7 + public boolean isInDaylight() { return this.eG(); } // Paper - OBFHELPER protected boolean eG() { if (this.world.isDay() && !this.world.isClientSide) { - float f = this.aQ(); + 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 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/Spigot-Server-Patches/0298-Call-player-spectator-target-events-and-improve-impl.patch b/Spigot-Server-Patches/0298-Call-player-spectator-target-events-and-improve-impl.patch index db0e78a06..7c158edc2 100644 --- a/Spigot-Server-Patches/0298-Call-player-spectator-target-events-and-improve-impl.patch +++ b/Spigot-Server-Patches/0298-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 246de149254a6303b36ba1e2441499497c09bc5b..868dcb4b43a7d82f9df58742da6d5cd7ca5fdcc7 100644 +index 08e2e911d726e9d306f5fcc7755ab89f94959aa3..0eb5d6a58a9794ed366d03b76f01abb673a6827c 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1660,15 +1660,59 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1663,15 +1663,59 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return (Entity) (this.spectatedEntity == null ? this : this.spectatedEntity); } @@ -88,10 +88,10 @@ index 246de149254a6303b36ba1e2441499497c09bc5b..868dcb4b43a7d82f9df58742da6d5cd7 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d7a62e63ea1cdc7436ee1b5d57c72bc7dec04182..441cdb07db49c32c56134c0eb6f66e2992223308 100644 +index 6e3d66ab776146e2204539319412ea8bde17d58a..bb46e757b560d1bfec5c84d59971b51d9aa90bd8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1128,6 +1128,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1204,6 +1204,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } // CraftBukkit start - Delegate to teleport(Location) diff --git a/Spigot-Server-Patches/0299-Add-Velocity-IP-Forwarding-Support.patch b/Spigot-Server-Patches/0299-Add-Velocity-IP-Forwarding-Support.patch index 4726bcf5a..c353bbadd 100644 --- a/Spigot-Server-Patches/0299-Add-Velocity-IP-Forwarding-Support.patch +++ b/Spigot-Server-Patches/0299-Add-Velocity-IP-Forwarding-Support.patch @@ -14,7 +14,7 @@ forwarding, and is integrated into the Minecraft login process by using the 1.13 login plugin message packet. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index d5c97bb6503c9bfafd819dd62397b9decd515df5..478856f190a8d0177dee39dab4692fc54f9c8ed4 100644 +index 9e10e2e965dd52755ee5ede71104cc89b11da45e..7b905c16e3833741966cce301b0f7639addac05e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -8,6 +8,7 @@ import java.io.IOException; @@ -130,10 +130,10 @@ index 0000000000000000000000000000000000000000..fdd8708f974700c7cde6e436c2f189d9 + } +} diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index a3555dd251af5dd4b320428aadaffe7063ecd356..afbe6defdffd967a841ebe51d260c418dcd23590 100644 +index 87dcb1688d1bf1221609a410c33a8d61b0761a1f..2b46943e094544611390758664f3b2a3e2949323 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -25,6 +25,7 @@ import org.bukkit.craftbukkit.util.Waitable; +@@ -26,6 +26,7 @@ import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.player.AsyncPlayerPreLoginEvent; import org.bukkit.event.player.PlayerPreLoginEvent; // CraftBukkit end @@ -141,7 +141,7 @@ index a3555dd251af5dd4b320428aadaffe7063ecd356..afbe6defdffd967a841ebe51d260c418 public class LoginListener implements PacketLoginInListener { -@@ -41,6 +42,7 @@ public class LoginListener implements PacketLoginInListener { +@@ -42,6 +43,7 @@ public class LoginListener implements PacketLoginInListener { private SecretKey loginKey; private EntityPlayer l; public String hostname = ""; // CraftBukkit - add field @@ -149,9 +149,9 @@ index a3555dd251af5dd4b320428aadaffe7063ecd356..afbe6defdffd967a841ebe51d260c418 public LoginListener(MinecraftServer minecraftserver, NetworkManager networkmanager) { this.g = LoginListener.EnumProtocolState.HELLO; -@@ -192,6 +194,14 @@ public class LoginListener implements PacketLoginInListener { +@@ -193,6 +195,14 @@ public class LoginListener implements PacketLoginInListener { this.g = LoginListener.EnumProtocolState.KEY; - this.networkManager.sendPacket(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic(), this.e)); + this.networkManager.sendPacket(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic().getEncoded(), this.e)); } else { + // Paper start - Velocity support + if (com.destroystokyo.paper.PaperConfig.velocitySupport) { @@ -164,20 +164,20 @@ index a3555dd251af5dd4b320428aadaffe7063ecd356..afbe6defdffd967a841ebe51d260c418 // Spigot start // Paper start - Cache authenticator threads authenticatorPool.execute(new Runnable() { -@@ -284,6 +294,12 @@ public class LoginListener implements PacketLoginInListener { +@@ -294,6 +304,12 @@ public class LoginListener implements PacketLoginInListener { public class LoginHandler { public void fireEvents() throws Exception { -+ // Paper start - Velocity support -+ if (LoginListener.this.velocityLoginMessageId == -1 && com.destroystokyo.paper.PaperConfig.velocitySupport) { -+ disconnect("This server requires you to connect with Velocity."); -+ return; -+ } -+ // Paper end - String playerName = i.getName(); - java.net.InetAddress address = ((java.net.InetSocketAddress) networkManager.getSocketAddress()).getAddress(); - java.util.UUID uniqueId = i.getId(); -@@ -331,6 +347,35 @@ public class LoginListener implements PacketLoginInListener { ++ // Paper start - Velocity support ++ if (LoginListener.this.velocityLoginMessageId == -1 && com.destroystokyo.paper.PaperConfig.velocitySupport) { ++ disconnect("This server requires you to connect with Velocity."); ++ return; ++ } ++ // Paper end + String playerName = i.getName(); + java.net.InetAddress address = ((java.net.InetSocketAddress) networkManager.getSocketAddress()).getAddress(); + java.util.UUID uniqueId = i.getId(); +@@ -341,6 +357,35 @@ public class LoginListener implements PacketLoginInListener { // Spigot end public void a(PacketLoginInCustomPayload packetloginincustompayload) { diff --git a/Spigot-Server-Patches/0303-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0303-Add-option-to-prevent-players-from-moving-into-unloa.patch index 5808d1f35..3f81d02ae 100644 --- a/Spigot-Server-Patches/0303-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/Spigot-Server-Patches/0303-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -20,10 +20,10 @@ index 098c99793c68ac916b52776f9a1cc2c6510c0057..15e1f9f65280043853544d3bf796f991 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 441cdb07db49c32c56134c0eb6f66e2992223308..1ec968d871d00e6589c8572eabda9d0fb8f8f226 100644 +index bb46e757b560d1bfec5c84d59971b51d9aa90bd8..b4270cab83e676ea9cd6975286f96e350a493962 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -351,6 +351,13 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -394,6 +394,13 @@ public class PlayerConnection implements PacketListenerPlayIn { } speed *= 2f; // TODO: Get the speed of the vehicle instead of the player @@ -37,7 +37,7 @@ index 441cdb07db49c32c56134c0eb6f66e2992223308..1ec968d871d00e6589c8572eabda9d0f if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isExemptPlayer()) { // CraftBukkit end PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), d6, d7, d8); -@@ -914,9 +921,9 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -990,9 +997,9 @@ public class PlayerConnection implements PacketListenerPlayIn { double d1 = this.player.locY(); double d2 = this.player.locZ(); double d3 = this.player.locY(); @@ -49,7 +49,7 @@ index 441cdb07db49c32c56134c0eb6f66e2992223308..1ec968d871d00e6589c8572eabda9d0f float f = packetplayinflying.a(this.player.yaw); float f1 = packetplayinflying.b(this.player.pitch); double d7 = d4 - this.l; -@@ -955,6 +962,12 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1031,6 +1038,12 @@ public class PlayerConnection implements PacketListenerPlayIn { } else { speed = player.abilities.walkSpeed * 10f; } diff --git a/Spigot-Server-Patches/0304-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0304-Reset-players-airTicks-on-respawn.patch index 10c208b56..70838355b 100644 --- a/Spigot-Server-Patches/0304-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0304-Reset-players-airTicks-on-respawn.patch @@ -5,22 +5,22 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 18a79f9c61c0263526cd632f032d17bdc6cb2139..52016eefd310a19297d6b16b73596aec3792aed5 100644 +index 4923fe299e7f057d5d70d346e83e746185eafdd3..470f8f1440c62b30a9df6cf356003dd35a69ee46 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2263,6 +2263,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2264,6 +2264,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } -+ public final int getMaxAirTicks() { return bG(); } // Paper - OBFHELPER - public int bG() { ++ public final int getMaxAirTicks() { return bH(); } // Paper - OBFHELPER + public int bH() { return 300; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 868dcb4b43a7d82f9df58742da6d5cd7ca5fdcc7..9717ae9ead12eae7ad258b1a9d8b63c21945d934 100644 +index 0eb5d6a58a9794ed366d03b76f01abb673a6827c..f07014a563e2d472f02fc17d3bbf7d8c8a7f63f5 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1997,6 +1997,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -2005,6 +2005,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } this.setHealth(this.getMaxHealth()); diff --git a/Spigot-Server-Patches/0311-Don-t-allow-digging-into-unloaded-chunks.patch b/Spigot-Server-Patches/0311-Don-t-allow-digging-into-unloaded-chunks.patch index 477927be9..09feaf81a 100644 --- a/Spigot-Server-Patches/0311-Don-t-allow-digging-into-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0311-Don-t-allow-digging-into-unloaded-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow digging into unloaded chunks diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 1ec968d871d00e6589c8572eabda9d0fb8f8f226..4861666aa091554dea8aa6f8563547eceb26041e 100644 +index b4270cab83e676ea9cd6975286f96e350a493962..1adf90526360bd0cf2a46251dd767498ac44565c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1292,6 +1292,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1368,6 +1368,11 @@ public class PlayerConnection implements PacketListenerPlayIn { case START_DESTROY_BLOCK: case ABORT_DESTROY_BLOCK: case STOP_DESTROY_BLOCK: @@ -21,7 +21,7 @@ index 1ec968d871d00e6589c8572eabda9d0fb8f8f226..4861666aa091554dea8aa6f8563547ec return; default: diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 0aa9b3a0d2aec8072fe32e43ed16946f22b29fab..b129d650c940d5b98f7dd04542c293e3f3045569 100644 +index 9b282a917e797a652b5ec10f1f9f550b6d82777f..3056468a7e70238228b91be0f103cfbe111fedb5 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -80,8 +80,8 @@ public class PlayerInteractManager { diff --git a/Spigot-Server-Patches/0312-Book-Size-Limits.patch b/Spigot-Server-Patches/0312-Book-Size-Limits.patch index 7b2fb5cf7..4cbfed770 100644 --- a/Spigot-Server-Patches/0312-Book-Size-Limits.patch +++ b/Spigot-Server-Patches/0312-Book-Size-Limits.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Book Size Limits Puts some limits on the size of books. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 478856f190a8d0177dee39dab4692fc54f9c8ed4..01d48da8b2f89ad3a615ad10c044c5f0a08ee4ed 100644 +index 7b905c16e3833741966cce301b0f7639addac05e..b61a1925ba09bb6e9f59baa6df111d994edd1169 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -334,4 +334,11 @@ public class PaperConfig { @@ -22,23 +22,23 @@ index 478856f190a8d0177dee39dab4692fc54f9c8ed4..01d48da8b2f89ad3a615ad10c044c5f0 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 4861666aa091554dea8aa6f8563547eceb26041e..b6db6b7980e3d90b0b5f9bc3758adebc9625c8dc 100644 +index 1adf90526360bd0cf2a46251dd767498ac44565c..58102ee94907b9ab1bac93b4086d8aa4c6b06287 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -14,6 +14,7 @@ import java.util.Optional; - import java.util.Set; +@@ -20,6 +20,7 @@ import java.util.function.Consumer; + import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; +import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -809,6 +810,42 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -852,6 +853,42 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInBEdit packetplayinbedit) { + // Paper start -+ ItemStack testStack = packetplayinbedit.b(); ++ ItemStack testStack = packetplayinbedit.b(); // TODO(Proximyst): Add obfhelper here + if (!server.isPrimaryThread() && !testStack.isEmpty() && testStack.getTag() != null) { + NBTTagList pageList = testStack.getTag().getList("pages", 8); + long byteTotal = 0; @@ -73,6 +73,6 @@ index 4861666aa091554dea8aa6f8563547eceb26041e..b6db6b7980e3d90b0b5f9bc3758adebc + } + } + // Paper end - PlayerConnectionUtils.ensureMainThread(packetplayinbedit, this, this.player.getWorldServer()); // CraftBukkit start if (this.lastBookTick + 20 > MinecraftServer.currentTick) { + this.disconnect("Book edited too quickly!"); diff --git a/Spigot-Server-Patches/0316-force-entity-dismount-during-teleportation.patch b/Spigot-Server-Patches/0316-force-entity-dismount-during-teleportation.patch index 902c9d5a4..6a3562ea0 100644 --- a/Spigot-Server-Patches/0316-force-entity-dismount-during-teleportation.patch +++ b/Spigot-Server-Patches/0316-force-entity-dismount-during-teleportation.patch @@ -20,16 +20,16 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 52016eefd310a19297d6b16b73596aec3792aed5..82408036e833880aedb073e30bcb4444667639ca 100644 +index 470f8f1440c62b30a9df6cf356003dd35a69ee46..ea0525ca0b52b3270b868cc8a526c7139baa4db8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1953,12 +1953,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1954,12 +1954,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } -- public void be() { +- public void bf() { + // Paper start -+ public void be() { stopRiding(false); } ++ public void bf() { stopRiding(false); } + public void stopRiding(boolean suppressCancellation) { + // Paper end if (this.vehicle != null) { @@ -41,7 +41,7 @@ index 52016eefd310a19297d6b16b73596aec3792aed5..82408036e833880aedb073e30bcb4444 } } -@@ -2013,7 +2016,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2014,7 +2017,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return true; // CraftBukkit } @@ -53,7 +53,7 @@ index 52016eefd310a19297d6b16b73596aec3792aed5..82408036e833880aedb073e30bcb4444 if (entity.getVehicle() == this) { throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { -@@ -2023,7 +2029,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2024,7 +2030,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { VehicleExitEvent event = new VehicleExitEvent( (Vehicle) getBukkitEntity(), @@ -62,7 +62,7 @@ index 52016eefd310a19297d6b16b73596aec3792aed5..82408036e833880aedb073e30bcb4444 ); // Suppress during worldgen if (this.valid) { -@@ -2037,7 +2043,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2038,7 +2044,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end // Spigot start @@ -72,7 +72,7 @@ index 52016eefd310a19297d6b16b73596aec3792aed5..82408036e833880aedb073e30bcb4444 if (this.valid) { Bukkit.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index a6265c71973b67a0b49a41e2163a6f48876f1b41..272f4ff0a59350a088d6699a9fcb6bb9f8e95551 100644 +index 6a46b9262ba34febc2664a6f56c186843ed7fb3f..21bace17c7cac0b895ac1ab16ae43bb207a725ab 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -942,9 +942,11 @@ public abstract class EntityHuman extends EntityLiving { @@ -80,10 +80,10 @@ index a6265c71973b67a0b49a41e2163a6f48876f1b41..272f4ff0a59350a088d6699a9fcb6bb9 } - @Override -- public void be() { -- super.be(); +- public void bf() { +- super.bf(); + // Paper start -+ @Override public void be() { stopRiding(false); } ++ @Override public void bf() { stopRiding(false); } + @Override public void stopRiding(boolean suppressCancellation) { + // Paper end + super.stopRiding(suppressCancellation); // Paper - suppress @@ -91,7 +91,7 @@ index a6265c71973b67a0b49a41e2163a6f48876f1b41..272f4ff0a59350a088d6699a9fcb6bb9 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c54641d984bdd04067f9dba66322b01b840904ed..fb86ed22331ca8194460da7210f03a4c7e01abc3 100644 +index 81e41ec85160eeef833824821d797db9b3d38b40..eaaef11527bc325d6cd6d3b1bc24c59eb8f5ba95 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2904,11 +2904,13 @@ public abstract class EntityLiving extends Entity { @@ -112,10 +112,10 @@ index c54641d984bdd04067f9dba66322b01b840904ed..fb86ed22331ca8194460da7210f03a4c this.a(entity); } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 9717ae9ead12eae7ad258b1a9d8b63c21945d934..0bc51dd94d87b469022183c5a4f94cebe9f1a950 100644 +index f07014a563e2d472f02fc17d3bbf7d8c8a7f63f5..c2726933790ec58bf9ae84969b973dd727fac059 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1107,11 +1107,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1110,11 +1110,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } diff --git a/Spigot-Server-Patches/0318-Add-PlayerConnectionCloseEvent.patch b/Spigot-Server-Patches/0318-Add-PlayerConnectionCloseEvent.patch index b628cec61..a7e365996 100644 --- a/Spigot-Server-Patches/0318-Add-PlayerConnectionCloseEvent.patch +++ b/Spigot-Server-Patches/0318-Add-PlayerConnectionCloseEvent.patch @@ -34,10 +34,10 @@ how PlayerPreLoginEvent interacts with PlayerConnectionCloseEvent is undefined. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index afbe6defdffd967a841ebe51d260c418dcd23590..0cb8f5a4a5cc5e302815af4c1ed325dfbc75235b 100644 +index 2b46943e094544611390758664f3b2a3e2949323..0b1baeab3075a741519c6875f7b4847ce6cad8fc 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -35,9 +35,9 @@ public class LoginListener implements PacketLoginInListener { +@@ -36,9 +36,9 @@ public class LoginListener implements PacketLoginInListener { private final byte[] e = new byte[4]; private final MinecraftServer server; public final NetworkManager networkManager; @@ -50,7 +50,7 @@ index afbe6defdffd967a841ebe51d260c418dcd23590..0cb8f5a4a5cc5e302815af4c1ed325df private SecretKey loginKey; private EntityPlayer l; diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 9ea4ce3aa6a43906eb7bf9593de0191a94242da2..8508f5f5136791ffcdf200f0087548ea636a9a7f 100644 +index c90c616860b5157956250e4fe21e1764dd04881c..511a480aa962fd2659e929bb274297db6baf437e 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -340,6 +340,26 @@ public class NetworkManager extends SimpleChannelInboundHandler> { diff --git a/Spigot-Server-Patches/0320-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/Spigot-Server-Patches/0320-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index f498afa77..8eae9086b 100644 --- a/Spigot-Server-Patches/0320-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/Spigot-Server-Patches/0320-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -16,10 +16,10 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index e69fd9985ea99c46ac20bf5cabd961eeccdbc7c1..32b2d592f2e2e736ab46a08ecbad89bc3adc3f2b 100644 +index c2726933790ec58bf9ae84969b973dd727fac059..508fe73d2117be31f929c577b9aa4fb44c0fa226 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -82,6 +82,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -84,6 +84,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public int ping; public boolean viewingCredits; private int containerUpdateDelay; // Paper diff --git a/Spigot-Server-Patches/0321-Fix-PlayerEditBookEvent.patch b/Spigot-Server-Patches/0321-Fix-PlayerEditBookEvent.patch deleted file mode 100644 index 0fb21fd2d..000000000 --- a/Spigot-Server-Patches/0321-Fix-PlayerEditBookEvent.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Michael Himing -Date: Sun, 16 Dec 2018 13:07:33 +1100 -Subject: [PATCH] Fix PlayerEditBookEvent - -- Updating book writing (not signing) mutated the original item, making -it impossible to properly cancel the event or modify the book meta - -- When the event was cancelled, the client's book would keep the -cancelled writing - -diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index b6db6b7980e3d90b0b5f9bc3758adebc9625c8dc..5fa1d0756d6e47a360dbdac89235941be67c4692 100644 ---- a/src/main/java/net/minecraft/server/PlayerConnection.java -+++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -885,9 +885,11 @@ public class PlayerConnection implements PacketListenerPlayIn { - itemstack2.a("pages", (NBTBase) nbttaglist); - this.player.a(packetplayinbedit.d(), CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, itemstack2)); // CraftBukkit - } else { -- ItemStack old = itemstack1.cloneItemStack(); // CraftBukkit -- itemstack1.a("pages", (NBTBase) itemstack.getTag().getList("pages", 8)); -- CraftEventFactory.handleEditBookEvent(player, enumitemslot, old, itemstack1); // CraftBukkit -+ // Paper start - dont mutate players current item, set it from the event -+ ItemStack newBook = itemstack1.cloneItemStack(); -+ newBook.getOrCreateTagAndSet("pages", (NBTBase)itemstack.getTag().getList("pages", 8)); -+ this.player.setSlot(enumitemslot, CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, newBook)); -+ // Paper end - } - } - diff --git a/Spigot-Server-Patches/0322-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/Spigot-Server-Patches/0321-Workaround-for-vehicle-tracking-issue-on-disconnect.patch similarity index 85% rename from Spigot-Server-Patches/0322-Workaround-for-vehicle-tracking-issue-on-disconnect.patch rename to Spigot-Server-Patches/0321-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 14b9ca756..478f5c8d0 100644 --- a/Spigot-Server-Patches/0322-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/Spigot-Server-Patches/0321-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 71604e01fe6d7dc5d8c500c10ae8b54075848b4f..433140dc33fe2a9eb8241afc2aabf97378dcefdd 100644 +index 508fe73d2117be31f929c577b9aa4fb44c0fa226..b518b49aa96ff63ac4907e5baa09c5789a07949d 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1373,6 +1373,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1376,6 +1376,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public void p() { this.ch = true; this.ejectPassengers(); diff --git a/Spigot-Server-Patches/0323-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch b/Spigot-Server-Patches/0322-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch similarity index 100% rename from Spigot-Server-Patches/0323-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch rename to Spigot-Server-Patches/0322-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch diff --git a/Spigot-Server-Patches/0324-Block-Entity-remove-from-being-called-on-Players.patch b/Spigot-Server-Patches/0323-Block-Entity-remove-from-being-called-on-Players.patch similarity index 100% rename from Spigot-Server-Patches/0324-Block-Entity-remove-from-being-called-on-Players.patch rename to Spigot-Server-Patches/0323-Block-Entity-remove-from-being-called-on-Players.patch diff --git a/Spigot-Server-Patches/0325-BlockDestroyEvent.patch b/Spigot-Server-Patches/0324-BlockDestroyEvent.patch similarity index 95% rename from Spigot-Server-Patches/0325-BlockDestroyEvent.patch rename to Spigot-Server-Patches/0324-BlockDestroyEvent.patch index 0ebe23009..296774222 100644 --- a/Spigot-Server-Patches/0325-BlockDestroyEvent.patch +++ b/Spigot-Server-Patches/0324-BlockDestroyEvent.patch @@ -11,7 +11,7 @@ floating in the air. This can replace many uses of BlockPhysicsEvent diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 42307f0ed23c413f86edf3ac2783f258560ac969..abc73ccc26d1496434009ba09e2e08dbe5784d7b 100644 +index caeca1b5b6aafa5770924c3f9e0cc264f23156ef..4d69dd189091681fee7634f9ffa00c4afb63011f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -499,8 +499,20 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0326-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch b/Spigot-Server-Patches/0325-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch similarity index 100% rename from Spigot-Server-Patches/0326-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch rename to Spigot-Server-Patches/0325-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch diff --git a/Spigot-Server-Patches/0327-Fix-sign-edit-memory-leak.patch b/Spigot-Server-Patches/0326-Fix-sign-edit-memory-leak.patch similarity index 92% rename from Spigot-Server-Patches/0327-Fix-sign-edit-memory-leak.patch rename to Spigot-Server-Patches/0326-Fix-sign-edit-memory-leak.patch index d6e0be555..2b319f35a 100644 --- a/Spigot-Server-Patches/0327-Fix-sign-edit-memory-leak.patch +++ b/Spigot-Server-Patches/0326-Fix-sign-edit-memory-leak.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix sign edit memory leak when a player edits a sign, a reference to their Entity is never cleand up. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5fa1d0756d6e47a360dbdac89235941be67c4692..ca0f14a34e5167c544cef47f675a48baef44294b 100644 +index 58102ee94907b9ab1bac93b4086d8aa4c6b06287..b1faac1e2465cdae624ca5d8d999db3cdedfe3de 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2588,7 +2588,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2682,7 +2682,7 @@ public class PlayerConnection implements PacketListenerPlayIn { TileEntitySign tileentitysign = (TileEntitySign) tileentity; diff --git a/Spigot-Server-Patches/0328-Limit-Client-Sign-length-more.patch b/Spigot-Server-Patches/0327-Limit-Client-Sign-length-more.patch similarity index 64% rename from Spigot-Server-Patches/0328-Limit-Client-Sign-length-more.patch rename to Spigot-Server-Patches/0327-Limit-Client-Sign-length-more.patch index a1f517ecf..ebb82e72f 100644 --- a/Spigot-Server-Patches/0328-Limit-Client-Sign-length-more.patch +++ b/Spigot-Server-Patches/0327-Limit-Client-Sign-length-more.patch @@ -22,10 +22,10 @@ it only impacts data sent from the client. Set -DPaper.maxSignLength=XX to change limit or -1 to disable diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index ca0f14a34e5167c544cef47f675a48baef44294b..9fbc498f58ff96323aa705e4b47cdf523256d6ce 100644 +index b1faac1e2465cdae624ca5d8d999db3cdedfe3de..fccde94e0ccd0964a051383bd1fc38d7b5967cd4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -104,6 +104,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -110,6 +110,7 @@ public class PlayerConnection implements PacketListenerPlayIn { private int E; private int receivedMovePackets; private int processedMovePackets; @@ -33,19 +33,23 @@ index ca0f14a34e5167c544cef47f675a48baef44294b..9fbc498f58ff96323aa705e4b47cdf52 private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) { -@@ -2604,6 +2605,15 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2696,8 +2697,18 @@ public class PlayerConnection implements PacketListenerPlayIn { String[] lines = new String[4]; - for (int i = 0; i < astring.length; ++i) { + for (int i = 0; i < list.size(); ++i) { + // Paper start - cap line length - modified clients can send longer data than normal -+ if (MAX_SIGN_LINE_LENGTH > 0 && astring[i].length() > MAX_SIGN_LINE_LENGTH) { ++ String currentLine = list.get(i); ++ if (MAX_SIGN_LINE_LENGTH > 0 && currentLine.length() > MAX_SIGN_LINE_LENGTH) { + // This handles multibyte characters as 1 -+ int offset = astring[i].codePoints().limit(MAX_SIGN_LINE_LENGTH).map(Character::charCount).sum(); -+ if (offset < astring[i].length()) { -+ astring[i] = astring[i].substring(0, offset); ++ int offset = currentLine.codePoints().limit(MAX_SIGN_LINE_LENGTH).map(Character::charCount).sum(); ++ if (offset < currentLine.length()) { ++ list.set(i, currentLine = currentLine.substring(0, offset)); + } + } + // Paper end - lines[i] = SharedConstants.a(astring[i]); //Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created. + // Paper TODO(Proximyst): Add obfhelper when 1.16.4 runs +- lines[i] = SharedConstants.a(list.get(i)); // Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created. ++ lines[i] = SharedConstants.a(currentLine); // Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created. } SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); + this.server.getPluginManager().callEvent(event); diff --git a/Spigot-Server-Patches/0329-Don-t-check-ConvertSigns-boolean-every-sign-save.patch b/Spigot-Server-Patches/0328-Don-t-check-ConvertSigns-boolean-every-sign-save.patch similarity index 100% rename from Spigot-Server-Patches/0329-Don-t-check-ConvertSigns-boolean-every-sign-save.patch rename to Spigot-Server-Patches/0328-Don-t-check-ConvertSigns-boolean-every-sign-save.patch diff --git a/Spigot-Server-Patches/0330-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/Spigot-Server-Patches/0329-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 99% rename from Spigot-Server-Patches/0330-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to Spigot-Server-Patches/0329-Optimize-Network-Manager-and-add-advanced-packet-sup.patch index 6639a9f91..74266ba30 100644 --- a/Spigot-Server-Patches/0330-Optimize-Network-Manager-and-add-advanced-packet-sup.patch +++ b/Spigot-Server-Patches/0329-Optimize-Network-Manager-and-add-advanced-packet-sup.patch @@ -28,7 +28,7 @@ and then catch exceptions and close if they fire. Part of this commit was authored by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 8508f5f5136791ffcdf200f0087548ea636a9a7f..48fc9f40050685ea08af8da54ae8a00cf3d8ee36 100644 +index 511a480aa962fd2659e929bb274297db6baf437e..4ddd3a819648fe5418a19d4496a18dc20c4e086e 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -65,6 +65,10 @@ public class NetworkManager extends SimpleChannelInboundHandler> { diff --git a/Spigot-Server-Patches/0331-Handle-Oversized-Tile-Entities-in-chunks.patch b/Spigot-Server-Patches/0330-Handle-Oversized-Tile-Entities-in-chunks.patch similarity index 100% rename from Spigot-Server-Patches/0331-Handle-Oversized-Tile-Entities-in-chunks.patch rename to Spigot-Server-Patches/0330-Handle-Oversized-Tile-Entities-in-chunks.patch diff --git a/Spigot-Server-Patches/0332-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0331-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch similarity index 100% rename from Spigot-Server-Patches/0332-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch rename to Spigot-Server-Patches/0331-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch diff --git a/Spigot-Server-Patches/0333-Set-Zombie-last-tick-at-start-of-drowning-process.patch b/Spigot-Server-Patches/0332-Set-Zombie-last-tick-at-start-of-drowning-process.patch similarity index 90% rename from Spigot-Server-Patches/0333-Set-Zombie-last-tick-at-start-of-drowning-process.patch rename to Spigot-Server-Patches/0332-Set-Zombie-last-tick-at-start-of-drowning-process.patch index 77e2dd653..239496a52 100644 --- a/Spigot-Server-Patches/0333-Set-Zombie-last-tick-at-start-of-drowning-process.patch +++ b/Spigot-Server-Patches/0332-Set-Zombie-last-tick-at-start-of-drowning-process.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Set Zombie last tick at start of drowning process Fixes GH-1887 diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 2c0246fe39e3a0f513d6be8d270b76a0016935f4..e2c3c7153ac20a07a9eb5d99078a3cc247b5d5c5 100644 +index 8c4a27721b66800c2d9b7bc6c1878b73b76b0df1..05d7b7a67bfc117a91903db5f303587a4f8f8624 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -162,6 +162,7 @@ public class EntityZombie extends EntityMonster { diff --git a/Spigot-Server-Patches/0334-Allow-Saving-of-Oversized-Chunks.patch b/Spigot-Server-Patches/0333-Allow-Saving-of-Oversized-Chunks.patch similarity index 100% rename from Spigot-Server-Patches/0334-Allow-Saving-of-Oversized-Chunks.patch rename to Spigot-Server-Patches/0333-Allow-Saving-of-Oversized-Chunks.patch diff --git a/Spigot-Server-Patches/0335-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0334-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch similarity index 100% rename from Spigot-Server-Patches/0335-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch rename to Spigot-Server-Patches/0334-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch diff --git a/Spigot-Server-Patches/0336-Add-LivingEntity-getTargetEntity.patch b/Spigot-Server-Patches/0335-Add-LivingEntity-getTargetEntity.patch similarity index 94% rename from Spigot-Server-Patches/0336-Add-LivingEntity-getTargetEntity.patch rename to Spigot-Server-Patches/0335-Add-LivingEntity-getTargetEntity.patch index 06e5702d4..9dfe5cc2b 100644 --- a/Spigot-Server-Patches/0336-Add-LivingEntity-getTargetEntity.patch +++ b/Spigot-Server-Patches/0335-Add-LivingEntity-getTargetEntity.patch @@ -46,10 +46,10 @@ index 02c09f39848399a86d46bd17569b4f01a7b5ab1f..ed9b2f9adfecdc6d1b9925579ec51065 double[] adouble = new double[]{1.0D}; double d0 = vec3d1.x - vec3d.x; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 82408036e833880aedb073e30bcb4444667639ca..0d4d619d89f0803eac78db8f167f88fe32e1f597 100644 +index ea0525ca0b52b3270b868cc8a526c7139baa4db8..f999920fcc61109d2359ada18fb4272e25c2fcc7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1417,6 +1417,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1418,6 +1418,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.c(f - 90.0F, f1); } @@ -57,16 +57,16 @@ index 82408036e833880aedb073e30bcb4444667639ca..0d4d619d89f0803eac78db8f167f88fe public final Vec3D j(float f) { if (f == 1.0F) { return new Vec3D(this.locX(), this.getHeadY(), this.locZ()); -@@ -2062,6 +2063,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2063,6 +2064,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.getPassengers().size() < 1; } -+ public final float getCollisionBorderSize() { return bf(); } // Paper - OBFHELPER - public float bf() { ++ public final float getCollisionBorderSize() { return bg(); } // Paper - OBFHELPER + public float bg() { return 0.0F; } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index fb86ed22331ca8194460da7210f03a4c7e01abc3..b39b39bff3aa9b079b8972f49b3973c78113bc6e 100644 +index eaaef11527bc325d6cd6d3b1bc24c59eb8f5ba95..e6f91f875a063a2438ddce3aee1f0a92abe4d11a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3526,6 +3526,37 @@ public abstract class EntityLiving extends Entity { @@ -108,7 +108,7 @@ index fb86ed22331ca8194460da7210f03a4c7e01abc3..b39b39bff3aa9b079b8972f49b3973c7 public int getShieldBlockingDelay() { diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index e8e7532493c973ce10d94a41676859674fc4e6f6..50f342c5f6e1ee5865646af0327567d7005a9ca5 100644 +index ff1ddb4db5406f81453a8f075033d00e06bce6a5..5319ee9314f23b3323015efc40ad8a0287ad6368 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -17,6 +17,7 @@ public final class IEntitySelector { diff --git a/Spigot-Server-Patches/0337-Use-proper-max-length-when-serialising-BungeeCord-te.patch b/Spigot-Server-Patches/0336-Use-proper-max-length-when-serialising-BungeeCord-te.patch similarity index 100% rename from Spigot-Server-Patches/0337-Use-proper-max-length-when-serialising-BungeeCord-te.patch rename to Spigot-Server-Patches/0336-Use-proper-max-length-when-serialising-BungeeCord-te.patch diff --git a/Spigot-Server-Patches/0338-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0337-Entity-getEntitySpawnReason.patch similarity index 94% rename from Spigot-Server-Patches/0338-Entity-getEntitySpawnReason.patch rename to Spigot-Server-Patches/0337-Entity-getEntitySpawnReason.patch index 75646a7e5..bb1882ca9 100644 --- a/Spigot-Server-Patches/0338-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0337-Entity-getEntitySpawnReason.patch @@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0d4d619d89f0803eac78db8f167f88fe32e1f597..9b8ee66bea818a52b89acaf56d182b0ff7201d92 100644 +index f999920fcc61109d2359ada18fb4272e25c2fcc7..073660a67ece962981b388a8b0f5402ce2a430c6 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -72,6 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -21,7 +21,7 @@ index 0d4d619d89f0803eac78db8f167f88fe32e1f597..9b8ee66bea818a52b89acaf56d182b0f // Paper end public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper -@@ -1586,6 +1587,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1587,6 +1588,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (this.origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -31,7 +31,7 @@ index 0d4d619d89f0803eac78db8f167f88fe32e1f597..9b8ee66bea818a52b89acaf56d182b0f // Save entity's from mob spawner status if (spawnedViaMobSpawner) { nbttagcompound.setBoolean("Paper.FromMobSpawner", true); -@@ -1720,6 +1724,26 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1721,6 +1725,26 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } spawnedViaMobSpawner = nbttagcompound.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status @@ -84,10 +84,10 @@ index 19d8497d691e0ec6f4451298dcf4b4831062d5ed..5b2cecba3569a35ba259427747a8d39f }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d6c86ce6a6a23ac8e889b0a9e7b8b7b8513ba5d1..21c0450d10e34ba066325af1b1bf77326149b0b1 100644 +index 458ee180fa1c8c105d596125398b2c34d8265d0a..14e338184592cf5f171e6a95f07c83740c56e864 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -925,6 +925,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -929,6 +929,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot diff --git a/Spigot-Server-Patches/0339-Update-entity-Metadata-for-all-tracked-players.patch b/Spigot-Server-Patches/0338-Update-entity-Metadata-for-all-tracked-players.patch similarity index 93% rename from Spigot-Server-Patches/0339-Update-entity-Metadata-for-all-tracked-players.patch rename to Spigot-Server-Patches/0338-Update-entity-Metadata-for-all-tracked-players.patch index d541af1f1..b77c2a212 100644 --- a/Spigot-Server-Patches/0339-Update-entity-Metadata-for-all-tracked-players.patch +++ b/Spigot-Server-Patches/0338-Update-entity-Metadata-for-all-tracked-players.patch @@ -22,10 +22,10 @@ index 216445778ce8432fe2506cd7ac4312f43f42ba33..e9bc1d22825850a1f1ef3267428c1984 this.f.accept(packet); if (this.tracker instanceof EntityPlayer) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 9fbc498f58ff96323aa705e4b47cdf523256d6ce..759419a9d96072082f008c3a98da861c8c6c0fa3 100644 +index fccde94e0ccd0964a051383bd1fc38d7b5967cd4..9eaa4e1caf297c26d49b0e4777cf75a81d6bc9c0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2042,7 +2042,14 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2129,7 +2129,14 @@ public class PlayerConnection implements PacketListenerPlayIn { if (event.isCancelled() || this.player.inventory.getItemInHand() == null || this.player.inventory.getItemInHand().getItem() != origItem) { // Refresh the current entity metadata diff --git a/Spigot-Server-Patches/0340-Implement-PlayerPostRespawnEvent.patch b/Spigot-Server-Patches/0339-Implement-PlayerPostRespawnEvent.patch similarity index 100% rename from Spigot-Server-Patches/0340-Implement-PlayerPostRespawnEvent.patch rename to Spigot-Server-Patches/0339-Implement-PlayerPostRespawnEvent.patch diff --git a/Spigot-Server-Patches/0341-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/Spigot-Server-Patches/0340-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch similarity index 94% rename from Spigot-Server-Patches/0341-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch rename to Spigot-Server-Patches/0340-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch index 052fbb7f2..9d492fc7c 100644 --- a/Spigot-Server-Patches/0341-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch +++ b/Spigot-Server-Patches/0340-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch @@ -6,7 +6,7 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items vanilla checks for == 0 diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 78a2e28c9fe93cdbb2a7326a5d6fcb596724ad30..43654872d30fac44d3aeda0d4ab190c8bdfed0b8 100644 +index fde34e4c0c95d23a006304f26339a60ea6cf51fa..765eb57ae017acf6cc800f86d0160ca5e3b7b230 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -60,6 +60,7 @@ public class EntityItem extends Entity { diff --git a/Spigot-Server-Patches/0342-Server-Tick-Events.patch b/Spigot-Server-Patches/0341-Server-Tick-Events.patch similarity index 93% rename from Spigot-Server-Patches/0342-Server-Tick-Events.patch rename to Spigot-Server-Patches/0341-Server-Tick-Events.patch index 0a785051e..eca2cb58e 100644 --- a/Spigot-Server-Patches/0342-Server-Tick-Events.patch +++ b/Spigot-Server-Patches/0341-Server-Tick-Events.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Server Tick Events Fires event at start and end of a server tick diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 49f172a0c41293865ae20f935a92673aabe15ac5..0cd08f390374ed9cdbcd0fee1a9204a142c642c9 100644 +index 825fc9add1fd25fba4b71adef1e3201e51e0e1d2..949bc9b6f3fb64ae65060c3e909e040af83f4c8b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1117,6 +1117,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant void a(T t0, Consumer consumer, BiFunction>> bifunction) { diff --git a/Spigot-Server-Patches/0349-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/Spigot-Server-Patches/0348-Fix-sounds-when-item-frames-are-modified-MC-123450.patch similarity index 94% rename from Spigot-Server-Patches/0349-Fix-sounds-when-item-frames-are-modified-MC-123450.patch rename to Spigot-Server-Patches/0348-Fix-sounds-when-item-frames-are-modified-MC-123450.patch index 1355d47cd..472f1d208 100644 --- a/Spigot-Server-Patches/0349-Fix-sounds-when-item-frames-are-modified-MC-123450.patch +++ b/Spigot-Server-Patches/0348-Fix-sounds-when-item-frames-are-modified-MC-123450.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) This also fixes the adding sound playing when the item frame direction is changed. diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java -index 0a0f06d03b01103f0bbe911b0e8c543f9ad53f8a..b61876affd09b4bcd2062fd725b8525edc68b054 100644 +index bc8c007fc819335d9a8a464c01774e15dc18b7c6..16c8f2cdf7120337bec6f1d28822f3219c7d2d8f 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java @@ -247,7 +247,7 @@ public class EntityItemFrame extends EntityHanging { diff --git a/Spigot-Server-Patches/0350-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/Spigot-Server-Patches/0349-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch similarity index 93% rename from Spigot-Server-Patches/0350-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch rename to Spigot-Server-Patches/0349-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index 2ef24a80a..cfc24232f 100644 --- a/Spigot-Server-Patches/0350-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/Spigot-Server-Patches/0349-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled synchronously when the server gets shut down. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0cd08f390374ed9cdbcd0fee1a9204a142c642c9..3b8e9cf112b4656e9dc4d127e8f7568e65d7d6e8 100644 +index 949bc9b6f3fb64ae65060c3e909e040af83f4c8b..5816c8b367923a1722665b86e7fdcbe39cf51ee1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2064,7 +2064,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant, PlayerChunk.Failure>> completablefuture = this.a(chunkcoordintpair, 1, (i) -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 056ae03e9bf560ef2a8893a93e29e9a74f95b198..21c45b45f9784f94fc4c7432e2c77a9cd3ae4f9d 100644 +index 180f5690769076ee982f208cb610ce61f49c8487..83ec3c34bc2b063fe3ae7ba48e35b83522d9866b 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; @@ -209,7 +209,7 @@ index 056ae03e9bf560ef2a8893a93e29e9a74f95b198..21c45b45f9784f94fc4c7432e2c77a9c import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Queues; -@@ -992,7 +994,22 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -996,7 +998,22 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (entity1 == null) { return false; } else { diff --git a/Spigot-Server-Patches/0353-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0352-improve-CraftWorld-isChunkLoaded.patch similarity index 100% rename from Spigot-Server-Patches/0353-improve-CraftWorld-isChunkLoaded.patch rename to Spigot-Server-Patches/0352-improve-CraftWorld-isChunkLoaded.patch diff --git a/Spigot-Server-Patches/0354-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0353-Configurable-Keep-Spawn-Loaded-range-per-world.patch similarity index 97% rename from Spigot-Server-Patches/0354-Configurable-Keep-Spawn-Loaded-range-per-world.patch rename to Spigot-Server-Patches/0353-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 8726ed0f5..e70a96f2a 100644 --- a/Spigot-Server-Patches/0354-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0353-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -21,7 +21,7 @@ index 21910dfd1a533e923a8a73e92fea25685a07b445..44811683cfe47adbdce6c8bd627bdbeb + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3b8e9cf112b4656e9dc4d127e8f7568e65d7d6e8..a68adf340c4e0210bd9c3c75acb3d503775870ec 100644 +index 5816c8b367923a1722665b86e7fdcbe39cf51ee1..8886572361e56e8006bcdf2b066267336634cd7d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -605,6 +605,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant - License: LGPLv2.1 */ diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 09cfd3ee900d0d1f523e6453163fdb806a0da6de..db6b52850f10d212b3db81dcf86c622e610f02b2 100644 +index 90812ab056acc39e62a43cb208bfd782e2a0c1b7..ac706ac98cdfb1b0c754cd4941cf1d9996f530d7 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -24,7 +24,7 @@ import org.apache.logging.log4j.Logger; diff --git a/Spigot-Server-Patches/0359-Catch-exceptions-from-dispenser-entity-spawns.patch b/Spigot-Server-Patches/0358-Catch-exceptions-from-dispenser-entity-spawns.patch similarity index 100% rename from Spigot-Server-Patches/0359-Catch-exceptions-from-dispenser-entity-spawns.patch rename to Spigot-Server-Patches/0358-Catch-exceptions-from-dispenser-entity-spawns.patch diff --git a/Spigot-Server-Patches/0360-Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/0359-Fix-World-isChunkGenerated-calls.patch similarity index 98% rename from Spigot-Server-Patches/0360-Fix-World-isChunkGenerated-calls.patch rename to Spigot-Server-Patches/0359-Fix-World-isChunkGenerated-calls.patch index 0633c0a06..42879443e 100644 --- a/Spigot-Server-Patches/0360-Fix-World-isChunkGenerated-calls.patch +++ b/Spigot-Server-Patches/0359-Fix-World-isChunkGenerated-calls.patch @@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that its only purpose is to cache the status on DISK) diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index db6b52850f10d212b3db81dcf86c622e610f02b2..3bfd225db6945cb431238a9a980fb6d10f831f61 100644 +index ac706ac98cdfb1b0c754cd4941cf1d9996f530d7..0c5a14d98f824591c553684191b32ccb507ebe2f 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -30,7 +30,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -43,7 +43,7 @@ index db6b52850f10d212b3db81dcf86c622e610f02b2..3bfd225db6945cb431238a9a980fb6d1 @Nullable diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 8affcbbb0a970acc83531f7308734552727b00c5..c8aec9380ffb4e27ee41ff478ab984d92a5837b4 100644 +index 3a292bccb2295bf7ae46fc3d7e5c9c63a72f403d..23664a8e7c6e642e601fd83c875e5be56826be74 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -419,6 +419,17 @@ public class ChunkRegionLoader { diff --git a/Spigot-Server-Patches/0361-Show-blockstate-location-if-we-failed-to-read-it.patch b/Spigot-Server-Patches/0360-Show-blockstate-location-if-we-failed-to-read-it.patch similarity index 100% rename from Spigot-Server-Patches/0361-Show-blockstate-location-if-we-failed-to-read-it.patch rename to Spigot-Server-Patches/0360-Show-blockstate-location-if-we-failed-to-read-it.patch diff --git a/Spigot-Server-Patches/0362-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch b/Spigot-Server-Patches/0361-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch similarity index 100% rename from Spigot-Server-Patches/0362-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch rename to Spigot-Server-Patches/0361-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch diff --git a/Spigot-Server-Patches/0363-incremental-chunk-saving.patch b/Spigot-Server-Patches/0362-incremental-chunk-saving.patch similarity index 96% rename from Spigot-Server-Patches/0363-incremental-chunk-saving.patch rename to Spigot-Server-Patches/0362-incremental-chunk-saving.patch index 076b16c59..9ccda0185 100644 --- a/Spigot-Server-Patches/0363-incremental-chunk-saving.patch +++ b/Spigot-Server-Patches/0362-incremental-chunk-saving.patch @@ -29,7 +29,7 @@ index 44811683cfe47adbdce6c8bd627bdbeb13ce114c..e7c73a4ddbb42aa52112147a60c8a761 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8e3244fc5c6e5fff22857637b4ab5944d6b1e165..62758052546fac25fc90a9d26e5081d92eeba8b5 100644 +index 0f8745ede62894f8d88fc8985e34b32acee5c698..71efd1efab43d5aeabba2ad385016b616f4e4849 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -43,7 +43,7 @@ public class Chunk implements IChunkAccess { @@ -42,7 +42,7 @@ index 8e3244fc5c6e5fff22857637b4ab5944d6b1e165..62758052546fac25fc90a9d26e5081d9 private long inhabitedTime; @Nullable diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 3bfd225db6945cb431238a9a980fb6d10f831f61..b49420bdbdd00148fc5f9a21d3f4953457b2cdc6 100644 +index 0c5a14d98f824591c553684191b32ccb507ebe2f..4140de8bcd1ee93f77574d892d32e7c7821be9e0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -536,6 +536,15 @@ public class ChunkProviderServer extends IChunkProvider { @@ -62,7 +62,7 @@ index 3bfd225db6945cb431238a9a980fb6d10f831f61..b49420bdbdd00148fc5f9a21d3f49534 public void close() throws IOException { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a68adf340c4e0210bd9c3c75acb3d503775870ec..a8eb817fd02456aebc8a2681c8ff849adb62a396 100644 +index 8886572361e56e8006bcdf2b066267336634cd7d..35630b80d474d7ccbf17a610ff6297ccc828c7a1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -152,6 +152,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant WorldDataServer public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) { diff --git a/Spigot-Server-Patches/0365-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/Spigot-Server-Patches/0364-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch similarity index 96% rename from Spigot-Server-Patches/0365-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch rename to Spigot-Server-Patches/0364-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch index de2bfb374..2ee549d0a 100644 --- a/Spigot-Server-Patches/0365-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch +++ b/Spigot-Server-Patches/0364-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch @@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural influences natural spawns. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index fd869c25b83670ded11678988288ab1322b9b001..bdfaaa535a9339a8f6fb51d5fb7892becf617097 100644 +index 75c30889ec186dbae35159d9a4a38494fad0f6df..18874a9b57cafb5c5c4fbcf87a3ecfd9ebb96440 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -457,6 +457,16 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0366-Configurable-projectile-relative-velocity.patch b/Spigot-Server-Patches/0365-Configurable-projectile-relative-velocity.patch similarity index 97% rename from Spigot-Server-Patches/0366-Configurable-projectile-relative-velocity.patch rename to Spigot-Server-Patches/0365-Configurable-projectile-relative-velocity.patch index 70f1cb3ba..5c10bde80 100644 --- a/Spigot-Server-Patches/0366-Configurable-projectile-relative-velocity.patch +++ b/Spigot-Server-Patches/0365-Configurable-projectile-relative-velocity.patch @@ -25,7 +25,7 @@ P3) Solutions for 1) and especially 2) might not be future-proof, while this server-internal fix makes this change future-proof. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b8e322d8b0f26546d7e5b41d0c0fa538c5b31c49..602e8f575cbafc5dbebd4916f1e19581e661f0d1 100644 +index 18874a9b57cafb5c5c4fbcf87a3ecfd9ebb96440..a24bace235f72e15af84f6d64a1c7fa4334a57c0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -495,4 +495,9 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0367-Mark-entities-as-being-ticked-when-notifying-navigat.patch b/Spigot-Server-Patches/0366-Mark-entities-as-being-ticked-when-notifying-navigat.patch similarity index 81% rename from Spigot-Server-Patches/0367-Mark-entities-as-being-ticked-when-notifying-navigat.patch rename to Spigot-Server-Patches/0366-Mark-entities-as-being-ticked-when-notifying-navigat.patch index 00a29f45e..b6f549331 100644 --- a/Spigot-Server-Patches/0367-Mark-entities-as-being-ticked-when-notifying-navigat.patch +++ b/Spigot-Server-Patches/0366-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 f4a4902ed161c7fab5c625135f11ff2b6019981b..ef15df222d2e36b0850db15f66a59a66c4de05d7 100644 +index 6b52f9b9adce975cdafaf12b2a1bea5ef1bbaaa4..7e377ecf8ae5348d889ba8c6b586ab4da6fd8cc1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1358,6 +1358,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1362,6 +1362,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition); if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) { @@ -16,7 +16,7 @@ index f4a4902ed161c7fab5c625135f11ff2b6019981b..ef15df222d2e36b0850db15f66a59a66 Iterator iterator = this.navigators.iterator(); while (iterator.hasNext()) { -@@ -1368,6 +1369,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1372,6 +1373,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } diff --git a/Spigot-Server-Patches/0368-offset-item-frame-ticking.patch b/Spigot-Server-Patches/0367-offset-item-frame-ticking.patch similarity index 89% rename from Spigot-Server-Patches/0368-offset-item-frame-ticking.patch rename to Spigot-Server-Patches/0367-offset-item-frame-ticking.patch index cb279c67d..81874da09 100644 --- a/Spigot-Server-Patches/0368-offset-item-frame-ticking.patch +++ b/Spigot-Server-Patches/0367-offset-item-frame-ticking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] offset item frame ticking diff --git a/src/main/java/net/minecraft/server/EntityHanging.java b/src/main/java/net/minecraft/server/EntityHanging.java -index 77cee2a41103441e7c7bc5dad621966ab8754ea3..08975848abcbab99888fedadf29eb2b3b9e6c283 100644 +index 2fb7abc3639036a54512056cc75c518be085a3f1..747b0b7e6f7412751e8fa7ab98fe642a78760a87 100644 --- a/src/main/java/net/minecraft/server/EntityHanging.java +++ b/src/main/java/net/minecraft/server/EntityHanging.java @@ -15,7 +15,7 @@ public abstract class EntityHanging extends Entity { diff --git a/Spigot-Server-Patches/0369-Avoid-hopper-searches-if-there-are-no-items.patch b/Spigot-Server-Patches/0368-Avoid-hopper-searches-if-there-are-no-items.patch similarity index 98% rename from Spigot-Server-Patches/0369-Avoid-hopper-searches-if-there-are-no-items.patch rename to Spigot-Server-Patches/0368-Avoid-hopper-searches-if-there-are-no-items.patch index b85922eb9..5fb1bb711 100644 --- a/Spigot-Server-Patches/0369-Avoid-hopper-searches-if-there-are-no-items.patch +++ b/Spigot-Server-Patches/0368-Avoid-hopper-searches-if-there-are-no-items.patch @@ -100,7 +100,7 @@ index 4ff3eff58fa8007eca7eec22ef53d23705a98ed9..211e4353e88ad703c7f6aa8e416e6a50 T t0 = (T) iterator.next(); // CraftBukkit - decompile error if (t0.shouldBeRemoved) continue; // Paper diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index 50f342c5f6e1ee5865646af0327567d7005a9ca5..7ba071a5cc14ef89dc005f4b9cebdc4cdef52532 100644 +index 5319ee9314f23b3323015efc40ad8a0287ad6368..94d90eb50a8b0ce104128ef016692ad91a883c2a 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -11,6 +11,7 @@ public final class IEntitySelector { diff --git a/Spigot-Server-Patches/0370-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0369-Asynchronous-chunk-IO-and-loading.patch similarity index 99% rename from Spigot-Server-Patches/0370-Asynchronous-chunk-IO-and-loading.patch rename to Spigot-Server-Patches/0369-Asynchronous-chunk-IO-and-loading.patch index 3cdc95f9b..97fedef6e 100644 --- a/Spigot-Server-Patches/0370-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0369-Asynchronous-chunk-IO-and-loading.patch @@ -2308,7 +2308,7 @@ index 0000000000000000000000000000000000000000..49a594e5f345096cb3b9913b8ee27607 + +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index b49420bdbdd00148fc5f9a21d3f4953457b2cdc6..032464901e02392df4966c68cce8d06f2bd6b6f8 100644 +index 4140de8bcd1ee93f77574d892d32e7c7821be9e0..2c47eaf07a46b068c446fc7c71da4b9dfcf39656 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -311,11 +311,138 @@ public class ChunkProviderServer extends IChunkProvider { @@ -2495,7 +2495,7 @@ index b49420bdbdd00148fc5f9a21d3f4953457b2cdc6..032464901e02392df4966c68cce8d06f } finally { playerChunkMap.callbackExecutor.run(); diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 10e84aa154d8a84a591ef1a16c14b3421c484bc7..efafe3247e302539a851b7fce0a9d7be79d64f99 100644 +index 2dc4f1b689d2a2af9ae42156d954eb5284297ec0..b09d9436d17159edd6733ab4856be44578353e3e 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.longs.LongOpenHashSet; @@ -2801,7 +2801,7 @@ index f231bb2f5bca184557182c50d251943932693614..f6c9bdbf52d773d7aa601125b887b347 return this.c() >= chunkstatus.c(); } diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 46959b58bac01b5ff7e3eb4cbac07ddf6bfc4ebc..c475009fe03a1550cb64a716a02a5a8b5204c873 100644 +index f97fb0434e80478d514a718a1e7376fd2717037d..bc15da4640a4a6107c9c186a01ce76df87511b41 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java @@ -91,7 +91,7 @@ public abstract class IAsyncTaskHandler implements Mailbox this.disconnect(new ChatMessage("disconnect.spam", new Object[0]))); // Paper return; } @@ -3910,10 +3910,10 @@ index d6aca683465c6898536507fab9e6888fef2e77e5..b926cebd053bef829517c9d9bbf1c609 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 ef15df222d2e36b0850db15f66a59a66c4de05d7..8663aa0450281d6e8130d0964d87e5c2c407e3d5 100644 +index 7e377ecf8ae5348d889ba8c6b586ab4da6fd8cc1..5a85c5b99179ffe4cfbd994b4c75f6dffaed110f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -94,6 +94,79 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -98,6 +98,79 @@ public class WorldServer extends World implements GeneratorAccessSeed { return this.chunkProvider.getChunkAt(x, z, false); } @@ -3993,7 +3993,7 @@ index ef15df222d2e36b0850db15f66a59a66c4de05d7..8663aa0450281d6e8130d0964d87e5c2 // Add env and gen to constructor, WorldData -> WorldDataServer public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) { super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor -@@ -141,6 +214,8 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -145,6 +218,8 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.dragonBattle = null; } this.getServer().addWorld(this.getWorld()); // CraftBukkit @@ -4002,7 +4002,7 @@ index ef15df222d2e36b0850db15f66a59a66c4de05d7..8663aa0450281d6e8130d0964d87e5c2 } // CraftBukkit start -@@ -1615,7 +1690,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1619,7 +1694,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { } MCUtil.getSpiralOutChunks(spawn, radiusInBlocks >> 4).forEach(pair -> { diff --git a/Spigot-Server-Patches/0371-Use-getChunkIfLoadedImmediately-in-places.patch b/Spigot-Server-Patches/0370-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 89% rename from Spigot-Server-Patches/0371-Use-getChunkIfLoadedImmediately-in-places.patch rename to Spigot-Server-Patches/0370-Use-getChunkIfLoadedImmediately-in-places.patch index 6166cae93..1af7f56f0 100644 --- a/Spigot-Server-Patches/0371-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/Spigot-Server-Patches/0370-Use-getChunkIfLoadedImmediately-in-places.patch @@ -8,10 +8,10 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk load in that case). diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 4abfbd86bed491f157f29234f739e4429a4efa8f..342d519ad8df0c781b592af0c39c0b8043607474 100644 +index dabeeb95011225963d26fead2a58b0cb3c3f91fc..6cc86e36d6a5795b90e40c90526c8c93844a0942 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1010,7 +1010,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1084,7 +1084,7 @@ public class PlayerConnection implements PacketListenerPlayIn { speed = player.abilities.walkSpeed * 10f; } // Paper start - Prevent moving into unloaded chunks @@ -21,7 +21,7 @@ index 4abfbd86bed491f157f29234f739e4429a4efa8f..342d519ad8df0c781b592af0c39c0b80 return; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1408c83fc3f1be7dc0ff09ebd3cc09a7f99ab188..67b45b044350c9555eca6c6616966cf2e5d8513d 100644 +index e7ad9a926f58cc7e5d70229dd69f2f5b34603a39..7a392774de7affb344166cc3344b2ebf5468e299 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -104,6 +104,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -38,7 +38,7 @@ index 1408c83fc3f1be7dc0ff09ebd3cc09a7f99ab188..67b45b044350c9555eca6c6616966cf2 public ResourceKey getTypeKey() { return typeKey; } -@@ -998,14 +1005,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1002,14 +1009,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } public boolean p(BlockPosition blockposition) { @@ -55,7 +55,7 @@ index 1408c83fc3f1be7dc0ff09ebd3cc09a7f99ab188..67b45b044350c9555eca6c6616966cf2 return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).a((IBlockAccess) this, blockposition, entity, enumdirection); } -@@ -1126,7 +1133,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1130,7 +1137,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -65,10 +65,10 @@ index 1408c83fc3f1be7dc0ff09ebd3cc09a7f99ab188..67b45b044350c9555eca6c6616966cf2 if (chunk != null) { chunk.a(oclass, axisalignedbb, list, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 8663aa0450281d6e8130d0964d87e5c2c407e3d5..86c8ce3f8c76250d401d16dbb3234f1fcfee2723 100644 +index 5a85c5b99179ffe4cfbd994b4c75f6dffaed110f..6962e258446d7096accad7ec581fbbd57f020986 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -91,7 +91,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -95,7 +95,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } @Override public Chunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI diff --git a/Spigot-Server-Patches/0372-Reduce-sync-loads.patch b/Spigot-Server-Patches/0371-Reduce-sync-loads.patch similarity index 96% rename from Spigot-Server-Patches/0372-Reduce-sync-loads.patch rename to Spigot-Server-Patches/0371-Reduce-sync-loads.patch index 5c716fb9d..76273e8ba 100644 --- a/Spigot-Server-Patches/0372-Reduce-sync-loads.patch +++ b/Spigot-Server-Patches/0371-Reduce-sync-loads.patch @@ -286,7 +286,7 @@ index 0000000000000000000000000000000000000000..1a68a8012f83bab9e814159c76b8c371 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 032464901e02392df4966c68cce8d06f2bd6b6f8..55feb186e4f3f7985efdf7c4410ed4232e52733e 100644 +index 2c47eaf07a46b068c446fc7c71da4b9dfcf39656..7278e39d7fb47737b783c482f4c74a82ded163f8 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -472,6 +472,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -298,10 +298,10 @@ index 032464901e02392df4966c68cce8d06f2bd6b6f8..55feb186e4f3f7985efdf7c4410ed423 this.serverThreadQueue.awaitTasks(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 67b45b044350c9555eca6c6616966cf2e5d8513d..188517b27f301e33911e3e1c65c1a8f95af631c1 100644 +index 7a392774de7affb344166cc3344b2ebf5468e299..358ea68714fe1352259b158d61a7d1954a2d621b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1066,7 +1066,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1070,7 +1070,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 <= j; ++i1) { for (int j1 = k; j1 <= l; ++j1) { @@ -310,7 +310,7 @@ index 67b45b044350c9555eca6c6616966cf2e5d8513d..188517b27f301e33911e3e1c65c1a8f9 if (chunk != null) { chunk.a(entity, axisalignedbb, list, predicate); -@@ -1087,7 +1087,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1091,7 +1091,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -319,7 +319,7 @@ index 67b45b044350c9555eca6c6616966cf2e5d8513d..188517b27f301e33911e3e1c65c1a8f9 if (chunk != null) { chunk.a(entitytypes, axisalignedbb, list, predicate); -@@ -1110,7 +1110,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1114,7 +1114,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -329,10 +329,10 @@ index 67b45b044350c9555eca6c6616966cf2e5d8513d..188517b27f301e33911e3e1c65c1a8f9 if (chunk != null) { chunk.a(oclass, axisalignedbb, list, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 86c8ce3f8c76250d401d16dbb3234f1fcfee2723..d45fb3b7303d4019a02a97baa5672e7a855af359 100644 +index 6962e258446d7096accad7ec581fbbd57f020986..1325d88b9ebd9128c5f737683cddeb0cce6166c7 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -166,6 +166,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -170,6 +170,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { }; public final com.destroystokyo.paper.io.chunk.ChunkTaskManager asyncChunkTaskManager; // Paper end diff --git a/Spigot-Server-Patches/0373-Implement-alternative-item-despawn-rate.patch b/Spigot-Server-Patches/0372-Implement-alternative-item-despawn-rate.patch similarity index 96% rename from Spigot-Server-Patches/0373-Implement-alternative-item-despawn-rate.patch rename to Spigot-Server-Patches/0372-Implement-alternative-item-despawn-rate.patch index fb75c8735..8d42dd2a2 100644 --- a/Spigot-Server-Patches/0373-Implement-alternative-item-despawn-rate.patch +++ b/Spigot-Server-Patches/0372-Implement-alternative-item-despawn-rate.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement alternative item-despawn-rate diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 602e8f575cbafc5dbebd4916f1e19581e661f0d1..c534762f45eb502ec721ae28e03e55b724904c52 100644 +index a24bace235f72e15af84f6d64a1c7fa4334a57c0..53ededbb615ec608e91ee87f46301a3c2964a7a3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -1,10 +1,15 @@ @@ -78,7 +78,7 @@ index 602e8f575cbafc5dbebd4916f1e19581e661f0d1..c534762f45eb502ec721ae28e03e55b7 + } } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 43654872d30fac44d3aeda0d4ab190c8bdfed0b8..574e2cce9b821e36bd0efee6d5fb79dde36246cb 100644 +index 765eb57ae017acf6cc800f86d0160ca5e3b7b230..b832c8df8ee08d7e00c5d7763baa51ff37259880 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -6,6 +6,7 @@ import java.util.Objects; diff --git a/Spigot-Server-Patches/0374-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch b/Spigot-Server-Patches/0373-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch similarity index 96% rename from Spigot-Server-Patches/0374-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch rename to Spigot-Server-Patches/0373-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch index 60e38752c..eb6e4b0a1 100644 --- a/Spigot-Server-Patches/0374-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch +++ b/Spigot-Server-Patches/0373-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch @@ -7,7 +7,7 @@ If the Bukkit generator already has a spawn, use it immediately instead of spending time generating one that we won't use diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fa73b2c9c3b837e92826755f6cf1103eda24aba3..b47b9d0acef5de86ff31a5db9bb82dd41b586e0b 100644 +index 23d700d055b0c80a412be349ed1c877792187eb8..62b28103f26377a71c61d9282ac65de05286adca 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -509,12 +509,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/Spigot-Server-Patches/0377-Prevent-consuming-the-wrong-itemstack.patch b/Spigot-Server-Patches/0376-Prevent-consuming-the-wrong-itemstack.patch similarity index 95% rename from Spigot-Server-Patches/0377-Prevent-consuming-the-wrong-itemstack.patch rename to Spigot-Server-Patches/0376-Prevent-consuming-the-wrong-itemstack.patch index f7c931341..ff21d1729 100644 --- a/Spigot-Server-Patches/0377-Prevent-consuming-the-wrong-itemstack.patch +++ b/Spigot-Server-Patches/0376-Prevent-consuming-the-wrong-itemstack.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent consuming the wrong itemstack diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b39b39bff3aa9b079b8972f49b3973c78113bc6e..04b3af834457c4f210122cebc5bff5aa85ad3f47 100644 +index e6f91f875a063a2438ddce3aee1f0a92abe4d11a..072fa0ba13bbad5a045cb7fd296fcca160718c8c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3089,10 +3089,13 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0378-Fix-nether-portal-creation.patch b/Spigot-Server-Patches/0377-Fix-nether-portal-creation.patch similarity index 100% rename from Spigot-Server-Patches/0378-Fix-nether-portal-creation.patch rename to Spigot-Server-Patches/0377-Fix-nether-portal-creation.patch diff --git a/Spigot-Server-Patches/0379-Generator-Settings.patch b/Spigot-Server-Patches/0378-Generator-Settings.patch similarity index 98% rename from Spigot-Server-Patches/0379-Generator-Settings.patch rename to Spigot-Server-Patches/0378-Generator-Settings.patch index efbc2f5e4..f14fe30c9 100644 --- a/Spigot-Server-Patches/0379-Generator-Settings.patch +++ b/Spigot-Server-Patches/0378-Generator-Settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Generator Settings diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 91e78bfedf3e4fa1ee39b8dc7f7c5af8492da160..802102dc716e99eaa3cc061995498e7cbe4e4f89 100644 +index 5479c544ed43bf4e3d04626d5a1ff3c3084f9d4e..c6df5b21a6c1563a2b1150837baac33213a33ad0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -558,4 +558,9 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0380-Fix-MC-161754.patch b/Spigot-Server-Patches/0379-Fix-MC-161754.patch similarity index 100% rename from Spigot-Server-Patches/0380-Fix-MC-161754.patch rename to Spigot-Server-Patches/0379-Fix-MC-161754.patch diff --git a/Spigot-Server-Patches/0381-Performance-improvement-for-Chunk.getEntities.patch b/Spigot-Server-Patches/0380-Performance-improvement-for-Chunk.getEntities.patch similarity index 100% rename from Spigot-Server-Patches/0381-Performance-improvement-for-Chunk.getEntities.patch rename to Spigot-Server-Patches/0380-Performance-improvement-for-Chunk.getEntities.patch diff --git a/Spigot-Server-Patches/0382-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/Spigot-Server-Patches/0381-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch similarity index 100% rename from Spigot-Server-Patches/0382-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch rename to Spigot-Server-Patches/0381-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch diff --git a/Spigot-Server-Patches/0383-Expose-the-internal-current-tick.patch b/Spigot-Server-Patches/0382-Expose-the-internal-current-tick.patch similarity index 100% rename from Spigot-Server-Patches/0383-Expose-the-internal-current-tick.patch rename to Spigot-Server-Patches/0382-Expose-the-internal-current-tick.patch diff --git a/Spigot-Server-Patches/0384-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch b/Spigot-Server-Patches/0383-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch similarity index 90% rename from Spigot-Server-Patches/0384-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch rename to Spigot-Server-Patches/0383-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch index ccb6d7fcc..a6b4675a6 100644 --- a/Spigot-Server-Patches/0384-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch +++ b/Spigot-Server-Patches/0383-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in sneak when changing worlds (MC-10657) diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 18c0957ee66a9c806f4a10fcde582aa43142132e..05723df2e94e40e0e23f9a180068455a4f4722b6 100644 +index bb79467c6bb0ed44057802dde6cd40fa81c8d4fd..ee53d2cf4cf893911d851a3a011861b020799ba3 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -943,6 +943,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -946,6 +946,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.lastHealthSent = -1.0F; this.lastFoodSent = -1; diff --git a/Spigot-Server-Patches/0385-Add-option-to-disable-pillager-patrols.patch b/Spigot-Server-Patches/0384-Add-option-to-disable-pillager-patrols.patch similarity index 94% rename from Spigot-Server-Patches/0385-Add-option-to-disable-pillager-patrols.patch rename to Spigot-Server-Patches/0384-Add-option-to-disable-pillager-patrols.patch index 0ae1273b3..4882a56b8 100644 --- a/Spigot-Server-Patches/0385-Add-option-to-disable-pillager-patrols.patch +++ b/Spigot-Server-Patches/0384-Add-option-to-disable-pillager-patrols.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable pillager patrols diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 802102dc716e99eaa3cc061995498e7cbe4e4f89..e654d215722e795027dbc504ef3c45ae94341bd3 100644 +index c6df5b21a6c1563a2b1150837baac33213a33ad0..1977df762aa8ce317e5a2b8abd5f0e8fea54fba6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -563,4 +563,9 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0386-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch b/Spigot-Server-Patches/0385-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch similarity index 87% rename from Spigot-Server-Patches/0386-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch rename to Spigot-Server-Patches/0385-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch index b5034ab70..65ec64bbb 100644 --- a/Spigot-Server-Patches/0386-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch +++ b/Spigot-Server-Patches/0385-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch @@ -7,7 +7,7 @@ Fixes an AssertionError when setting the player's item in hand to null or a new Fixes GH-2718 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 04b3af834457c4f210122cebc5bff5aa85ad3f47..ae3443aef2040fd2d3d214617c1b899309d127b7 100644 +index 072fa0ba13bbad5a045cb7fd296fcca160718c8c..65187e7ce1e0ba32cc4a7547e570588cad0d22b8 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2049,6 +2049,7 @@ public abstract class EntityLiving extends Entity { @@ -19,10 +19,10 @@ index 04b3af834457c4f210122cebc5bff5aa85ad3f47..ae3443aef2040fd2d3d214617c1b8993 if (enumhand == EnumHand.MAIN_HAND) { return this.getEquipment(EnumItemSlot.MAINHAND); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 342d519ad8df0c781b592af0c39c0b8043607474..7dc2c389fba46867807d76f75fea9fd7264d82e3 100644 +index 6cc86e36d6a5795b90e40c90526c8c93844a0942..1d0345f904de6061e5cfee3ab7c2dbfd94e3fa9e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1473,6 +1473,10 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1547,6 +1547,10 @@ public class PlayerConnection implements PacketListenerPlayIn { this.player.getBukkitEntity().updateInventory(); // SPIGOT-2524 return; } diff --git a/Spigot-Server-Patches/0387-PlayerLaunchProjectileEvent.patch b/Spigot-Server-Patches/0386-PlayerLaunchProjectileEvent.patch similarity index 100% rename from Spigot-Server-Patches/0387-PlayerLaunchProjectileEvent.patch rename to Spigot-Server-Patches/0386-PlayerLaunchProjectileEvent.patch diff --git a/Spigot-Server-Patches/0388-Add-CraftMagicNumbers.isSupportedApiVersion.patch b/Spigot-Server-Patches/0387-Add-CraftMagicNumbers.isSupportedApiVersion.patch similarity index 90% rename from Spigot-Server-Patches/0388-Add-CraftMagicNumbers.isSupportedApiVersion.patch rename to Spigot-Server-Patches/0387-Add-CraftMagicNumbers.isSupportedApiVersion.patch index 573c61ddb..c8668c93d 100644 --- a/Spigot-Server-Patches/0388-Add-CraftMagicNumbers.isSupportedApiVersion.patch +++ b/Spigot-Server-Patches/0387-Add-CraftMagicNumbers.isSupportedApiVersion.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add CraftMagicNumbers.isSupportedApiVersion() diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 185a0600e655f0ae85d22c438e9beb398cb12896..c2650f3cc597620b1cbddce3f60614936e9bb62c 100644 +index e1a8a4fdcc74dcd40b5230e84d56e97d4706ae36..8e0da1d1441a5065a64c64d5cc4dcc0d275fcf76 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -348,6 +348,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/Spigot-Server-Patches/0389-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch b/Spigot-Server-Patches/0388-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch similarity index 100% rename from Spigot-Server-Patches/0389-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch rename to Spigot-Server-Patches/0388-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch diff --git a/Spigot-Server-Patches/0390-MC-145656-Fix-Follow-Range-Initial-Target.patch b/Spigot-Server-Patches/0389-MC-145656-Fix-Follow-Range-Initial-Target.patch similarity index 97% rename from Spigot-Server-Patches/0390-MC-145656-Fix-Follow-Range-Initial-Target.patch rename to Spigot-Server-Patches/0389-MC-145656-Fix-Follow-Range-Initial-Target.patch index 98e2bbebd..d7ca5d2d7 100644 --- a/Spigot-Server-Patches/0390-MC-145656-Fix-Follow-Range-Initial-Target.patch +++ b/Spigot-Server-Patches/0389-MC-145656-Fix-Follow-Range-Initial-Target.patch @@ -5,7 +5,7 @@ Subject: [PATCH] MC-145656 Fix Follow Range Initial Target diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index e654d215722e795027dbc504ef3c45ae94341bd3..b79cd5945504a13f64f91e617099dea6f6893966 100644 +index 1977df762aa8ce317e5a2b8abd5f0e8fea54fba6..d2c66aeb45f87091d5b521af811fc8cb741456df 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -568,4 +568,9 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0391-Optimize-Hoppers.patch b/Spigot-Server-Patches/0390-Optimize-Hoppers.patch similarity index 97% rename from Spigot-Server-Patches/0391-Optimize-Hoppers.patch rename to Spigot-Server-Patches/0390-Optimize-Hoppers.patch index c15bbf9ec..e01c285de 100644 --- a/Spigot-Server-Patches/0391-Optimize-Hoppers.patch +++ b/Spigot-Server-Patches/0390-Optimize-Hoppers.patch @@ -13,7 +13,7 @@ Subject: [PATCH] Optimize Hoppers * Remove Streams from Item Suck In and restore restore 1.12 AABB checks which is simpler and no voxel allocations (was doing TWO Item Suck ins) diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b79cd5945504a13f64f91e617099dea6f6893966..05a6d3a63e7b52515f788dda3af86750eaadaa65 100644 +index d2c66aeb45f87091d5b521af811fc8cb741456df..16026c35d0433a5adb72a9eba91d0ebb39fc1c19 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -573,4 +573,13 @@ public class PaperWorldConfig { @@ -73,7 +73,7 @@ index 63aa474c73f506737cb5de31977bffcd17d4dc11..b6703378e21a6cd7e140fd35756a20d4 itemstack.d(this.D()); if (this.tag != null) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b47b9d0acef5de86ff31a5db9bb82dd41b586e0b..b5c27dda45d5403aeabaa837645a8bb656c09eb3 100644 +index 62b28103f26377a71c61d9282ac65de05286adca..63b0cc9d355d0a8e578514cc14ffe7729023c22c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1245,6 +1245,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return worldserver + " " + worldserver.getDimensionKey().a(); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 338cf8c896a6fc869eb9c54d39ad5713f6fcc377..d32540c88bb902e9c191142a2b75a05b63218e52 100644 +index 34d92491830c99172bec5251fa80300b6315e5ef..58d958a88ac5af5b889d719d9f1ea90ce45cf184 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -63,6 +63,7 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -459,10 +459,10 @@ index 4398f452c52182694c5e2c0945fe70ca32cb0dfd..d432de40eba2767f4ced4d9c642c9d20 if (!list.isEmpty()) { diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java -index c6e6c54a3eb5d725b71f2ec2bb27dd8e2aceabde..c79ebe2343cc14f113c0cc6496c20e7d7bf6fd32 100644 +index d9be182a574daaedcc7a106c759c2bde2e4eb19a..c6df2318762dc6542e73f18ed9a3172ee31d96ee 100644 --- a/src/main/java/net/minecraft/server/TileEntityLootable.java +++ b/src/main/java/net/minecraft/server/TileEntityLootable.java -@@ -77,12 +77,19 @@ public abstract class TileEntityLootable extends TileEntityContainer { +@@ -78,12 +78,19 @@ public abstract class TileEntityLootable extends TileEntityContainer { @Override public boolean isEmpty() { this.d((EntityHuman) null); @@ -485,10 +485,10 @@ index c6e6c54a3eb5d725b71f2ec2bb27dd8e2aceabde..c79ebe2343cc14f113c0cc6496c20e7d } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 188517b27f301e33911e3e1c65c1a8f95af631c1..2477912af13545cdd2b2ec397cbe7c93d895be9b 100644 +index 358ea68714fe1352259b158d61a7d1954a2d621b..f74a062f89a58942ce821f25dec2da46c31bb2a8 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1098,8 +1098,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1102,8 +1102,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return list; } diff --git a/Spigot-Server-Patches/0392-PlayerDeathEvent-shouldDropExperience.patch b/Spigot-Server-Patches/0391-PlayerDeathEvent-shouldDropExperience.patch similarity index 82% rename from Spigot-Server-Patches/0392-PlayerDeathEvent-shouldDropExperience.patch rename to Spigot-Server-Patches/0391-PlayerDeathEvent-shouldDropExperience.patch index 99cb7bdb1..738aadd99 100644 --- a/Spigot-Server-Patches/0392-PlayerDeathEvent-shouldDropExperience.patch +++ b/Spigot-Server-Patches/0391-PlayerDeathEvent-shouldDropExperience.patch @@ -5,11 +5,11 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 05723df2e94e40e0e23f9a180068455a4f4722b6..d9e45d0dfb4be8b39161b626400e9551643d7f2f 100644 +index ee53d2cf4cf893911d851a3a011861b020799ba3..d1be6ef1a04c8bc98929421e73c0712086f147d5 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -692,7 +692,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - this.eV(); +@@ -695,7 +695,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + this.eW(); } // SPIGOT-5478 must be called manually now - this.dropExperience(); diff --git a/Spigot-Server-Patches/0393-Prevent-bees-loading-chunks-checking-hive-position.patch b/Spigot-Server-Patches/0392-Prevent-bees-loading-chunks-checking-hive-position.patch similarity index 91% rename from Spigot-Server-Patches/0393-Prevent-bees-loading-chunks-checking-hive-position.patch rename to Spigot-Server-Patches/0392-Prevent-bees-loading-chunks-checking-hive-position.patch index 888eb6119..f3e453be4 100644 --- a/Spigot-Server-Patches/0393-Prevent-bees-loading-chunks-checking-hive-position.patch +++ b/Spigot-Server-Patches/0392-Prevent-bees-loading-chunks-checking-hive-position.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent bees loading chunks checking hive position diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java -index 20cd37c1d5a069a35b586ec57c8d8e6e3859fbf2..5ccb537a7560b585a4f6e1c513b8b173ac521032 100644 +index 0cf22e90fe0fdb4079e0ad74e5c3edfa82af4f9e..882c430f645a1addb24f83bc5f592cbe19daade8 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -368,6 +368,7 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB diff --git a/Spigot-Server-Patches/0394-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/Spigot-Server-Patches/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch similarity index 100% rename from Spigot-Server-Patches/0394-Don-t-load-Chunks-from-Hoppers-and-other-things.patch rename to Spigot-Server-Patches/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch diff --git a/Spigot-Server-Patches/0395-Guard-against-serializing-mismatching-chunk-coordina.patch b/Spigot-Server-Patches/0394-Guard-against-serializing-mismatching-chunk-coordina.patch similarity index 97% rename from Spigot-Server-Patches/0395-Guard-against-serializing-mismatching-chunk-coordina.patch rename to Spigot-Server-Patches/0394-Guard-against-serializing-mismatching-chunk-coordina.patch index 0d1282ca1..539336faa 100644 --- a/Spigot-Server-Patches/0395-Guard-against-serializing-mismatching-chunk-coordina.patch +++ b/Spigot-Server-Patches/0394-Guard-against-serializing-mismatching-chunk-coordina.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Guard against serializing mismatching chunk coordinate Should help if something dumb happens diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 61aef3c14dff6bda603175883f9cb1b9a2c82428..937bd0daf84f6b5f382dea73e20f2fd6ad903000 100644 +index b09d9436d17159edd6733ab4856be44578353e3e..20388f4305957a83a678119dcda0249105125ab1 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -24,6 +24,13 @@ public class ChunkRegionLoader { diff --git a/Spigot-Server-Patches/0396-Optimise-IEntityAccess-getPlayerByUUID.patch b/Spigot-Server-Patches/0395-Optimise-IEntityAccess-getPlayerByUUID.patch similarity index 89% rename from Spigot-Server-Patches/0396-Optimise-IEntityAccess-getPlayerByUUID.patch rename to Spigot-Server-Patches/0395-Optimise-IEntityAccess-getPlayerByUUID.patch index 427e14761..1229bb7e2 100644 --- a/Spigot-Server-Patches/0396-Optimise-IEntityAccess-getPlayerByUUID.patch +++ b/Spigot-Server-Patches/0395-Optimise-IEntityAccess-getPlayerByUUID.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimise IEntityAccess#getPlayerByUUID Use the world entity map instead of iterating over all players diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java -index b6cf294e785b36b8bc800f26dbb8cfcb2119eae1..1cb8ba7cd28cdb8a660c2d78d35e86cd5cf08a8f 100644 +index 14400d0e4b0713e852861ed55e289e4dead95cea..07dbdd560909c8ef64740d82f02bae3d67119ab9 100644 --- a/src/main/java/net/minecraft/server/IEntityAccess.java +++ b/src/main/java/net/minecraft/server/IEntityAccess.java @@ -243,6 +243,12 @@ public interface IEntityAccess { @@ -23,10 +23,10 @@ index b6cf294e785b36b8bc800f26dbb8cfcb2119eae1..1cb8ba7cd28cdb8a660c2d78d35e86cd EntityHuman entityhuman = (EntityHuman) this.getPlayers().get(i); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d45fb3b7303d4019a02a97baa5672e7a855af359..476d241f85718ee878610c99a9ae5324aff67865 100644 +index 1325d88b9ebd9128c5f737683cddeb0cce6166c7..f79f04cd4d0c1f3518cbd08960206b06f9b819f6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -173,6 +173,15 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -177,6 +177,15 @@ public class WorldServer extends World implements GeneratorAccessSeed { } // Paper end diff --git a/Spigot-Server-Patches/0397-Fix-items-not-falling-correctly.patch b/Spigot-Server-Patches/0396-Fix-items-not-falling-correctly.patch similarity index 93% rename from Spigot-Server-Patches/0397-Fix-items-not-falling-correctly.patch rename to Spigot-Server-Patches/0396-Fix-items-not-falling-correctly.patch index fb50da6b9..a70aa5d2c 100644 --- a/Spigot-Server-Patches/0397-Fix-items-not-falling-correctly.patch +++ b/Spigot-Server-Patches/0396-Fix-items-not-falling-correctly.patch @@ -15,7 +15,7 @@ This patch resolves the conflict by offsetting checking an item's move method from Spigot's entity activation range check. diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 574e2cce9b821e36bd0efee6d5fb79dde36246cb..bc4f84c8857aab45a69c915104de8d70b758698c 100644 +index b832c8df8ee08d7e00c5d7763baa51ff37259880..ba73d14437cfdf07ef0f1f6266131c113c2741fd 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -89,7 +89,7 @@ public class EntityItem extends Entity { diff --git a/Spigot-Server-Patches/0398-Lag-compensate-eating.patch b/Spigot-Server-Patches/0397-Lag-compensate-eating.patch similarity index 97% rename from Spigot-Server-Patches/0398-Lag-compensate-eating.patch rename to Spigot-Server-Patches/0397-Lag-compensate-eating.patch index 767f80384..b0ef30215 100644 --- a/Spigot-Server-Patches/0398-Lag-compensate-eating.patch +++ b/Spigot-Server-Patches/0397-Lag-compensate-eating.patch @@ -7,7 +7,7 @@ When the server is lagging, players will wait longer when eating. Change to also use a time check instead if it passes. diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ae3443aef2040fd2d3d214617c1b899309d127b7..65a3123b9c623d0a19868ba3dd6456a98c8915ad 100644 +index 65187e7ce1e0ba32cc4a7547e570588cad0d22b8..f997cda883038edaed55f886fa43ee9053bde888 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -120,7 +120,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0399-Optimize-call-to-getFluid-for-explosions.patch b/Spigot-Server-Patches/0398-Optimize-call-to-getFluid-for-explosions.patch similarity index 91% rename from Spigot-Server-Patches/0399-Optimize-call-to-getFluid-for-explosions.patch rename to Spigot-Server-Patches/0398-Optimize-call-to-getFluid-for-explosions.patch index 1c0d4d9da..90307d7fa 100644 --- a/Spigot-Server-Patches/0399-Optimize-call-to-getFluid-for-explosions.patch +++ b/Spigot-Server-Patches/0398-Optimize-call-to-getFluid-for-explosions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize call to getFluid for explosions diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index b7d635ca2cbe9bf7e2e3a2ae5fa7a20f39dd913b..9823fb5eebbfee026d3173c81368cf6e3e901f92 100644 +index 471b48a52d564cb4989d211188f5c5b561ac7827..a552cc5bebb1a70db2e679a514769d0ad791ad68 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -125,7 +125,7 @@ public class Explosion { diff --git a/Spigot-Server-Patches/0400-Fix-last-firework-in-stack-not-having-effects-when-d.patch b/Spigot-Server-Patches/0399-Fix-last-firework-in-stack-not-having-effects-when-d.patch similarity index 100% rename from Spigot-Server-Patches/0400-Fix-last-firework-in-stack-not-having-effects-when-d.patch rename to Spigot-Server-Patches/0399-Fix-last-firework-in-stack-not-having-effects-when-d.patch diff --git a/Spigot-Server-Patches/0401-Add-effect-to-block-break-naturally.patch b/Spigot-Server-Patches/0400-Add-effect-to-block-break-naturally.patch similarity index 100% rename from Spigot-Server-Patches/0401-Add-effect-to-block-break-naturally.patch rename to Spigot-Server-Patches/0400-Add-effect-to-block-break-naturally.patch diff --git a/Spigot-Server-Patches/0402-Tracking-Range-Improvements.patch b/Spigot-Server-Patches/0401-Tracking-Range-Improvements.patch similarity index 100% rename from Spigot-Server-Patches/0402-Tracking-Range-Improvements.patch rename to Spigot-Server-Patches/0401-Tracking-Range-Improvements.patch diff --git a/Spigot-Server-Patches/0403-Entity-Activation-Range-2.0.patch b/Spigot-Server-Patches/0402-Entity-Activation-Range-2.0.patch similarity index 96% rename from Spigot-Server-Patches/0403-Entity-Activation-Range-2.0.patch rename to Spigot-Server-Patches/0402-Entity-Activation-Range-2.0.patch index 9173db1cd..8fc14929e 100644 --- a/Spigot-Server-Patches/0403-Entity-Activation-Range-2.0.patch +++ b/Spigot-Server-Patches/0402-Entity-Activation-Range-2.0.patch @@ -14,7 +14,7 @@ Adds flying monsters to control ghast and phantoms Adds villagers as separate config diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a1507eda803f15980dcd1aa8d5ec66dbe355736b..3e05079cbf7693045d9e8d9acba79de757d913ac 100644 +index ba18da7b9d069b1d553c2ae8838296351e3358aa..1fa7b82685a5e55d57d78abd5151f20e20178646 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -163,7 +163,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -34,7 +34,7 @@ index a1507eda803f15980dcd1aa8d5ec66dbe355736b..3e05079cbf7693045d9e8d9acba79de7 public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one protected int numCollisions = 0; // Paper public void inactiveTick() { } -@@ -576,6 +577,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -577,6 +578,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.recalcPosition(); } else { if (enummovetype == EnumMoveType.PISTON) { @@ -42,7 +42,7 @@ index a1507eda803f15980dcd1aa8d5ec66dbe355736b..3e05079cbf7693045d9e8d9acba79de7 vec3d = this.b(vec3d); if (vec3d.equals(Vec3D.ORIGIN)) { return; -@@ -588,6 +590,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -589,6 +591,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.x = Vec3D.ORIGIN; this.setMot(Vec3D.ORIGIN); } @@ -56,7 +56,7 @@ index a1507eda803f15980dcd1aa8d5ec66dbe355736b..3e05079cbf7693045d9e8d9acba79de7 vec3d = this.a(vec3d, enummovetype); Vec3D vec3d1 = this.g(vec3d); -@@ -1918,6 +1927,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1919,6 +1928,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } } @@ -64,12 +64,12 @@ index a1507eda803f15980dcd1aa8d5ec66dbe355736b..3e05079cbf7693045d9e8d9acba79de7 public void k(Entity entity) { this.a(entity, Entity::setPosition); } -@@ -2722,6 +2732,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2723,6 +2733,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.ae; } -+ public final boolean isPushedByWater() { return this.bU(); } // Paper - OBFHELPER - the below is not an obfhelper, don't use it! - public boolean bU() { ++ public final boolean isPushedByWater() { return this.bV(); } // Paper - OBFHELPER - the below is not an obfhelper, don't use it! + public boolean bV() { // Paper start return this.pushedByWater(); diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java @@ -85,7 +85,7 @@ index 68f1a101174f4a2f7ab5556a5b733f75f3a7802f..4757e5a92c9cf04fa52d62bac6dae782 protected EntityCreature(EntityTypes entitytypes, World world) { super(entitytypes, world); diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 033a6c50dff9e5e5706f9e7ab8b95ea7bc37d5dd..04eff01825bcf4cc38a749902065a5f54e73f1d7 100644 +index d91503b3e46c6ded3d77da4feeb8350df5bf924c..7ddf276732a58c998c733aaaeee3e1bfc614ea0a 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -47,7 +47,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -116,7 +116,7 @@ index 033a6c50dff9e5e5706f9e7ab8b95ea7bc37d5dd..04eff01825bcf4cc38a749902065a5f5 if (this.isPassenger() && this.getVehicle() instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) this.getVehicle(); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 65a3123b9c623d0a19868ba3dd6456a98c8915ad..725c10f7bd8fab17044d3bbf4ac97d6a09a2dabe 100644 +index f997cda883038edaed55f886fa43ee9053bde888..fe88548ff1e63c5c43351dd0dd3bf383cb985409 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -98,7 +98,7 @@ public abstract class EntityLiving extends Entity { @@ -129,7 +129,7 @@ index 65a3123b9c623d0a19868ba3dd6456a98c8915ad..725c10f7bd8fab17044d3bbf4ac97d6a public float aS; public float aT; diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index 4248fbf021c8c99060a7cb3ca2ea1588c124e937..d4175f2dad57b19a2420ee4c2d1343aaf2d2740e 100644 +index 65cbe073da6a035f1ac539908a3fa8dbf0f42808..d9e1b43283bee15c659dd3a99e45d9412aedd0bc 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -404,6 +404,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -141,7 +141,7 @@ index 4248fbf021c8c99060a7cb3ca2ea1588c124e937..d4175f2dad57b19a2420ee4c2d1343aa return this.bB != null; } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index ea7fff8ff9922e038f71e887072c567cded10973..3db74ab8d722b38bcae008ea2e02778fbac31471 100644 +index 732323ee1de01929c73bc5f98444c0f68f908a67..2ed6af09e97a087ffdd5e014564d9b49bda51b77 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -144,17 +144,29 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -204,7 +204,7 @@ index ea7fff8ff9922e038f71e887072c567cded10973..3db74ab8d722b38bcae008ea2e02778f long i = this.world.getTime(); diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java -index 8b6b5d921443d07bfb3bbccb2a549d5386006edb..68fd780bc76ecf3c463f38c137fd8d4f036cdcbd 100644 +index ed73f74e4de4b9d737819d7fda213421801e9c54..74ca39067e7538eac5d70031564d0508846204a5 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java +++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java @@ -44,10 +44,12 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP @@ -334,7 +334,7 @@ index 182cd7e9110408fff9909ef362d368d055a2b167..f3df10587e652d3a26d15deb09304b97 return this.c; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2477912af13545cdd2b2ec397cbe7c93d895be9b..768a05cd8d3ce025feca12593bb0844de1f481f7 100644 +index f74a062f89a58942ce821f25dec2da46c31bb2a8..f229fb7409e509878af1dca1ecda058f85a94776 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -82,6 +82,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -351,10 +351,10 @@ index 2477912af13545cdd2b2ec397cbe7c93d895be9b..768a05cd8d3ce025feca12593bb0844d public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 476d241f85718ee878610c99a9ae5324aff67865..aae718d54361ea2b2bbd0bb39169b8a3ed3f7ad4 100644 +index f79f04cd4d0c1f3518cbd08960206b06f9b819f6..7048f1e79380f2d36c944a125eea139a96cd91c9 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -743,17 +743,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -747,17 +747,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { ++TimingHistory.entityTicks; // Paper - timings // Spigot start co.aikar.timings.Timing timer; // Paper @@ -376,7 +376,7 @@ index 476d241f85718ee878610c99a9ae5324aff67865..aae718d54361ea2b2bbd0bb39169b8a3 try { // Paper end - timings entity.g(entity.locX(), entity.locY(), entity.locZ()); -@@ -767,12 +767,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -771,12 +771,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { return IRegistry.ENTITY_TYPE.getKey(entity.getEntityType()).toString(); }); gameprofilerfiller.c("tickNonPassenger"); @@ -393,7 +393,7 @@ index 476d241f85718ee878610c99a9ae5324aff67865..aae718d54361ea2b2bbd0bb39169b8a3 if (entity.inChunk) { Iterator iterator = entity.getPassengers().iterator(); -@@ -782,7 +786,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -786,7 +790,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.a(entity, entity1); } } @@ -402,7 +402,7 @@ index 476d241f85718ee878610c99a9ae5324aff67865..aae718d54361ea2b2bbd0bb39169b8a3 } } -@@ -790,6 +794,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -794,6 +798,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { public void a(Entity entity, Entity entity1) { if (!entity1.dead && entity1.getVehicle() == entity) { if (entity1 instanceof EntityHuman || this.getChunkProvider().a(entity1)) { @@ -414,7 +414,7 @@ index 476d241f85718ee878610c99a9ae5324aff67865..aae718d54361ea2b2bbd0bb39169b8a3 entity1.g(entity1.locX(), entity1.locY(), entity1.locZ()); entity1.lastYaw = entity1.yaw; entity1.lastPitch = entity1.pitch; -@@ -801,7 +810,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -805,7 +814,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { return IRegistry.ENTITY_TYPE.getKey(entity1.getEntityType()).toString(); }); gameprofilerfiller.c("tickPassenger"); @@ -431,7 +431,7 @@ index 476d241f85718ee878610c99a9ae5324aff67865..aae718d54361ea2b2bbd0bb39169b8a3 gameprofilerfiller.exit(); } -@@ -814,7 +832,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -818,7 +836,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.a(entity1, entity2); } diff --git a/Spigot-Server-Patches/0404-Fix-items-vanishing-through-end-portal.patch b/Spigot-Server-Patches/0403-Fix-items-vanishing-through-end-portal.patch similarity index 89% rename from Spigot-Server-Patches/0404-Fix-items-vanishing-through-end-portal.patch rename to Spigot-Server-Patches/0403-Fix-items-vanishing-through-end-portal.patch index a86cc6913..71914c487 100644 --- a/Spigot-Server-Patches/0404-Fix-items-vanishing-through-end-portal.patch +++ b/Spigot-Server-Patches/0403-Fix-items-vanishing-through-end-portal.patch @@ -13,10 +13,10 @@ Quickly loading the exact world spawn chunk before searching the heightmap resolves the issue without having to load all spawn chunks. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3e05079cbf7693045d9e8d9acba79de757d913ac..5138e2dfc4f3bd33741d8c254a1839dbf9b0177f 100644 +index 1fa7b82685a5e55d57d78abd5151f20e20178646..240675705fe52af6326b78ce0e3bf8ec0e8b50e1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2634,6 +2634,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2635,6 +2635,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke BlockPosition blockposition1; if (flag1) { diff --git a/Spigot-Server-Patches/0405-Bees-get-gravity-in-void.-Fixes-MC-167279.patch b/Spigot-Server-Patches/0404-Bees-get-gravity-in-void.-Fixes-MC-167279.patch similarity index 96% rename from Spigot-Server-Patches/0405-Bees-get-gravity-in-void.-Fixes-MC-167279.patch rename to Spigot-Server-Patches/0404-Bees-get-gravity-in-void.-Fixes-MC-167279.patch index 11ca5d9e1..a2cd4166f 100644 --- a/Spigot-Server-Patches/0405-Bees-get-gravity-in-void.-Fixes-MC-167279.patch +++ b/Spigot-Server-Patches/0404-Bees-get-gravity-in-void.-Fixes-MC-167279.patch @@ -31,7 +31,7 @@ index 2778cb9069ef3ba4049a9a3dc7c788cd50f98c28..2b1db4bf21f7341dbdf27673e123936d this.h = ControllerMove.Operation.WAIT; this.a.setNoGravity(true); diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java -index 5ccb537a7560b585a4f6e1c513b8b173ac521032..0f44cbd3ce6e57f9693cd23b10d487e06aa62eeb 100644 +index 882c430f645a1addb24f83bc5f592cbe19daade8..c14e07f3c3017e5a5355b1770b94ee4dcc8cc017 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -37,7 +37,17 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB diff --git a/Spigot-Server-Patches/0406-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/Spigot-Server-Patches/0405-Optimise-getChunkAt-calls-for-loaded-chunks.patch similarity index 96% rename from Spigot-Server-Patches/0406-Optimise-getChunkAt-calls-for-loaded-chunks.patch rename to Spigot-Server-Patches/0405-Optimise-getChunkAt-calls-for-loaded-chunks.patch index 1030e2dac..da074c6d5 100644 --- a/Spigot-Server-Patches/0406-Optimise-getChunkAt-calls-for-loaded-chunks.patch +++ b/Spigot-Server-Patches/0405-Optimise-getChunkAt-calls-for-loaded-chunks.patch @@ -7,7 +7,7 @@ bypass the need to get a player chunk, then get the either, then unwrap it... diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index dce9c62c0cf37a37994537b74dfdc2286c60fae2..f7055ee0f2d497502f6a8b03544a55956f49e647 100644 +index 5b60777c63d54b74b3de5a7373f64ba99fb85d61..45a91ab94f40ca9d8c469e468c6b66952babcf11 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -448,6 +448,12 @@ public class ChunkProviderServer extends IChunkProvider { diff --git a/Spigot-Server-Patches/0407-Allow-overriding-the-java-version-check.patch b/Spigot-Server-Patches/0406-Allow-overriding-the-java-version-check.patch similarity index 90% rename from Spigot-Server-Patches/0407-Allow-overriding-the-java-version-check.patch rename to Spigot-Server-Patches/0406-Allow-overriding-the-java-version-check.patch index 56bfb800e..c18f900cf 100644 --- a/Spigot-Server-Patches/0407-Allow-overriding-the-java-version-check.patch +++ b/Spigot-Server-Patches/0406-Allow-overriding-the-java-version-check.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow overriding the java version check -DPaper.IgnoreJavaVersion=true diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index ba949818493369c02d06d33d77a992c8ee8f457f..2befc5904249abb0461bac3305186de728d5b81d 100644 +index ac60ed4396b67838ded7c775ca1115eba40d318b..0176b72d8a1b54e57a462272dac16d3416fa7cd8 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -175,7 +175,7 @@ public class Main { diff --git a/Spigot-Server-Patches/0408-Add-ThrownEggHatchEvent.patch b/Spigot-Server-Patches/0407-Add-ThrownEggHatchEvent.patch similarity index 100% rename from Spigot-Server-Patches/0408-Add-ThrownEggHatchEvent.patch rename to Spigot-Server-Patches/0407-Add-ThrownEggHatchEvent.patch diff --git a/Spigot-Server-Patches/0409-Optimise-random-block-ticking.patch b/Spigot-Server-Patches/0408-Optimise-random-block-ticking.patch similarity index 96% rename from Spigot-Server-Patches/0409-Optimise-random-block-ticking.patch rename to Spigot-Server-Patches/0408-Optimise-random-block-ticking.patch index 64bbc0bf2..9604f2ded 100644 --- a/Spigot-Server-Patches/0409-Optimise-random-block-ticking.patch +++ b/Spigot-Server-Patches/0408-Optimise-random-block-ticking.patch @@ -230,7 +230,7 @@ index ed77117630d54b7ad81f633110c7d2a7c59288e9..95ef96286855624590b72d69514b0fc0 public interface a { diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 2ce40da2a8e28e80b4cb2cb827f45ddd4601d93a..e025eef4761faa946c6bb39e3ab151ac6e3f4557 100644 +index fa8eab20bb839c53bf7989d02d2274f835002609..4ad393bc99881d813e2b349fb929fc8e69631723 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -28,7 +28,7 @@ public class EntityTurtle extends EntityAnimal { @@ -243,10 +243,10 @@ index 2ce40da2a8e28e80b4cb2cb827f45ddd4601d93a..e025eef4761faa946c6bb39e3ab151ac public BlockPosition getHomePos() { // Paper - public diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 768a05cd8d3ce025feca12593bb0844de1f481f7..df7386a8356e7191dfa06b3ab59537c13cc6ff9b 100644 +index f229fb7409e509878af1dca1ecda058f85a94776..c0cf73c57958f5b20cfe8e1f200464274b393447 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1408,10 +1408,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1412,10 +1412,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public abstract ITagRegistry p(); public BlockPosition a(int i, int j, int k, int l) { @@ -267,10 +267,10 @@ index 768a05cd8d3ce025feca12593bb0844de1f481f7..df7386a8356e7191dfa06b3ab59537c1 public boolean isSavingDisabled() { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index aae718d54361ea2b2bbd0bb39169b8a3ed3f7ad4..0682984c234be5955b1414e9cbeab4ad525e7b05 100644 +index 7048f1e79380f2d36c944a125eea139a96cd91c9..a284100a2fac4217f9353fbe7c3d459c23252501 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -557,7 +557,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -561,7 +561,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { }); } @@ -284,20 +284,20 @@ index aae718d54361ea2b2bbd0bb39169b8a3ed3f7ad4..0682984c234be5955b1414e9cbeab4ad ChunkCoordIntPair chunkcoordintpair = chunk.getPos(); boolean flag = this.isRaining(); int j = chunkcoordintpair.d(); -@@ -565,10 +570,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -569,10 +574,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { GameProfilerFiller gameprofilerfiller = this.getMethodProfiler(); gameprofilerfiller.enter("thunder"); - BlockPosition blockposition; + final BlockPosition.MutableBlockPosition blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change - if (!this.paperConfig.disableThunder && flag && this.V() && this.random.nextInt(100000) == 0) { // Paper - Disable thunder + if (!this.paperConfig.disableThunder && flag && this.W() && this.random.nextInt(100000) == 0) { // Paper - Disable thunder - blockposition = this.a(this.a(j, 0, k, 15)); + blockposition.setValues(this.a(this.a(j, 0, k, 15))); // Paper if (this.isRainingAt(blockposition)) { DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition); boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper -@@ -591,59 +596,77 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -595,59 +600,77 @@ public class WorldServer extends World implements GeneratorAccessSeed { } gameprofilerfiller.exitEnter("iceandsnow"); diff --git a/Spigot-Server-Patches/0410-Entity-Jump-API.patch b/Spigot-Server-Patches/0409-Entity-Jump-API.patch similarity index 91% rename from Spigot-Server-Patches/0410-Entity-Jump-API.patch rename to Spigot-Server-Patches/0409-Entity-Jump-API.patch index 80720f6ad..b8e30e183 100644 --- a/Spigot-Server-Patches/0410-Entity-Jump-API.patch +++ b/Spigot-Server-Patches/0409-Entity-Jump-API.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Entity Jump API diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 725c10f7bd8fab17044d3bbf4ac97d6a09a2dabe..65ca413d5887b63a5f563494113b487e0eca1dcc 100644 +index fe88548ff1e63c5c43351dd0dd3bf383cb985409..f92d078ab77fd7386586ac05aea1686273b44ee1 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2764,8 +2764,10 @@ public abstract class EntityLiving extends Entity { - } else if (this.aP() && (!this.onGround || d7 > d8)) { + } else if (this.aQ() && (!this.onGround || d7 > d8)) { this.c((Tag) TagsFluid.LAVA); } else if ((this.onGround || flag && d7 <= d8) && this.jumpTicks == 0) { + if (new com.destroystokyo.paper.event.entity.EntityJumpEvent(getBukkitLivingEntity()).callEvent()) { // Paper @@ -20,7 +20,7 @@ index 725c10f7bd8fab17044d3bbf4ac97d6a09a2dabe..65ca413d5887b63a5f563494113b487e } else { this.jumpTicks = 0; diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java -index ed8c0073f0c938c2ee8ed0dad2afda21a115b67d..01cc3d94d3fe1f82c94abdfcc92b0d3bc26f2fea 100644 +index 7de157388922c4d3ff52866d5c0ac20189a9ccf8..b36cc95168c6e6fbf668ebe15c1fa10b54e570d3 100644 --- a/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java @@ -435,7 +435,9 @@ public class EntityPanda extends EntityAnimal { diff --git a/Spigot-Server-Patches/0411-Add-option-to-nerf-pigmen-from-nether-portals.patch b/Spigot-Server-Patches/0410-Add-option-to-nerf-pigmen-from-nether-portals.patch similarity index 91% rename from Spigot-Server-Patches/0411-Add-option-to-nerf-pigmen-from-nether-portals.patch rename to Spigot-Server-Patches/0410-Add-option-to-nerf-pigmen-from-nether-portals.patch index dc24623e4..7e2ab51ef 100644 --- a/Spigot-Server-Patches/0411-Add-option-to-nerf-pigmen-from-nether-portals.patch +++ b/Spigot-Server-Patches/0410-Add-option-to-nerf-pigmen-from-nether-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 05a6d3a63e7b52515f788dda3af86750eaadaa65..3d3423d3ccf4c92145ae803254ff85b67e3f14bf 100644 +index 16026c35d0433a5adb72a9eba91d0ebb39fc1c19..3a348c7ac4c9f2719b4158d67459699d109186b2 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -582,4 +582,9 @@ public class PaperWorldConfig { @@ -32,7 +32,7 @@ index a224a04ee1bb9705166913ef1c66aa031d87c270..4132cd4c6f13cfa1c0cda43daaa908ff } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5138e2dfc4f3bd33741d8c254a1839dbf9b0177f..eaffc6ee2d677dd69f81a2822049a06ec0325149 100644 +index 240675705fe52af6326b78ce0e3bf8ec0e8b50e1..d728a3aae38c083fe8dfa28a8b8460545e99bcb9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -189,6 +189,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -43,7 +43,7 @@ index 5138e2dfc4f3bd33741d8c254a1839dbf9b0177f..eaffc6ee2d677dd69f81a2822049a06e protected int numCollisions = 0; // Paper public void inactiveTick() { } // Spigot end -@@ -1603,6 +1604,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1604,6 +1605,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (spawnedViaMobSpawner) { nbttagcompound.setBoolean("Paper.FromMobSpawner", true); } @@ -53,7 +53,7 @@ index 5138e2dfc4f3bd33741d8c254a1839dbf9b0177f..eaffc6ee2d677dd69f81a2822049a06e // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -1733,6 +1737,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1734,6 +1738,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } spawnedViaMobSpawner = nbttagcompound.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/Spigot-Server-Patches/0412-Make-the-GUI-graph-fancier.patch b/Spigot-Server-Patches/0411-Make-the-GUI-graph-fancier.patch similarity index 99% rename from Spigot-Server-Patches/0412-Make-the-GUI-graph-fancier.patch rename to Spigot-Server-Patches/0411-Make-the-GUI-graph-fancier.patch index e878ccedc..80bd2da98 100644 --- a/Spigot-Server-Patches/0412-Make-the-GUI-graph-fancier.patch +++ b/Spigot-Server-Patches/0411-Make-the-GUI-graph-fancier.patch @@ -398,7 +398,7 @@ index d4d5bc19e167a5271f8eb8d010f8a52b23b942df..859e31c63f94bdc7729c6d475990750b }); private final int[] b = new int[256]; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b5c27dda45d5403aeabaa837645a8bb656c09eb3..b92daeb1568f562a0910915ffbfadae9e25be0e2 100644 +index 63b0cc9d355d0a8e578514cc14ffe7729023c22c..60b018fb6865a4b73f944cffd79e7d246636360b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -106,7 +106,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant set) { diff --git a/Spigot-Server-Patches/0415-Validate-tripwire-hook-placement-before-update.patch b/Spigot-Server-Patches/0414-Validate-tripwire-hook-placement-before-update.patch similarity index 100% rename from Spigot-Server-Patches/0415-Validate-tripwire-hook-placement-before-update.patch rename to Spigot-Server-Patches/0414-Validate-tripwire-hook-placement-before-update.patch diff --git a/Spigot-Server-Patches/0416-Add-option-to-allow-iron-golems-to-spawn-in-air.patch b/Spigot-Server-Patches/0415-Add-option-to-allow-iron-golems-to-spawn-in-air.patch similarity index 95% rename from Spigot-Server-Patches/0416-Add-option-to-allow-iron-golems-to-spawn-in-air.patch rename to Spigot-Server-Patches/0415-Add-option-to-allow-iron-golems-to-spawn-in-air.patch index ad6486667..a69271c82 100644 --- a/Spigot-Server-Patches/0416-Add-option-to-allow-iron-golems-to-spawn-in-air.patch +++ b/Spigot-Server-Patches/0415-Add-option-to-allow-iron-golems-to-spawn-in-air.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to allow iron golems to spawn in air diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5517caf85740c7d8ac29dba74f5da1c026629f63..8ef1c03cde1cc882ae96d684b26cbba0f8f75f83 100644 +index 3a348c7ac4c9f2719b4158d67459699d109186b2..5e01208d8bc963cc4bf8a5b6cabbf788b594917b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -380,6 +380,11 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0417-Configurable-chance-of-villager-zombie-infection.patch b/Spigot-Server-Patches/0416-Configurable-chance-of-villager-zombie-infection.patch similarity index 93% rename from Spigot-Server-Patches/0417-Configurable-chance-of-villager-zombie-infection.patch rename to Spigot-Server-Patches/0416-Configurable-chance-of-villager-zombie-infection.patch index 909c4854c..d4272a856 100644 --- a/Spigot-Server-Patches/0417-Configurable-chance-of-villager-zombie-infection.patch +++ b/Spigot-Server-Patches/0416-Configurable-chance-of-villager-zombie-infection.patch @@ -8,7 +8,7 @@ This allows you to solve an issue in vanilla behavior where: * On normal difficulty they will have a 50% of getting infected or dying. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2700c626cdb612eec7f570c595b6f08365dd89c9..d8369d936bb7c060de1950878922998fd6804aa9 100644 +index 5e01208d8bc963cc4bf8a5b6cabbf788b594917b..7a15bbf1bdb965bdfc71f03b2e2b9add06200e72 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -592,4 +592,9 @@ public class PaperWorldConfig { @@ -22,7 +22,7 @@ index 2700c626cdb612eec7f570c595b6f08365dd89c9..d8369d936bb7c060de1950878922998f + } } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index e2c3c7153ac20a07a9eb5d99078a3cc247b5d5c5..2ad7a9634a26c19c52b52d8da3eb5446ef113823 100644 +index 05d7b7a67bfc117a91903db5f303587a4f8f8624..f390abf65d648e1e0697e2d802f3195a0241116e 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -386,10 +386,14 @@ public class EntityZombie extends EntityMonster { diff --git a/Spigot-Server-Patches/0418-Optimise-Chunk-getFluid.patch b/Spigot-Server-Patches/0417-Optimise-Chunk-getFluid.patch similarity index 100% rename from Spigot-Server-Patches/0418-Optimise-Chunk-getFluid.patch rename to Spigot-Server-Patches/0417-Optimise-Chunk-getFluid.patch diff --git a/Spigot-Server-Patches/0419-Optimise-TickListServer-by-rewriting-it.patch b/Spigot-Server-Patches/0418-Optimise-TickListServer-by-rewriting-it.patch similarity index 99% rename from Spigot-Server-Patches/0419-Optimise-TickListServer-by-rewriting-it.patch rename to Spigot-Server-Patches/0418-Optimise-TickListServer-by-rewriting-it.patch index 8d80d5d0a..ad8207c15 100644 --- a/Spigot-Server-Patches/0419-Optimise-TickListServer-by-rewriting-it.patch +++ b/Spigot-Server-Patches/0418-Optimise-TickListServer-by-rewriting-it.patch @@ -901,7 +901,7 @@ index 253423acc3c3697a5e47136f34da92617e719753..52ae74571b0d671a294900caedaa400b return this.b(baseblockposition.getX(), baseblockposition.getY(), baseblockposition.getZ()); } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index f7055ee0f2d497502f6a8b03544a55956f49e647..fc8f3539f143d5fb3fcfb8b7813a2384497ccc1d 100644 +index 45a91ab94f40ca9d8c469e468c6b66952babcf11..ce671ecabc402053b160df0f9d64d22b784d165c 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -203,6 +203,13 @@ public class ChunkProviderServer extends IChunkProvider { @@ -1191,10 +1191,10 @@ index 3b8f56c0f0507ebdd9ac20be70688b4c0cfe4cf8..3e148b7e99554a1abe257dd3c9acafb9 } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0682984c234be5955b1414e9cbeab4ad525e7b05..85b1187cf71760f433ea0f8b972bcc9e43dbde2a 100644 +index a284100a2fac4217f9353fbe7c3d459c23252501..784381e117ea9e39f3dabedba35daf0a41b119c5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -182,6 +182,15 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -186,6 +186,15 @@ public class WorldServer extends World implements GeneratorAccessSeed { } // Paper end @@ -1210,7 +1210,7 @@ index 0682984c234be5955b1414e9cbeab4ad525e7b05..85b1187cf71760f433ea0f8b972bcc9e // Add env and gen to constructor, WorldData -> WorldDataServer public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) { super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor -@@ -189,12 +198,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -193,12 +202,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { convertable = convertable_conversionsession; uuid = WorldUUID.getUUID(convertable_conversionsession.folder.toFile()); // CraftBukkit end @@ -1238,7 +1238,7 @@ index 0682984c234be5955b1414e9cbeab4ad525e7b05..85b1187cf71760f433ea0f8b972bcc9e this.navigators = Sets.newHashSet(); this.L = new ObjectLinkedOpenHashSet(); this.Q = flag1; -@@ -527,7 +545,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -531,7 +549,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (this.Q) { long i = this.worldData.getTime() + 1L; diff --git a/Spigot-Server-Patches/0420-Pillager-patrol-spawn-settings-and-per-player-option.patch b/Spigot-Server-Patches/0419-Pillager-patrol-spawn-settings-and-per-player-option.patch similarity index 96% rename from Spigot-Server-Patches/0420-Pillager-patrol-spawn-settings-and-per-player-option.patch rename to Spigot-Server-Patches/0419-Pillager-patrol-spawn-settings-and-per-player-option.patch index 8b7db4170..88ba42a0a 100644 --- a/Spigot-Server-Patches/0420-Pillager-patrol-spawn-settings-and-per-player-option.patch +++ b/Spigot-Server-Patches/0419-Pillager-patrol-spawn-settings-and-per-player-option.patch @@ -10,7 +10,7 @@ When not per player it will use the Vanilla mechanic of one delay per world and the world age for the start day. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index d8369d936bb7c060de1950878922998fd6804aa9..cc9b7cda00cce146a033a55d1b34fe4184173103 100644 +index 7a15bbf1bdb965bdfc71f03b2e2b9add06200e72..29eaa572648113216a267462a79da7e3741d1cfe 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -570,10 +570,21 @@ public class PaperWorldConfig { @@ -36,10 +36,10 @@ index d8369d936bb7c060de1950878922998fd6804aa9..cc9b7cda00cce146a033a55d1b34fe41 private void entitiesTargetWithFollowRange() { entitiesTargetWithFollowRange = getBoolean("entities-target-with-follow-range", entitiesTargetWithFollowRange); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index d9e45d0dfb4be8b39161b626400e9551643d7f2f..5ca93afddf8cf410d7e4b385d0ca7dde3db917ee 100644 +index d1be6ef1a04c8bc98929421e73c0712086f147d5..371063fb37a354a4c23601aa2ba787dd65380ce4 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -83,6 +83,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -85,6 +85,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public boolean viewingCredits; private int containerUpdateDelay; // Paper public long loginTime; // Paper diff --git a/Spigot-Server-Patches/0421-Ensure-Entity-is-never-double-registered.patch b/Spigot-Server-Patches/0420-Ensure-Entity-is-never-double-registered.patch similarity index 89% rename from Spigot-Server-Patches/0421-Ensure-Entity-is-never-double-registered.patch rename to Spigot-Server-Patches/0420-Ensure-Entity-is-never-double-registered.patch index b1d327a67..7ed6922c5 100644 --- a/Spigot-Server-Patches/0421-Ensure-Entity-is-never-double-registered.patch +++ b/Spigot-Server-Patches/0420-Ensure-Entity-is-never-double-registered.patch @@ -11,7 +11,7 @@ Vs behavior of non ticking of just overwriting state. We will now simply log a warning when this happens instead of crashing the server. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index eaffc6ee2d677dd69f81a2822049a06ec0325149..ca85df9d05e763586a0cf269e997fbf629c44c98 100644 +index d728a3aae38c083fe8dfa28a8b8460545e99bcb9..e98b247df2f5b34bd1f15a483c8da2f76aa96384 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -59,6 +59,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -23,10 +23,10 @@ index eaffc6ee2d677dd69f81a2822049a06ec0325149..ca85df9d05e763586a0cf269e997fbf6 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 85b1187cf71760f433ea0f8b972bcc9e43dbde2a..bd7c3c32809b79218d857f9ae6b4c23220d29ea5 100644 +index 784381e117ea9e39f3dabedba35daf0a41b119c5..2b7b7a8282424ad3c99824af99b5527a59c48bdb 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -531,6 +531,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -535,6 +535,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { Entity entity2; while ((entity2 = (Entity) this.entitiesToAdd.poll()) != null) { @@ -34,7 +34,7 @@ index 85b1187cf71760f433ea0f8b972bcc9e43dbde2a..bd7c3c32809b79218d857f9ae6b4c232 this.registerEntity(entity2); } -@@ -1286,6 +1287,19 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1290,6 +1291,19 @@ public class WorldServer extends World implements GeneratorAccessSeed { public void unregisterEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot @@ -54,7 +54,7 @@ index 85b1187cf71760f433ea0f8b972bcc9e43dbde2a..bd7c3c32809b79218d857f9ae6b4c232 // Spigot start if ( entity instanceof EntityHuman ) { -@@ -1352,9 +1366,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1356,9 +1370,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { private void registerEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot diff --git a/Spigot-Server-Patches/0422-Fix-unregistering-entities-from-unloading-chunks.patch b/Spigot-Server-Patches/0421-Fix-unregistering-entities-from-unloading-chunks.patch similarity index 90% rename from Spigot-Server-Patches/0422-Fix-unregistering-entities-from-unloading-chunks.patch rename to Spigot-Server-Patches/0421-Fix-unregistering-entities-from-unloading-chunks.patch index 150f3af49..10ae28326 100644 --- a/Spigot-Server-Patches/0422-Fix-unregistering-entities-from-unloading-chunks.patch +++ b/Spigot-Server-Patches/0421-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 bd7c3c32809b79218d857f9ae6b4c23220d29ea5..075f9d7b3dffc0285b2152d0e141adb685209f0c 100644 +index 2b7b7a8282424ad3c99824af99b5527a59c48bdb..22b447ff847ea5bf9237fa738c25db4f84295133 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1445,9 +1445,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1449,9 +1449,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { } private void removeEntityFromChunk(Entity entity) { diff --git a/Spigot-Server-Patches/0423-Remote-Connections-shouldn-t-hold-up-shutdown.patch b/Spigot-Server-Patches/0422-Remote-Connections-shouldn-t-hold-up-shutdown.patch similarity index 86% rename from Spigot-Server-Patches/0423-Remote-Connections-shouldn-t-hold-up-shutdown.patch rename to Spigot-Server-Patches/0422-Remote-Connections-shouldn-t-hold-up-shutdown.patch index 39edde9e6..3f3401bca 100644 --- a/Spigot-Server-Patches/0423-Remote-Connections-shouldn-t-hold-up-shutdown.patch +++ b/Spigot-Server-Patches/0422-Remote-Connections-shouldn-t-hold-up-shutdown.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Remote Connections shouldn't hold up shutdown Bugs in the connection logic appears to leave stale connections even, preventing shutdown diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 54ef6eeb8866915f03fb16413c8b5f36a7501f82..fa72eae6befb9d05244b65bcaaed35e9fb492027 100644 +index bec26885108442c8e22cdddf5e764ecab6994dca..a4db2527ff2defcfd25f08dd24722a37794a4a7e 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -355,11 +355,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -361,11 +361,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } if (this.remoteControlListener != null) { diff --git a/Spigot-Server-Patches/0424-Do-not-allow-bees-to-load-chunks-for-beehives.patch b/Spigot-Server-Patches/0423-Do-not-allow-bees-to-load-chunks-for-beehives.patch similarity index 96% rename from Spigot-Server-Patches/0424-Do-not-allow-bees-to-load-chunks-for-beehives.patch rename to Spigot-Server-Patches/0423-Do-not-allow-bees-to-load-chunks-for-beehives.patch index e73a3a2e4..bfbe183e9 100644 --- a/Spigot-Server-Patches/0424-Do-not-allow-bees-to-load-chunks-for-beehives.patch +++ b/Spigot-Server-Patches/0423-Do-not-allow-bees-to-load-chunks-for-beehives.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Do not allow bees to load chunks for beehives diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java -index 0f44cbd3ce6e57f9693cd23b10d487e06aa62eeb..b1ff30fb1569ddf59f46240266ce32f0aa96da1a 100644 +index c14e07f3c3017e5a5355b1770b94ee4dcc8cc017..f73641ddb3e82bc653732105ef0a3d41a28e845f 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -284,6 +284,7 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB diff --git a/Spigot-Server-Patches/0425-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/Spigot-Server-Patches/0424-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch similarity index 92% rename from Spigot-Server-Patches/0425-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch rename to Spigot-Server-Patches/0424-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch index 11e77ae80..4b3f25d25 100644 --- a/Spigot-Server-Patches/0425-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch +++ b/Spigot-Server-Patches/0424-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch @@ -26,10 +26,10 @@ index 512940ef8608d28c83a4a8d0777a99ebf25b4e8b..f839091ae4385e763a19d680585a9363 EntityTypes entitytypes = entity.getEntityType(); int i = entitytypes.getChunkRange() * 16; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 075f9d7b3dffc0285b2152d0e141adb685209f0c..d7959eab0f0f162b3d82697cc96014afb9e96dca 100644 +index 22b447ff847ea5bf9237fa738c25db4f84295133..ca4317d90bb5885ad2b1714e4c4e99902a9c23f6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1411,7 +1411,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1415,7 +1415,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } @@ -38,7 +38,7 @@ index 075f9d7b3dffc0285b2152d0e141adb685209f0c..d7959eab0f0f162b3d82697cc96014af // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { this.navigators.add(((EntityDrowned) entity).navigationWater); -@@ -1422,6 +1422,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1426,6 +1426,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.navigators.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit diff --git a/Spigot-Server-Patches/0426-Optimize-Collision-to-not-load-chunks.patch b/Spigot-Server-Patches/0425-Optimize-Collision-to-not-load-chunks.patch similarity index 98% rename from Spigot-Server-Patches/0426-Optimize-Collision-to-not-load-chunks.patch rename to Spigot-Server-Patches/0425-Optimize-Collision-to-not-load-chunks.patch index 25974551c..0fd3679ef 100644 --- a/Spigot-Server-Patches/0426-Optimize-Collision-to-not-load-chunks.patch +++ b/Spigot-Server-Patches/0425-Optimize-Collision-to-not-load-chunks.patch @@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading massive amounts of surrounding chunks due to large AABB lookups. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ca85df9d05e763586a0cf269e997fbf629c44c98..da9f50f0e14a3294e63a2b45e1e4521187f8b4cc 100644 +index e98b247df2f5b34bd1f15a483c8da2f76aa96384..2762215b2cdbeb2ea77dbd1dccecaa770a5b94c8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -80,6 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0427-Don-t-tick-dead-players.patch b/Spigot-Server-Patches/0426-Don-t-tick-dead-players.patch similarity index 85% rename from Spigot-Server-Patches/0427-Don-t-tick-dead-players.patch rename to Spigot-Server-Patches/0426-Don-t-tick-dead-players.patch index b661f2c51..bb318acf2 100644 --- a/Spigot-Server-Patches/0427-Don-t-tick-dead-players.patch +++ b/Spigot-Server-Patches/0426-Don-t-tick-dead-players.patch @@ -7,10 +7,10 @@ Causes sync chunk loads and who knows what all else. This is safe because Spectators are skipped in unloaded chunks too in vanilla. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 5ca93afddf8cf410d7e4b385d0ca7dde3db917ee..799d507643acd6a89ddeb93be142ef4efffd64d3 100644 +index 371063fb37a354a4c23601aa2ba787dd65380ce4..f238ac3a57815539b6913a026e0e2e1bdba7ae84 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -473,7 +473,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -476,7 +476,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public void playerTick() { try { diff --git a/Spigot-Server-Patches/0428-Dead-Player-s-shouldn-t-be-able-to-move.patch b/Spigot-Server-Patches/0427-Dead-Player-s-shouldn-t-be-able-to-move.patch similarity index 90% rename from Spigot-Server-Patches/0428-Dead-Player-s-shouldn-t-be-able-to-move.patch rename to Spigot-Server-Patches/0427-Dead-Player-s-shouldn-t-be-able-to-move.patch index 3fed64bdc..da19af1b5 100644 --- a/Spigot-Server-Patches/0428-Dead-Player-s-shouldn-t-be-able-to-move.patch +++ b/Spigot-Server-Patches/0427-Dead-Player-s-shouldn-t-be-able-to-move.patch @@ -7,7 +7,7 @@ This fixes a lot of game state issues where packets were delayed for processing due to 1.15's new queue but processed while dead. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 272f4ff0a59350a088d6699a9fcb6bb9f8e95551..eae7bfa171e648b8ec51465a8d9f7d9b7c59a2c9 100644 +index 21bace17c7cac0b895ac1ab16ae43bb207a725ab..7c0d381926e5ce59ded474c65b50016d4a7feab1 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -952,7 +952,7 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0429-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch b/Spigot-Server-Patches/0428-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch similarity index 99% rename from Spigot-Server-Patches/0429-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch rename to Spigot-Server-Patches/0428-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch index aacf41337..c327359cc 100644 --- a/Spigot-Server-Patches/0429-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch +++ b/Spigot-Server-Patches/0428-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch @@ -57,7 +57,7 @@ index 0000000000000000000000000000000000000000..f6ff4d8132a95895680f5bc81f8f873e + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index fc8f3539f143d5fb3fcfb8b7813a2384497ccc1d..359ac0845468e0bcccf7ed4d5596cad5f72dafa8 100644 +index ce671ecabc402053b160df0f9d64d22b784d165c..dea7ff47f7a2934708d887c2c40f9328b78fc84e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -757,7 +757,7 @@ public class ChunkProviderServer extends IChunkProvider { diff --git a/Spigot-Server-Patches/0430-Increase-Light-Queue-Size.patch b/Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch similarity index 89% rename from Spigot-Server-Patches/0430-Increase-Light-Queue-Size.patch rename to Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch index 3065a3e4a..df72f9d8d 100644 --- a/Spigot-Server-Patches/0430-Increase-Light-Queue-Size.patch +++ b/Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch @@ -14,7 +14,7 @@ light engine on shutdown... The queue size only puts a cap on max loss, doesn't solve that problem. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index cc9b7cda00cce146a033a55d1b34fe4184173103..0a8d127460730e7817f0f64509b9a9732096550b 100644 +index 29eaa572648113216a267462a79da7e3741d1cfe..51d30a92cbc1052b690b5565e403123c39f864da 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -608,4 +608,9 @@ public class PaperWorldConfig { @@ -28,7 +28,7 @@ index cc9b7cda00cce146a033a55d1b34fe4184173103..0a8d127460730e7817f0f64509b9a973 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b92daeb1568f562a0910915ffbfadae9e25be0e2..0675765b88a7312bad3bcf3160dd3f386d531d19 100644 +index 60b018fb6865a4b73f944cffd79e7d246636360b..c97e8235b323b7ed69dda891fd73ea655c1e16f5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -660,7 +660,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant(this); // Paper - -@@ -170,6 +170,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -173,6 +173,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end @@ -30,7 +30,7 @@ index 799d507643acd6a89ddeb93be142ef4efffd64d3..350590dad779f7395941ea24f025ce2d private void c(WorldServer worldserver) { BlockPosition blockposition = worldserver.getSpawn(); -@@ -347,7 +348,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -350,7 +351,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { position = Vec3D.a(((WorldServer) world).getSpawn()); } this.world = world; diff --git a/Spigot-Server-Patches/0433-Add-tick-times-API-and-mspt-command.patch b/Spigot-Server-Patches/0432-Add-tick-times-API-and-mspt-command.patch similarity index 96% rename from Spigot-Server-Patches/0433-Add-tick-times-API-and-mspt-command.patch rename to Spigot-Server-Patches/0432-Add-tick-times-API-and-mspt-command.patch index bf071a3f5..587bfaadb 100644 --- a/Spigot-Server-Patches/0433-Add-tick-times-API-and-mspt-command.patch +++ b/Spigot-Server-Patches/0432-Add-tick-times-API-and-mspt-command.patch @@ -87,7 +87,7 @@ index 56b32e2319c5f89d12c0ca4ea0211c6d7cbb366f..273ed1c5537a69256f1020646f5cd0c1 version = getInt("config-version", 20); set("config-version", 20); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f152eb73c0bb5d6e24c62665035406629acce8ff..be352c5e32600af8aa49feea307cba29fa120736 100644 +index bb54413a6e8e42e04630e2ff4761bda3e5d46fe7..b75237ecfefb9c560ef85ada1c036e168f25108a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -107,6 +107,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant players = Lists.newArrayList(); // Paper - private -> public public final ChunkProviderServer chunkProvider; // Paper - public boolean tickingEntities; @@ -26,7 +26,7 @@ index 5a2a1c5059f768043856fedfc41bd76434b6b2bb..8c718982e2759faa52968ca6c3f9fad9 private final MinecraftServer server; public final WorldDataServer worldDataServer; // CraftBukkit - type public boolean savingDisabled; -@@ -529,6 +539,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -533,6 +543,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { timings.entityTick.stopTiming(); // Spigot this.tickingEntities = false; diff --git a/Spigot-Server-Patches/0438-Async-command-map-building.patch b/Spigot-Server-Patches/0437-Async-command-map-building.patch similarity index 100% rename from Spigot-Server-Patches/0438-Async-command-map-building.patch rename to Spigot-Server-Patches/0437-Async-command-map-building.patch diff --git a/Spigot-Server-Patches/0439-Improved-Watchdog-Support.patch b/Spigot-Server-Patches/0438-Improved-Watchdog-Support.patch similarity index 97% rename from Spigot-Server-Patches/0439-Improved-Watchdog-Support.patch rename to Spigot-Server-Patches/0438-Improved-Watchdog-Support.patch index 121428d4d..484099206 100644 --- a/Spigot-Server-Patches/0439-Improved-Watchdog-Support.patch +++ b/Spigot-Server-Patches/0438-Improved-Watchdog-Support.patch @@ -67,10 +67,10 @@ index 95e6a6de7ccfc4445d0ac19c5f874c0d533b1712..cc6e6f245ee5e73bd570cf42381bf55e throwable = throwable.getCause(); } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index fa72eae6befb9d05244b65bcaaed35e9fb492027..03b38e2c53376db25864a0c6f00f786c4dae215d 100644 +index a4db2527ff2defcfd25f08dd24722a37794a4a7e..f5792b999ce42acb13ae9a62ceb2ddec39abe209 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -238,7 +238,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -240,7 +240,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer long j = SystemUtils.getMonotonicNanos() - i; String s = String.format(Locale.ROOT, "%.3fs", (double) j / 1.0E9D); @@ -79,7 +79,7 @@ index fa72eae6befb9d05244b65bcaaed35e9fb492027..03b38e2c53376db25864a0c6f00f786c if (dedicatedserverproperties.announcePlayerAchievements != null) { ((GameRules.GameRuleBoolean) this.getGameRules().get(GameRules.ANNOUNCE_ADVANCEMENTS)).a(dedicatedserverproperties.announcePlayerAchievements, (MinecraftServer) this); } -@@ -362,6 +362,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -368,6 +368,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer //this.remoteStatusListener.b(); // Paper - don't wait for remote connections } @@ -87,7 +87,7 @@ index fa72eae6befb9d05244b65bcaaed35e9fb492027..03b38e2c53376db25864a0c6f00f786c System.exit(0); // CraftBukkit } -@@ -695,7 +696,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -701,7 +702,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @Override public void stop() { super.stop(); @@ -97,7 +97,7 @@ index fa72eae6befb9d05244b65bcaaed35e9fb492027..03b38e2c53376db25864a0c6f00f786c @Override diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index c475009fe03a1550cb64a716a02a5a8b5204c873..5df6be7e8d9b1295ed0700b3be90c3778fc7d77c 100644 +index bc15da4640a4a6107c9c186a01ce76df87511b41..27db247aa40e0516302c74b9bf00c631a8607af5 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java @@ -135,6 +135,7 @@ public abstract class IAsyncTaskHandler implements Mailbox bk = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.p); protected static final DataWatcherObject bl = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.p); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 3f2d82ce7ed15ea8b8f718b38bfa2afb8ec225e8..de7d0d468e843f671655d01b283a27003d8b4a73 100644 +index 7a791f5ea0ecb98f8b4509f79538d3f1e55703f6..8a68f9aec04ad99632a4c81659834a9b9b433bd8 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -118,7 +118,7 @@ index 3f2d82ce7ed15ea8b8f718b38bfa2afb8ec225e8..de7d0d468e843f671655d01b283a2700 private long ca = SystemUtils.getMonotonicMillis(); private Entity spectatedEntity; public boolean worldChangeInvuln; -@@ -1653,6 +1654,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1656,6 +1657,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public String locale = null; // CraftBukkit - lowercase // Paper - default to null public void a(PacketPlayInSettings packetplayinsettings) { diff --git a/Spigot-Server-Patches/0450-Fix-Chunk-Post-Processing-deadlock-risk.patch b/Spigot-Server-Patches/0449-Fix-Chunk-Post-Processing-deadlock-risk.patch similarity index 97% rename from Spigot-Server-Patches/0450-Fix-Chunk-Post-Processing-deadlock-risk.patch rename to Spigot-Server-Patches/0449-Fix-Chunk-Post-Processing-deadlock-risk.patch index f20438267..fdc6c4259 100644 --- a/Spigot-Server-Patches/0450-Fix-Chunk-Post-Processing-deadlock-risk.patch +++ b/Spigot-Server-Patches/0449-Fix-Chunk-Post-Processing-deadlock-risk.patch @@ -25,7 +25,7 @@ This successfully fixed a reoccurring and highly reproduceable crash for heightmaps. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 64190f8d80b22146796f71a14e166969ba175d0f..4c4e6e154e0db23662484d6aa03f1d762a48badb 100644 +index cc91266704043b46653bdd512637d001677ddc76..47a02737faa2eddca1b1f9063fe46afc91425169 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -995,6 +995,7 @@ public class ChunkProviderServer extends IChunkProvider { diff --git a/Spigot-Server-Patches/0451-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/Spigot-Server-Patches/0450-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch similarity index 100% rename from Spigot-Server-Patches/0451-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch rename to Spigot-Server-Patches/0450-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch diff --git a/Spigot-Server-Patches/0452-Broadcast-join-message-to-console.patch b/Spigot-Server-Patches/0451-Broadcast-join-message-to-console.patch similarity index 100% rename from Spigot-Server-Patches/0452-Broadcast-join-message-to-console.patch rename to Spigot-Server-Patches/0451-Broadcast-join-message-to-console.patch diff --git a/Spigot-Server-Patches/0453-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/Spigot-Server-Patches/0452-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch similarity index 97% rename from Spigot-Server-Patches/0453-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch rename to Spigot-Server-Patches/0452-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch index a28b901d9..e0ac4d6af 100644 --- a/Spigot-Server-Patches/0453-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch +++ b/Spigot-Server-Patches/0452-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch @@ -28,10 +28,10 @@ receives a deterministic result, and should no longer require 1 tick delays anymore. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index de7d0d468e843f671655d01b283a27003d8b4a73..f128e30e22c0a084124dcddc785162e13242dc8b 100644 +index 8a68f9aec04ad99632a4c81659834a9b9b433bd8..c2a6abcde6aad90c7d6d7989b8bbc811b79b3d22 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -106,6 +106,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -108,6 +108,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public double maxHealthCache; public boolean joining = true; public boolean sentListPacket = false; diff --git a/Spigot-Server-Patches/0454-Load-Chunks-for-Login-Asynchronously.patch b/Spigot-Server-Patches/0453-Load-Chunks-for-Login-Asynchronously.patch similarity index 93% rename from Spigot-Server-Patches/0454-Load-Chunks-for-Login-Asynchronously.patch rename to Spigot-Server-Patches/0453-Load-Chunks-for-Login-Asynchronously.patch index 0e2822dca..0d1d35374 100644 --- a/Spigot-Server-Patches/0454-Load-Chunks-for-Login-Asynchronously.patch +++ b/Spigot-Server-Patches/0453-Load-Chunks-for-Login-Asynchronously.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Load Chunks for Login Asynchronously diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4c4e6e154e0db23662484d6aa03f1d762a48badb..893a835593af2ea95a50607c8c2f2cdb9af6c944 100644 +index 47a02737faa2eddca1b1f9063fe46afc91425169..4e50ef38700918a0efb2c67f5acf98eb66fd8335 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -605,7 +605,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -18,10 +18,10 @@ index 4c4e6e154e0db23662484d6aa03f1d762a48badb..893a835593af2ea95a50607c8c2f2cdb boolean flag1 = this.playerChunkMap.b(); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index da9f50f0e14a3294e63a2b45e1e4521187f8b4cc..6e0a236690663040b3f9e29684a1611ad45fedf0 100644 +index 2762215b2cdbeb2ea77dbd1dccecaa770a5b94c8..dc9b371af6c21510e9efba31ad462968aab49153 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1282,7 +1282,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1283,7 +1283,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.lastY = d1; this.lastZ = d4; this.setPosition(d3, d1, d4); @@ -31,7 +31,7 @@ index da9f50f0e14a3294e63a2b45e1e4521187f8b4cc..6e0a236690663040b3f9e29684a1611a public void d(Vec3D vec3d) { diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index f128e30e22c0a084124dcddc785162e13242dc8b..aef385243ac031d2636cf438ea4885f5608144d0 100644 +index c2a6abcde6aad90c7d6d7989b8bbc811b79b3d22..052f209d18818bcd5fa07c0026bcb922de2e78ba 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -44,6 +44,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -42,7 +42,7 @@ index f128e30e22c0a084124dcddc785162e13242dc8b..aef385243ac031d2636cf438ea4885f5 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; public final Deque removeQueue = new ArrayDeque<>(); // Paper -@@ -107,6 +108,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -109,6 +110,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public boolean joining = true; public boolean sentListPacket = false; public boolean supressTrackerForLogin = false; // Paper @@ -51,10 +51,10 @@ index f128e30e22c0a084124dcddc785162e13242dc8b..aef385243ac031d2636cf438ea4885f5 // CraftBukkit end public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 0cb8f5a4a5cc5e302815af4c1ed325dfbc75235b..456cb9feebc8afef50cefb85b4d4c1dacd880ad2 100644 +index 0b1baeab3075a741519c6875f7b4847ce6cad8fc..efb59a7409902aa3c4bf95337683346ae82a52fb 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -66,7 +66,7 @@ public class LoginListener implements PacketLoginInListener { +@@ -67,7 +67,7 @@ public class LoginListener implements PacketLoginInListener { } // Paper end } else if (this.g == LoginListener.EnumProtocolState.DELAY_ACCEPT) { @@ -63,7 +63,7 @@ index 0cb8f5a4a5cc5e302815af4c1ed325dfbc75235b..456cb9feebc8afef50cefb85b4d4c1da if (entityplayer == null) { this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT; -@@ -165,7 +165,7 @@ public class LoginListener implements PacketLoginInListener { +@@ -166,7 +166,7 @@ public class LoginListener implements PacketLoginInListener { } this.networkManager.sendPacket(new PacketLoginOutSuccess(this.i)); @@ -73,10 +73,10 @@ index 0cb8f5a4a5cc5e302815af4c1ed325dfbc75235b..456cb9feebc8afef50cefb85b4d4c1da if (entityplayer != null) { this.g = LoginListener.EnumProtocolState.DELAY_ACCEPT; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d92b2bbfa1e2b284b624efd261d8803db1c4de2c..507c844e7aa43b6bdf5d2fff08c271ab025ba926 100644 +index 93877b45f380e57f2dc9656463e333ef422a4b95..a3dad0e380736fa64b50553ffbadf0cf2dac015d 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -70,6 +70,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -76,6 +76,7 @@ public class PlayerConnection implements PacketListenerPlayIn { private static final Logger LOGGER = LogManager.getLogger(); public final NetworkManager networkManager; private final MinecraftServer minecraftServer; @@ -84,7 +84,7 @@ index d92b2bbfa1e2b284b624efd261d8803db1c4de2c..507c844e7aa43b6bdf5d2fff08c271ab public EntityPlayer player; private int e; private long lastKeepAlive = SystemUtils.getMonotonicMillis(); private void setLastPing(long lastPing) { this.lastKeepAlive = lastPing;}; private long getLastPing() { return this.lastKeepAlive;}; // Paper - OBFHELPER -@@ -143,6 +144,15 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -154,6 +155,15 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit end public void tick() { @@ -100,7 +100,7 @@ index d92b2bbfa1e2b284b624efd261d8803db1c4de2c..507c844e7aa43b6bdf5d2fff08c271ab this.syncPosition(); this.player.lastX = this.player.locX(); this.player.lastY = this.player.locY(); -@@ -184,7 +194,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -195,7 +205,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.r = null; this.D = false; this.E = 0; diff --git a/Spigot-Server-Patches/0455-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/Spigot-Server-Patches/0454-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch similarity index 89% rename from Spigot-Server-Patches/0455-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch rename to Spigot-Server-Patches/0454-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index d6c6d55bc..adc0716c3 100644 --- a/Spigot-Server-Patches/0455-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/Spigot-Server-Patches/0454-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -7,10 +7,10 @@ The code following this has better support for null worlds to move them back to the world spawn. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6e0a236690663040b3f9e29684a1611ad45fedf0..063c5ce566644a59652dec9b306f9f9282560589 100644 +index dc9b371af6c21510e9efba31ad462968aab49153..5bec3b9692f64a792e26f89b4147644eaaf4ab11 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1718,9 +1718,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1719,9 +1719,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke bworld = server.getWorld(worldName); } diff --git a/Spigot-Server-Patches/0456-Add-PlayerAttackEntityCooldownResetEvent.patch b/Spigot-Server-Patches/0455-Add-PlayerAttackEntityCooldownResetEvent.patch similarity index 94% rename from Spigot-Server-Patches/0456-Add-PlayerAttackEntityCooldownResetEvent.patch rename to Spigot-Server-Patches/0455-Add-PlayerAttackEntityCooldownResetEvent.patch index 06aae0d9b..0e66e8906 100644 --- a/Spigot-Server-Patches/0456-Add-PlayerAttackEntityCooldownResetEvent.patch +++ b/Spigot-Server-Patches/0455-Add-PlayerAttackEntityCooldownResetEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2a6ae816ea4300a724a4baa0418337367a2b2e29..f9e7fd85254bfc8ed737e28060dc1014488c6b6e 100644 +index d429ec31346cd0b1d6556afb4f6ff1a09cf55de5..445e092efc1633638af9db72141cf9a85a3ac268 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1824,7 +1824,16 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0457-Allow-multiple-callbacks-to-schedule-for-Callback-Ex.patch b/Spigot-Server-Patches/0456-Allow-multiple-callbacks-to-schedule-for-Callback-Ex.patch similarity index 100% rename from Spigot-Server-Patches/0457-Allow-multiple-callbacks-to-schedule-for-Callback-Ex.patch rename to Spigot-Server-Patches/0456-Allow-multiple-callbacks-to-schedule-for-Callback-Ex.patch diff --git a/Spigot-Server-Patches/0458-Don-t-fire-BlockFade-on-worldgen-threads.patch b/Spigot-Server-Patches/0457-Don-t-fire-BlockFade-on-worldgen-threads.patch similarity index 100% rename from Spigot-Server-Patches/0458-Don-t-fire-BlockFade-on-worldgen-threads.patch rename to Spigot-Server-Patches/0457-Don-t-fire-BlockFade-on-worldgen-threads.patch diff --git a/Spigot-Server-Patches/0459-Add-phantom-creative-and-insomniac-controls.patch b/Spigot-Server-Patches/0458-Add-phantom-creative-and-insomniac-controls.patch similarity index 95% rename from Spigot-Server-Patches/0459-Add-phantom-creative-and-insomniac-controls.patch rename to Spigot-Server-Patches/0458-Add-phantom-creative-and-insomniac-controls.patch index 9a1c05dd3..37004eccf 100644 --- a/Spigot-Server-Patches/0459-Add-phantom-creative-and-insomniac-controls.patch +++ b/Spigot-Server-Patches/0458-Add-phantom-creative-and-insomniac-controls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add phantom creative and insomniac controls diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0a8d127460730e7817f0f64509b9a9732096550b..a6dcc3606dd1f8aa963d4f09cad93d918d555339 100644 +index 51d30a92cbc1052b690b5565e403123c39f864da..a8ab4bcd55d7705542c87079bb9c27db1b381fe0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -613,4 +613,11 @@ public class PaperWorldConfig { @@ -33,7 +33,7 @@ index 1afcf17a8ca4eb17125e2a9d066c5a15a3818417..3a70900c73e3a6c4f40cf74406534f4b return true; } diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index 7ba071a5cc14ef89dc005f4b9cebdc4cdef52532..a9b0c78d6dba8c6ff7d524e2828f0ee7832e059e 100644 +index 94d90eb50a8b0ce104128ef016692ad91a883c2a..31eb6868c2de20a7aa7438dbabf7a5f790d75732 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -25,6 +25,7 @@ public final class IEntitySelector { diff --git a/Spigot-Server-Patches/0460-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/Spigot-Server-Patches/0459-Fix-numerous-item-duplication-issues-and-teleport-is.patch similarity index 91% rename from Spigot-Server-Patches/0460-Fix-numerous-item-duplication-issues-and-teleport-is.patch rename to Spigot-Server-Patches/0459-Fix-numerous-item-duplication-issues-and-teleport-is.patch index fe66c69bb..9bb37f2e6 100644 --- a/Spigot-Server-Patches/0460-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/Spigot-Server-Patches/0459-Fix-numerous-item-duplication-issues-and-teleport-is.patch @@ -16,10 +16,10 @@ So even if something NEW comes up, it would be impossible to drop the same item twice because the source was destroyed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 063c5ce566644a59652dec9b306f9f9282560589..7df29df2d6023e549e1fba0b5b1d1c1abcf92f8b 100644 +index 5bec3b9692f64a792e26f89b4147644eaaf4ab11..60dae06ff5c016aecba23afd7a4152fcd3234616 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1879,11 +1879,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1880,11 +1880,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } else { // CraftBukkit start - Capture drops for death event if (this instanceof EntityLiving && !((EntityLiving) this).forceDrops) { @@ -34,7 +34,7 @@ index 063c5ce566644a59652dec9b306f9f9282560589..7df29df2d6023e549e1fba0b5b1d1c1a entityitem.defaultPickupDelay(); // CraftBukkit start -@@ -2531,6 +2532,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2532,6 +2533,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @Nullable public Entity teleportTo(WorldServer worldserver, BlockPosition location) { // CraftBukkit end @@ -47,7 +47,7 @@ index 063c5ce566644a59652dec9b306f9f9282560589..7df29df2d6023e549e1fba0b5b1d1c1a if (this.world instanceof WorldServer && !this.dead) { this.world.getMethodProfiler().enter("changeDimension"); // CraftBukkit start -@@ -2566,7 +2573,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2567,7 +2574,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke entity.bukkitEntity = this.getBukkitEntity(); if (this instanceof EntityInsentient) { @@ -56,7 +56,7 @@ index 063c5ce566644a59652dec9b306f9f9282560589..7df29df2d6023e549e1fba0b5b1d1c1a } // CraftBukkit end } -@@ -2686,7 +2693,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2687,7 +2694,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean canPortal() { @@ -66,7 +66,7 @@ index 063c5ce566644a59652dec9b306f9f9282560589..7df29df2d6023e549e1fba0b5b1d1c1a public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) { diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 41d5dd7f08775a68984da24c92ee244c1b69426b..aff83945242c843d8cfd8dffc4c33298f38fb9f2 100644 +index 01c0ec114cf913e54058a2f5298807dbb83d1cf4..66597c6e1add4df2f093480f507f03788a3eb30b 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -560,7 +560,7 @@ public class EntityArmorStand extends EntityLiving { @@ -88,7 +88,7 @@ index 41d5dd7f08775a68984da24c92ee244c1b69426b..aff83945242c843d8cfd8dffc4c33298 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 2f1fa0587636c594d3f15fa6bdfabaca3d98017c..9127df12252bbd619d97db996a88ae91da9d3345 100644 +index c86e012931e4112152fbf72dac15fb357ac7f6b0..2fe655e0b7655cc9b4ce1509c6d6cfd51860c006 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -811,7 +811,8 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0461-Implement-Brigadier-Mojang-API.patch b/Spigot-Server-Patches/0460-Implement-Brigadier-Mojang-API.patch similarity index 97% rename from Spigot-Server-Patches/0461-Implement-Brigadier-Mojang-API.patch rename to Spigot-Server-Patches/0460-Implement-Brigadier-Mojang-API.patch index 18940d385..7d4a513cf 100644 --- a/Spigot-Server-Patches/0461-Implement-Brigadier-Mojang-API.patch +++ b/Spigot-Server-Patches/0460-Implement-Brigadier-Mojang-API.patch @@ -69,10 +69,10 @@ index 54a1988341a4a6e80ab40624280b7c92532d5db6..7073d697a5d35b9b72ea05d5608438ac public boolean hasPermission(int i) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 507c844e7aa43b6bdf5d2fff08c271ab025ba926..48d72cd722e1d8207c9eaa2d4d7970af299b8d0d 100644 +index a3dad0e380736fa64b50553ffbadf0cf2dac015d..3b7efa4ca3903ef980c5693efa8ab45a04b29652 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -579,8 +579,12 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -622,8 +622,12 @@ public class PlayerConnection implements PacketListenerPlayIn { ParseResults parseresults = this.minecraftServer.getCommandDispatcher().a().parse(stringreader, this.player.getCommandListener()); this.minecraftServer.getCommandDispatcher().a().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { @@ -87,7 +87,7 @@ index 507c844e7aa43b6bdf5d2fff08c271ab025ba926..48d72cd722e1d8207c9eaa2d4d7970af }); }); } -@@ -589,7 +593,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -632,7 +636,11 @@ public class PlayerConnection implements PacketListenerPlayIn { builder = builder.createOffset(builder.getInput().lastIndexOf(' ') + 1); completions.forEach(builder::suggest); diff --git a/Spigot-Server-Patches/0462-Villager-Restocks-API.patch b/Spigot-Server-Patches/0461-Villager-Restocks-API.patch similarity index 96% rename from Spigot-Server-Patches/0462-Villager-Restocks-API.patch rename to Spigot-Server-Patches/0461-Villager-Restocks-API.patch index e5dc14dfc..2adc1a5fa 100644 --- a/Spigot-Server-Patches/0462-Villager-Restocks-API.patch +++ b/Spigot-Server-Patches/0461-Villager-Restocks-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Villager Restocks API diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 3db74ab8d722b38bcae008ea2e02778fbac31471..70f15bc9de4d66da7991a18b438737db18e1e76e 100644 +index 2ed6af09e97a087ffdd5e014564d9b49bda51b77..a5426eabb4c2458213f54ea66edc06714aa30c1f 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -44,7 +44,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation diff --git a/Spigot-Server-Patches/0463-Validate-PickItem-Packet-and-kick-for-invalid.patch b/Spigot-Server-Patches/0462-Validate-PickItem-Packet-and-kick-for-invalid.patch similarity index 91% rename from Spigot-Server-Patches/0463-Validate-PickItem-Packet-and-kick-for-invalid.patch rename to Spigot-Server-Patches/0462-Validate-PickItem-Packet-and-kick-for-invalid.patch index 26bac0983..f8fe34067 100644 --- a/Spigot-Server-Patches/0463-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ b/Spigot-Server-Patches/0462-Validate-PickItem-Packet-and-kick-for-invalid.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 48d72cd722e1d8207c9eaa2d4d7970af299b8d0d..a19ef358baa4daff6753d034e7c8aab81cd14aa4 100644 +index 3b7efa4ca3903ef980c5693efa8ab45a04b29652..033578cb5f2be7db6c03c37dcdf1e353a0441d68 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -692,7 +692,14 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -735,7 +735,14 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInPickItem packetplayinpickitem) { PlayerConnectionUtils.ensureMainThread(packetplayinpickitem, this, this.player.getWorldServer()); diff --git a/Spigot-Server-Patches/0464-Expose-game-version.patch b/Spigot-Server-Patches/0463-Expose-game-version.patch similarity index 100% rename from Spigot-Server-Patches/0464-Expose-game-version.patch rename to Spigot-Server-Patches/0463-Expose-game-version.patch diff --git a/Spigot-Server-Patches/0465-Optimize-Voxel-Shape-Merging.patch b/Spigot-Server-Patches/0464-Optimize-Voxel-Shape-Merging.patch similarity index 100% rename from Spigot-Server-Patches/0465-Optimize-Voxel-Shape-Merging.patch rename to Spigot-Server-Patches/0464-Optimize-Voxel-Shape-Merging.patch diff --git a/Spigot-Server-Patches/0466-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/Spigot-Server-Patches/0465-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch similarity index 93% rename from Spigot-Server-Patches/0466-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch rename to Spigot-Server-Patches/0465-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch index 6ecd156af..3a0f263f2 100644 --- a/Spigot-Server-Patches/0466-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch +++ b/Spigot-Server-Patches/0465-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch @@ -17,7 +17,7 @@ keeping long lived large direct buffers in cache. Set system properly at server startup if not set already to help protect from this. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 99efa63857dd3fb0a7d488937519ac225e379913..26c0ced8c2f1e22092c5d4405b9c6be8ac04cf24 100644 +index b9e14473ed7e1e07f14246f06ef4070a90f03f3f..9118f054246ea09a4ca7b326604679d6c9addde4 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -20,6 +20,7 @@ public class Main { diff --git a/Spigot-Server-Patches/0467-Implement-Mob-Goal-API.patch b/Spigot-Server-Patches/0466-Implement-Mob-Goal-API.patch similarity index 99% rename from Spigot-Server-Patches/0467-Implement-Mob-Goal-API.patch rename to Spigot-Server-Patches/0466-Implement-Mob-Goal-API.patch index e363daef7..a6bab4390 100644 --- a/Spigot-Server-Patches/0467-Implement-Mob-Goal-API.patch +++ b/Spigot-Server-Patches/0466-Implement-Mob-Goal-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement Mob Goal API diff --git a/pom.xml b/pom.xml -index c10888b862541e244c9c9c60d45ef9fee59ae3e8..add3a9c1a9ea823a62783351cfb4cf4269752c26 100644 +index 2349491a15393a450d80397dd92c5733b28a3482..80f165291385f5f54def1a8e8487b209fb06a4a3 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,13 @@ diff --git a/Spigot-Server-Patches/0468-Use-distance-map-to-optimise-entity-tracker.patch b/Spigot-Server-Patches/0467-Use-distance-map-to-optimise-entity-tracker.patch similarity index 98% rename from Spigot-Server-Patches/0468-Use-distance-map-to-optimise-entity-tracker.patch rename to Spigot-Server-Patches/0467-Use-distance-map-to-optimise-entity-tracker.patch index 482f60896..ae74bdefb 100644 --- a/Spigot-Server-Patches/0468-Use-distance-map-to-optimise-entity-tracker.patch +++ b/Spigot-Server-Patches/0467-Use-distance-map-to-optimise-entity-tracker.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use distance map to optimise entity tracker Use the distance map to find candidate players for tracking. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7df29df2d6023e549e1fba0b5b1d1c1abcf92f8b..00206668dfdae7195f3c1ad3447ac7d9e529564d 100644 +index 60dae06ff5c016aecba23afd7a4152fcd3234616..d883da1e9101607209148a28aef8741407f13433 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -206,6 +206,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -44,10 +44,10 @@ index e9bc1d22825850a1f1ef3267428c19847d4c8ab8..4965d0fbc123071a2f2f44f559336f7a List list = this.tracker.getPassengers(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 84694ddcd3d32a1b4d09791d8b206bccbdd8d9c3..4c21cd6ebfd78c0cbefc68ac446601050d41f6d6 100644 +index 7ecd4c7d07d81672887c1e4b69a2ce82790de5a1..225709a27396cbfa29c16499728e42170a8fef08 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1525,6 +1525,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant cachedSingleHashSet; // Paper diff --git a/Spigot-Server-Patches/0470-Stop-copy-on-write-operations-for-updating-light-dat.patch b/Spigot-Server-Patches/0469-Stop-copy-on-write-operations-for-updating-light-dat.patch similarity index 100% rename from Spigot-Server-Patches/0470-Stop-copy-on-write-operations-for-updating-light-dat.patch rename to Spigot-Server-Patches/0469-Stop-copy-on-write-operations-for-updating-light-dat.patch diff --git a/Spigot-Server-Patches/0471-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0470-No-Tick-view-distance-implementation.patch similarity index 99% rename from Spigot-Server-Patches/0471-No-Tick-view-distance-implementation.patch rename to Spigot-Server-Patches/0470-No-Tick-view-distance-implementation.patch index a41aabfe9..e8fd56440 100644 --- a/Spigot-Server-Patches/0471-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0470-No-Tick-view-distance-implementation.patch @@ -124,10 +124,10 @@ index ef61f8e784b7ebd26293d627e8b8e1aef1be6e21..03b1a67aaf3ed75b7669a3157847affd if (flag1) { ChunkMapDistance.this.j.a(ChunkTaskQueueSorter.a(() -> { diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index c2babc4a70b46a88fdd5fd0bfdc8398b29b90253..a3a4837bbbef3e748a349954586392033728b2f1 100644 +index a70721a051f524862003b9fb1dda79cf9ad64db0..f6e04a116367010e23116161aca648c44535e2b7 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -117,6 +117,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -119,6 +119,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks @@ -607,7 +607,7 @@ index 7b20dd6d65288aca780f61bf2fc1acc47022af10..768adaa809e88412fcf8f7f60d617766 while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index df6299d81a6d6450272b9aaba397df523cb9e862..54403c34e256d5264111048806b42404a9705b44 100644 +index 5ff95f971c01fc010441dcc9099492cb627b3f0c..265dafc2e2afc98d2490fa8707a5b72a5543bc9e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -464,8 +464,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0472-Add-villager-reputation-API.patch b/Spigot-Server-Patches/0471-Add-villager-reputation-API.patch similarity index 98% rename from Spigot-Server-Patches/0472-Add-villager-reputation-API.patch rename to Spigot-Server-Patches/0471-Add-villager-reputation-API.patch index 2ce6b0003..29cebc01e 100644 --- a/Spigot-Server-Patches/0472-Add-villager-reputation-API.patch +++ b/Spigot-Server-Patches/0471-Add-villager-reputation-API.patch @@ -20,7 +20,7 @@ index 0000000000000000000000000000000000000000..0f10c333d88f2e1c56a6c7f22d421084 + } +} diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 70f15bc9de4d66da7991a18b438737db18e1e76e..c10ff09dd005c0c8b3cd374d9de82e77efcd9097 100644 +index a5426eabb4c2458213f54ea66edc06714aa30c1f..039d5cc20a6de46b0812b428e2f6526905ece2bf 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -947,6 +947,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation diff --git a/Spigot-Server-Patches/0473-Fix-Light-Command.patch b/Spigot-Server-Patches/0472-Fix-Light-Command.patch similarity index 100% rename from Spigot-Server-Patches/0473-Fix-Light-Command.patch rename to Spigot-Server-Patches/0472-Fix-Light-Command.patch diff --git a/Spigot-Server-Patches/0474-Fix-PotionEffect-ignores-icon-flag.patch b/Spigot-Server-Patches/0473-Fix-PotionEffect-ignores-icon-flag.patch similarity index 100% rename from Spigot-Server-Patches/0474-Fix-PotionEffect-ignores-icon-flag.patch rename to Spigot-Server-Patches/0473-Fix-PotionEffect-ignores-icon-flag.patch diff --git a/Spigot-Server-Patches/0475-Optimize-brigadier-child-sorting-performance.patch b/Spigot-Server-Patches/0474-Optimize-brigadier-child-sorting-performance.patch similarity index 100% rename from Spigot-Server-Patches/0475-Optimize-brigadier-child-sorting-performance.patch rename to Spigot-Server-Patches/0474-Optimize-brigadier-child-sorting-performance.patch diff --git a/Spigot-Server-Patches/0476-Don-t-toString-block-unless-actually-showing-the-mes.patch b/Spigot-Server-Patches/0475-Don-t-toString-block-unless-actually-showing-the-mes.patch similarity index 100% rename from Spigot-Server-Patches/0476-Don-t-toString-block-unless-actually-showing-the-mes.patch rename to Spigot-Server-Patches/0475-Don-t-toString-block-unless-actually-showing-the-mes.patch diff --git a/Spigot-Server-Patches/0477-Potential-bed-API.patch b/Spigot-Server-Patches/0476-Potential-bed-API.patch similarity index 100% rename from Spigot-Server-Patches/0477-Potential-bed-API.patch rename to Spigot-Server-Patches/0476-Potential-bed-API.patch diff --git a/Spigot-Server-Patches/0478-Wait-for-Async-Tasks-during-shutdown.patch b/Spigot-Server-Patches/0477-Wait-for-Async-Tasks-during-shutdown.patch similarity index 96% rename from Spigot-Server-Patches/0478-Wait-for-Async-Tasks-during-shutdown.patch rename to Spigot-Server-Patches/0477-Wait-for-Async-Tasks-during-shutdown.patch index 256d24870..bcec808a0 100644 --- a/Spigot-Server-Patches/0478-Wait-for-Async-Tasks-during-shutdown.patch +++ b/Spigot-Server-Patches/0477-Wait-for-Async-Tasks-during-shutdown.patch @@ -10,7 +10,7 @@ Adds a 5 second grace period for any async tasks to finish and warns if any are still running after that delay just as reload does. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4c21cd6ebfd78c0cbefc68ac446601050d41f6d6..fa64622f78399b934b9246b03d747ad0997354a9 100644 +index 225709a27396cbfa29c16499728e42170a8fef08..1175f23558fe694bfb77dd478b0a3ec15109dd9b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -771,6 +771,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant(this); // Paper } @@ -607,7 +607,7 @@ index a3a4837bbbef3e748a349954586392033728b2f1..bcad9da8e2d2f821c82e1e4125dc4ea4 // Yes, this doesn't match Vanilla, but it's the best we can do for now. // If this is an issue, PRs are welcome -@@ -485,6 +506,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -488,6 +509,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { if (valid && !this.isSpectator() || this.world.isLoaded(this.getChunkCoordinates())) { // Paper - don't tick dead players that are not in the world currently (pending respawn) super.tick(); } @@ -1146,10 +1146,10 @@ index fba7c9b5724114eab35a3d24febdee3cd3e30aa0..b6ae589548bdc75052f4986069b3374c } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index a19ef358baa4daff6753d034e7c8aab81cd14aa4..d2e1f086d25213549c813555464a8aeea28cee0f 100644 +index 033578cb5f2be7db6c03c37dcdf1e353a0441d68..8c3a5b11d32d6ccf4f76387db629943935234973 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1295,6 +1295,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1369,6 +1369,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.A = this.e; this.player.setLocation(d0, d1, d2, f, f1); diff --git a/Spigot-Server-Patches/0488-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch b/Spigot-Server-Patches/0487-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch similarity index 100% rename from Spigot-Server-Patches/0488-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch rename to Spigot-Server-Patches/0487-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch diff --git a/Spigot-Server-Patches/0489-Optimize-sending-packets-to-nearby-locations-sounds-.patch b/Spigot-Server-Patches/0488-Optimize-sending-packets-to-nearby-locations-sounds-.patch similarity index 100% rename from Spigot-Server-Patches/0489-Optimize-sending-packets-to-nearby-locations-sounds-.patch rename to Spigot-Server-Patches/0488-Optimize-sending-packets-to-nearby-locations-sounds-.patch diff --git a/Spigot-Server-Patches/0490-Improve-Chunk-Status-Transition-Speed.patch b/Spigot-Server-Patches/0489-Improve-Chunk-Status-Transition-Speed.patch similarity index 100% rename from Spigot-Server-Patches/0490-Improve-Chunk-Status-Transition-Speed.patch rename to Spigot-Server-Patches/0489-Improve-Chunk-Status-Transition-Speed.patch diff --git a/Spigot-Server-Patches/0491-Fix-villager-trading-demand-MC-163962.patch b/Spigot-Server-Patches/0490-Fix-villager-trading-demand-MC-163962.patch similarity index 100% rename from Spigot-Server-Patches/0491-Fix-villager-trading-demand-MC-163962.patch rename to Spigot-Server-Patches/0490-Fix-villager-trading-demand-MC-163962.patch diff --git a/Spigot-Server-Patches/0492-Maps-shouldn-t-load-chunks.patch b/Spigot-Server-Patches/0491-Maps-shouldn-t-load-chunks.patch similarity index 100% rename from Spigot-Server-Patches/0492-Maps-shouldn-t-load-chunks.patch rename to Spigot-Server-Patches/0491-Maps-shouldn-t-load-chunks.patch diff --git a/Spigot-Server-Patches/0493-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch b/Spigot-Server-Patches/0492-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch similarity index 91% rename from Spigot-Server-Patches/0493-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch rename to Spigot-Server-Patches/0492-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch index 7b6e45226..6465c2e09 100644 --- a/Spigot-Server-Patches/0493-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch +++ b/Spigot-Server-Patches/0492-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch @@ -19,10 +19,10 @@ index 63b112b38a51873cf5769ad8506c3fdb9d52d42c..910d1b3788fa713cadf2c8a56f595282 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 8c718982e2759faa52968ca6c3f9fad9ec9ecc5e..57b359710366607a5021edfef93b9e1f75aa3ea8 100644 +index 977a48bdd81d18992cacbd0ce6be2418fa9a103f..07264de4f33f9fcadb568c2fb3b95c9b1ba85212 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -303,8 +303,8 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -307,8 +307,8 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.worldDataServer.setThundering(flag1); } diff --git a/Spigot-Server-Patches/0494-Optimize-Bit-Operations-by-inlining.patch b/Spigot-Server-Patches/0493-Optimize-Bit-Operations-by-inlining.patch similarity index 100% rename from Spigot-Server-Patches/0494-Optimize-Bit-Operations-by-inlining.patch rename to Spigot-Server-Patches/0493-Optimize-Bit-Operations-by-inlining.patch diff --git a/Spigot-Server-Patches/0495-Optimize-Light-Engine.patch b/Spigot-Server-Patches/0494-Optimize-Light-Engine.patch similarity index 99% rename from Spigot-Server-Patches/0495-Optimize-Light-Engine.patch rename to Spigot-Server-Patches/0494-Optimize-Light-Engine.patch index 6adcb958b..b491d277e 100644 --- a/Spigot-Server-Patches/0495-Optimize-Light-Engine.patch +++ b/Spigot-Server-Patches/0494-Optimize-Light-Engine.patch @@ -25,7 +25,7 @@ Massive update to light to improve performance and chunk loading/generation. 8) Fix NPE risk that crashes server in getting nibble data diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index afcbdd8e54ad936a4a3ac03341e1c52524624474..45c142c227bc258bbd5c8c03c6012663dccf8f3f 100644 +index 4b45a2bf926c26eddc7d81c233ab61870794ecdc..6acb5f05a05c542f8257e205ef70987be2d29194 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -1046,7 +1046,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -1386,7 +1386,7 @@ index c44eeaae0cff03ae5cfa53b3c0f240ef5e982083..6c399bcea03e839bf2f21e92b5d76d46 this.world.asyncChunkTaskManager.close(true); // Paper - Required since we're closing regionfiles in the next line this.m.close(); diff --git a/src/main/java/net/minecraft/server/ThreadedMailbox.java b/src/main/java/net/minecraft/server/ThreadedMailbox.java -index ebb9737995e0f738700d598af46a63f605f2b165..27e01bca675e46e814d18959702bb2acb24f9b1e 100644 +index b7af235dc2841dc9c8296805624f6ee763b86dfb..faf4745d368993ccdf0c017937efc5be7805083b 100644 --- a/src/main/java/net/minecraft/server/ThreadedMailbox.java +++ b/src/main/java/net/minecraft/server/ThreadedMailbox.java @@ -109,7 +109,8 @@ public class ThreadedMailbox implements Mailbox, AutoCloseable, Runnable { @@ -1400,10 +1400,10 @@ index ebb9737995e0f738700d598af46a63f605f2b165..27e01bca675e46e814d18959702bb2ac this.a.a(t0); this.f(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 57b359710366607a5021edfef93b9e1f75aa3ea8..4b8b0973c3d5765b276e8ae27062bc0d9d048120 100644 +index 07264de4f33f9fcadb568c2fb3b95c9b1ba85212..1642bb724032530f6ecbc849f449b93e7c450873 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -710,6 +710,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -714,6 +714,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } gameprofilerfiller.exit(); timings.chunkTicksBlocks.stopTiming(); // Paper diff --git a/Spigot-Server-Patches/0496-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0495-Delay-Chunk-Unloads-based-on-Player-Movement.patch similarity index 98% rename from Spigot-Server-Patches/0496-Delay-Chunk-Unloads-based-on-Player-Movement.patch rename to Spigot-Server-Patches/0495-Delay-Chunk-Unloads-based-on-Player-Movement.patch index bbc778c30..b76636cf8 100644 --- a/Spigot-Server-Patches/0496-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0495-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -17,7 +17,7 @@ This allows servers with smaller worlds who do less long distance exploring to s wasting cpu cycles on saving/unloading/reloading chunks repeatedly. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ab9170c8440dbd30639c2d451b58583fef13220e..af34b3430d74a8a7e86b7c9ebcd3f734a168da9c 100644 +index e884456fac00a81d251f75fb9eea98092dc96408..1296e576526f41635e6d61289e38ee17efcbd837 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -625,4 +625,13 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0497-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/Spigot-Server-Patches/0496-Add-Plugin-Tickets-to-API-Chunk-Methods.patch similarity index 100% rename from Spigot-Server-Patches/0497-Add-Plugin-Tickets-to-API-Chunk-Methods.patch rename to Spigot-Server-Patches/0496-Add-Plugin-Tickets-to-API-Chunk-Methods.patch diff --git a/Spigot-Server-Patches/0498-Fix-missing-chunks-due-to-integer-overflow.patch b/Spigot-Server-Patches/0497-Fix-missing-chunks-due-to-integer-overflow.patch similarity index 100% rename from Spigot-Server-Patches/0498-Fix-missing-chunks-due-to-integer-overflow.patch rename to Spigot-Server-Patches/0497-Fix-missing-chunks-due-to-integer-overflow.patch diff --git a/Spigot-Server-Patches/0499-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/Spigot-Server-Patches/0498-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch similarity index 100% rename from Spigot-Server-Patches/0499-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch rename to Spigot-Server-Patches/0498-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch diff --git a/Spigot-Server-Patches/0500-Fix-piston-physics-inconsistency-MC-188840.patch b/Spigot-Server-Patches/0499-Fix-piston-physics-inconsistency-MC-188840.patch similarity index 100% rename from Spigot-Server-Patches/0500-Fix-piston-physics-inconsistency-MC-188840.patch rename to Spigot-Server-Patches/0499-Fix-piston-physics-inconsistency-MC-188840.patch diff --git a/Spigot-Server-Patches/0501-Fix-sand-duping.patch b/Spigot-Server-Patches/0500-Fix-sand-duping.patch similarity index 94% rename from Spigot-Server-Patches/0501-Fix-sand-duping.patch rename to Spigot-Server-Patches/0500-Fix-sand-duping.patch index d6f1fff05..2b9b035e5 100644 --- a/Spigot-Server-Patches/0501-Fix-sand-duping.patch +++ b/Spigot-Server-Patches/0500-Fix-sand-duping.patch @@ -7,7 +7,7 @@ If the falling block dies during teleportation (entity#move), then we need to detect that by placing a check after the move. diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index f5cd0c6e3b6d375fb227802e3620dab52f0f4de4..492a4cf1a8b1a26624b093d7f6946bfd8277c4f9 100644 +index 0fbcf454c2db2427055123424c6d10cfbb939c17..76aac1b131f314775e418339e434f4f2da2ad619 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -64,6 +64,11 @@ public class EntityFallingBlock extends Entity { diff --git a/Spigot-Server-Patches/0502-Prevent-position-desync-in-playerconnection-causing-.patch b/Spigot-Server-Patches/0501-Prevent-position-desync-in-playerconnection-causing-.patch similarity index 91% rename from Spigot-Server-Patches/0502-Prevent-position-desync-in-playerconnection-causing-.patch rename to Spigot-Server-Patches/0501-Prevent-position-desync-in-playerconnection-causing-.patch index f51696e2d..2915f0aa8 100644 --- a/Spigot-Server-Patches/0502-Prevent-position-desync-in-playerconnection-causing-.patch +++ b/Spigot-Server-Patches/0501-Prevent-position-desync-in-playerconnection-causing-.patch @@ -14,10 +14,10 @@ behaviour, we need to move all of this dangerous logic outside of the move call and into an appropriate place in the tick method. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d2e1f086d25213549c813555464a8aeea28cee0f..24a442f2ef4fd8b5ea4cd25d7be1a7dbe2429cec 100644 +index 8c3a5b11d32d6ccf4f76387db629943935234973..1a3aba5754bcbdd0400d3a090e5a754fcecb4406 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1092,6 +1092,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1166,6 +1166,11 @@ public class PlayerConnection implements PacketListenerPlayIn { this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9)); this.player.setOnGround(packetplayinflying.b()); // CraftBukkit - SPIGOT-5810, SPIGOT-5835: reset by this.player.move diff --git a/Spigot-Server-Patches/0503-Fix-enderdragon-exp-dupe.patch b/Spigot-Server-Patches/0502-Fix-enderdragon-exp-dupe.patch similarity index 93% rename from Spigot-Server-Patches/0503-Fix-enderdragon-exp-dupe.patch rename to Spigot-Server-Patches/0502-Fix-enderdragon-exp-dupe.patch index a1d22516f..94405b2a4 100644 --- a/Spigot-Server-Patches/0503-Fix-enderdragon-exp-dupe.patch +++ b/Spigot-Server-Patches/0502-Fix-enderdragon-exp-dupe.patch @@ -7,7 +7,7 @@ Properly track death stage when unloading/loading in the dragon diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 0e7c5dd9224d06fecf75c00c0c56d610a8fa8f4c..6b2c5e8d4640e19d33cbfe76d2399e6100890dbc 100644 +index 144ad80520487749a212c0b2c030386af53af14e..de53af8c01f8fa9636386737b6bc071b32f87cd1 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -830,6 +830,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { diff --git a/Spigot-Server-Patches/0504-Inventory-getHolder-method-without-block-snapshot.patch b/Spigot-Server-Patches/0503-Inventory-getHolder-method-without-block-snapshot.patch similarity index 100% rename from Spigot-Server-Patches/0504-Inventory-getHolder-method-without-block-snapshot.patch rename to Spigot-Server-Patches/0503-Inventory-getHolder-method-without-block-snapshot.patch diff --git a/Spigot-Server-Patches/0505-Expose-Arrow-getItemStack.patch b/Spigot-Server-Patches/0504-Expose-Arrow-getItemStack.patch similarity index 94% rename from Spigot-Server-Patches/0505-Expose-Arrow-getItemStack.patch rename to Spigot-Server-Patches/0504-Expose-Arrow-getItemStack.patch index 4cf3ee13c..a0fdb2ccc 100644 --- a/Spigot-Server-Patches/0505-Expose-Arrow-getItemStack.patch +++ b/Spigot-Server-Patches/0504-Expose-Arrow-getItemStack.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose Arrow getItemStack diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index a7c475454e627e54d6771c5023144d55ad389ae3..890f5436b6e4e29759d26dbe6d0759cfa6a956df 100644 +index 93084633d487684fb598038d148670fe6a00b3ed..402684ee2a42eefc843df663a1f3af9a8a66a0bb 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -520,6 +520,7 @@ public abstract class EntityArrow extends IProjectile { diff --git a/Spigot-Server-Patches/0506-Add-and-implement-PlayerRecipeBookClickEvent.patch b/Spigot-Server-Patches/0505-Add-and-implement-PlayerRecipeBookClickEvent.patch similarity index 92% rename from Spigot-Server-Patches/0506-Add-and-implement-PlayerRecipeBookClickEvent.patch rename to Spigot-Server-Patches/0505-Add-and-implement-PlayerRecipeBookClickEvent.patch index 365faeda3..bf84be501 100644 --- a/Spigot-Server-Patches/0506-Add-and-implement-PlayerRecipeBookClickEvent.patch +++ b/Spigot-Server-Patches/0505-Add-and-implement-PlayerRecipeBookClickEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 24a442f2ef4fd8b5ea4cd25d7be1a7dbe2429cec..20e423267d03b5fa032925c8214e1e33dbfcfede 100644 +index 1a3aba5754bcbdd0400d3a090e5a754fcecb4406..d391ca12bc3de506cc4485e4d207f04033ca0b94 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2515,9 +2515,15 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2602,9 +2602,15 @@ public class PlayerConnection implements PacketListenerPlayIn { PlayerConnectionUtils.ensureMainThread(packetplayinautorecipe, this, this.player.getWorldServer()); this.player.resetIdleTimer(); if (!this.player.isSpectator() && this.player.activeContainer.windowId == packetplayinautorecipe.b() && this.player.activeContainer.c(this.player) && this.player.activeContainer instanceof ContainerRecipeBook) { diff --git a/Spigot-Server-Patches/0507-Hide-sync-chunk-writes-behind-flag.patch b/Spigot-Server-Patches/0506-Hide-sync-chunk-writes-behind-flag.patch similarity index 89% rename from Spigot-Server-Patches/0507-Hide-sync-chunk-writes-behind-flag.patch rename to Spigot-Server-Patches/0506-Hide-sync-chunk-writes-behind-flag.patch index 0b83cd520..86e899330 100644 --- a/Spigot-Server-Patches/0507-Hide-sync-chunk-writes-behind-flag.patch +++ b/Spigot-Server-Patches/0506-Hide-sync-chunk-writes-behind-flag.patch @@ -9,10 +9,10 @@ on harddrives. -DPaper.enable-sync-chunk-writes=true to enable diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -index 0aa8448d25f743a0d12e4c7f7c9c04fd9d5d0088..23f8e144fc6256bcc71269c03642172f3469fc4b 100644 +index 3ecfb193be1d83d2b2c90ca9e264388dabb88c05..65961a03728852bd75367083a0de6fd0082b17cb 100644 --- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -@@ -100,7 +100,7 @@ public class DedicatedServerProperties extends PropertyManager { return MathHelper.clamp(integer, 1, 29999984); }, 29999984); diff --git a/Spigot-Server-Patches/0508-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0507-Limit-lightning-strike-effect-distance.patch similarity index 97% rename from Spigot-Server-Patches/0508-Limit-lightning-strike-effect-distance.patch rename to Spigot-Server-Patches/0507-Limit-lightning-strike-effect-distance.patch index d771633a6..01fc36db7 100644 --- a/Spigot-Server-Patches/0508-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0507-Limit-lightning-strike-effect-distance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Limit lightning strike effect distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index af34b3430d74a8a7e86b7c9ebcd3f734a168da9c..54e23de4a5058d6327bd2fdc7016e2ac3b287af1 100644 +index 1296e576526f41635e6d61289e38ee17efcbd837..c2023f2c345afb108062f05568321f433ad71e1f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -634,4 +634,26 @@ public class PaperWorldConfig { diff --git a/Spigot-Server-Patches/0509-Add-permission-for-command-blocks.patch b/Spigot-Server-Patches/0508-Add-permission-for-command-blocks.patch similarity index 95% rename from Spigot-Server-Patches/0509-Add-permission-for-command-blocks.patch rename to Spigot-Server-Patches/0508-Add-permission-for-command-blocks.patch index 00d6df4da..a70ec155f 100644 --- a/Spigot-Server-Patches/0509-Add-permission-for-command-blocks.patch +++ b/Spigot-Server-Patches/0508-Add-permission-for-command-blocks.patch @@ -31,10 +31,10 @@ index 7e13b1cf6d92c3e0f2dab1ba1d42bd4f250e256c..3820acd65f3cd488dba964e6d9c45885 } else { if (entityhuman.getWorld().isClientSide) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 20e423267d03b5fa032925c8214e1e33dbfcfede..5b7f6f5504be294e4d5ff5a891644c8b45222ae2 100644 +index d391ca12bc3de506cc4485e4d207f04033ca0b94..bf052016d7ca4d2012bafe86909f4d581498d403 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -607,7 +607,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -650,7 +650,7 @@ public class PlayerConnection implements PacketListenerPlayIn { PlayerConnectionUtils.ensureMainThread(packetplayinsetcommandblock, this, this.player.getWorldServer()); if (!this.minecraftServer.getEnableCommandBlock()) { this.player.sendMessage(new ChatMessage("advMode.notEnabled"), SystemUtils.b); @@ -43,7 +43,7 @@ index 20e423267d03b5fa032925c8214e1e33dbfcfede..5b7f6f5504be294e4d5ff5a891644c8b this.player.sendMessage(new ChatMessage("advMode.notAllowed"), SystemUtils.b); } else { CommandBlockListenerAbstract commandblocklistenerabstract = null; -@@ -670,7 +670,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -713,7 +713,7 @@ public class PlayerConnection implements PacketListenerPlayIn { PlayerConnectionUtils.ensureMainThread(packetplayinsetcommandminecart, this, this.player.getWorldServer()); if (!this.minecraftServer.getEnableCommandBlock()) { this.player.sendMessage(new ChatMessage("advMode.notEnabled"), SystemUtils.b); @@ -53,7 +53,7 @@ index 20e423267d03b5fa032925c8214e1e33dbfcfede..5b7f6f5504be294e4d5ff5a891644c8b } else { CommandBlockListenerAbstract commandblocklistenerabstract = packetplayinsetcommandminecart.a(this.player.world); diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index dec20939ae312f24f13f02c4a275f45974467cb0..300fad4b4a2950e7e613f0ef97ac9e8740c09243 100644 +index cdaeeb8b01f084ae7a91f9681850a737af8a74be..4b564d36135e9dbdbb57a95791f89aefd180457b 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -353,7 +353,7 @@ public class PlayerInteractManager { diff --git a/Spigot-Server-Patches/0510-Ensure-Entity-AABB-s-are-never-invalid.patch b/Spigot-Server-Patches/0509-Ensure-Entity-AABB-s-are-never-invalid.patch similarity index 88% rename from Spigot-Server-Patches/0510-Ensure-Entity-AABB-s-are-never-invalid.patch rename to Spigot-Server-Patches/0509-Ensure-Entity-AABB-s-are-never-invalid.patch index 7e6b897e2..23d494d42 100644 --- a/Spigot-Server-Patches/0510-Ensure-Entity-AABB-s-are-never-invalid.patch +++ b/Spigot-Server-Patches/0509-Ensure-Entity-AABB-s-are-never-invalid.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure Entity AABB's are never invalid diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 00206668dfdae7195f3c1ad3447ac7d9e529564d..dcc950b89fcbb8f7f6abe56c06cdedf5367e37ca 100644 +index d883da1e9101607209148a28aef8741407f13433..c9f5f341371e1ccc7c9a71bb357862424d801d8a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -389,7 +389,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -17,7 +17,7 @@ index 00206668dfdae7195f3c1ad3447ac7d9e529564d..dcc950b89fcbb8f7f6abe56c06cdedf5 if (valid) ((WorldServer) world).chunkCheck(this); // CraftBukkit } -@@ -2896,6 +2896,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2897,6 +2897,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return new AxisAlignedBB(vec3d, vec3d1); } @@ -25,7 +25,7 @@ index 00206668dfdae7195f3c1ad3447ac7d9e529564d..dcc950b89fcbb8f7f6abe56c06cdedf5 public void a(AxisAlignedBB axisalignedbb) { // CraftBukkit start - block invalid bounding boxes double minX = axisalignedbb.minX, -@@ -3334,6 +3335,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3335,6 +3336,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public void setPositionRaw(double d0, double d1, double d2) { diff --git a/Spigot-Server-Patches/0511-Optimize-WorldBorder-collision-checks-and-air.patch b/Spigot-Server-Patches/0510-Optimize-WorldBorder-collision-checks-and-air.patch similarity index 96% rename from Spigot-Server-Patches/0511-Optimize-WorldBorder-collision-checks-and-air.patch rename to Spigot-Server-Patches/0510-Optimize-WorldBorder-collision-checks-and-air.patch index 97a7a1ca1..bef528167 100644 --- a/Spigot-Server-Patches/0511-Optimize-WorldBorder-collision-checks-and-air.patch +++ b/Spigot-Server-Patches/0510-Optimize-WorldBorder-collision-checks-and-air.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize WorldBorder collision checks and air diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index dcc950b89fcbb8f7f6abe56c06cdedf5367e37ca..d903460c32213fa2d5362671efc9e96b142daf9a 100644 +index c9f5f341371e1ccc7c9a71bb357862424d801d8a..422b82f15c323f504458a1fdcd5cf7018ab53468 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -817,7 +817,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -818,7 +818,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke AxisAlignedBB axisalignedbb = this.getBoundingBox(); VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this); VoxelShape voxelshape = this.world.getWorldBorder().c(); diff --git a/Spigot-Server-Patches/0512-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/Spigot-Server-Patches/0511-Fix-Per-World-Difficulty-Remembering-Difficulty.patch similarity index 86% rename from Spigot-Server-Patches/0512-Fix-Per-World-Difficulty-Remembering-Difficulty.patch rename to Spigot-Server-Patches/0511-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index fc81ffc6e..fa2eb862d 100644 --- a/Spigot-Server-Patches/0512-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/Spigot-Server-Patches/0511-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -26,10 +26,10 @@ index bc71070c670d1a64c60b9f19711a5e8a50ace56e..9efc743e028650ccc9cda5a2c9deb183 return 0; } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 03b38e2c53376db25864a0c6f00f786c4dae215d..f55dc28f3e220966199ec718a437e50ef4b76027 100644 +index f5792b999ce42acb13ae9a62ceb2ddec39abe209..5504facd2e453238caa71d98743be5416d4dd4fe 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -321,7 +321,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -323,7 +323,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @Override public void updateWorldSettings() { @@ -39,34 +39,34 @@ index 03b38e2c53376db25864a0c6f00f786c4dae215d..f55dc28f3e220966199ec718a437e50e @Override diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fa64622f78399b934b9246b03d747ad0997354a9..474b1a3d4e09489d18a9b2b07131af3d2599ab52 100644 +index 1175f23558fe694bfb77dd478b0a3ec15109dd9b..1439b874b9a825ea605c15aaacaecaed12218779 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1518,11 +1518,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0.0D; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/Spigot-Server-Patches/0524-Update-itemstack-legacy-name-and-lore.patch b/Spigot-Server-Patches/0523-Update-itemstack-legacy-name-and-lore.patch similarity index 100% rename from Spigot-Server-Patches/0524-Update-itemstack-legacy-name-and-lore.patch rename to Spigot-Server-Patches/0523-Update-itemstack-legacy-name-and-lore.patch diff --git a/Spigot-Server-Patches/0525-Spawn-player-in-correct-world-on-login.patch b/Spigot-Server-Patches/0524-Spawn-player-in-correct-world-on-login.patch similarity index 100% rename from Spigot-Server-Patches/0525-Spawn-player-in-correct-world-on-login.patch rename to Spigot-Server-Patches/0524-Spawn-player-in-correct-world-on-login.patch diff --git a/Spigot-Server-Patches/0526-Add-PrepareResultEvent.patch b/Spigot-Server-Patches/0525-Add-PrepareResultEvent.patch similarity index 98% rename from Spigot-Server-Patches/0526-Add-PrepareResultEvent.patch rename to Spigot-Server-Patches/0525-Add-PrepareResultEvent.patch index 17ce66cf5..bfbd706e2 100644 --- a/Spigot-Server-Patches/0526-Add-PrepareResultEvent.patch +++ b/Spigot-Server-Patches/0525-Add-PrepareResultEvent.patch @@ -106,10 +106,10 @@ index ba3db09763d94d730c3fe8662e4dbb24e0636786..3506473f9b9f4c747f7b737d9bd02bef private void a(IInventory iinventory, ItemStack itemstack) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9127df12252bbd619d97db996a88ae91da9d3345..0f0d70c0622558740086f0f7cf89e5500128f955 100644 +index 2fe655e0b7655cc9b4ce1509c6d6cfd51860c006..90d8631ddd95833f0b981ff22f1669ba8337d552 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1548,19 +1548,44 @@ public class CraftEventFactory { +@@ -1546,19 +1546,44 @@ public class CraftEventFactory { return event; } diff --git a/Spigot-Server-Patches/0527-Allow-delegation-to-vanilla-chunk-gen.patch b/Spigot-Server-Patches/0526-Allow-delegation-to-vanilla-chunk-gen.patch similarity index 100% rename from Spigot-Server-Patches/0527-Allow-delegation-to-vanilla-chunk-gen.patch rename to Spigot-Server-Patches/0526-Allow-delegation-to-vanilla-chunk-gen.patch diff --git a/Spigot-Server-Patches/0528-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/Spigot-Server-Patches/0527-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch similarity index 90% rename from Spigot-Server-Patches/0528-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch rename to Spigot-Server-Patches/0527-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch index cf7b96ad9..2d89ca00e 100644 --- a/Spigot-Server-Patches/0528-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch +++ b/Spigot-Server-Patches/0527-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't check chunk for portal on world gen entity add diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f9e7fd85254bfc8ed737e28060dc1014488c6b6e..76185f042dd773f267dc7574116cec7bd8a28ca8 100644 +index 445e092efc1633638af9db72141cf9a85a3ac268..fe0334b505de64ae1d96c4f0b6e66313d2b40010 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2929,7 +2929,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0529-Optimize-NetworkManager-Exception-Handling.patch b/Spigot-Server-Patches/0528-Optimize-NetworkManager-Exception-Handling.patch similarity index 100% rename from Spigot-Server-Patches/0529-Optimize-NetworkManager-Exception-Handling.patch rename to Spigot-Server-Patches/0528-Optimize-NetworkManager-Exception-Handling.patch diff --git a/Spigot-Server-Patches/0530-Fix-Concurrency-issue-in-WeightedList.patch b/Spigot-Server-Patches/0529-Fix-Concurrency-issue-in-WeightedList.patch similarity index 100% rename from Spigot-Server-Patches/0530-Fix-Concurrency-issue-in-WeightedList.patch rename to Spigot-Server-Patches/0529-Fix-Concurrency-issue-in-WeightedList.patch diff --git a/Spigot-Server-Patches/0531-Optimize-the-advancement-data-player-iteration-to-be.patch b/Spigot-Server-Patches/0530-Optimize-the-advancement-data-player-iteration-to-be.patch similarity index 100% rename from Spigot-Server-Patches/0531-Optimize-the-advancement-data-player-iteration-to-be.patch rename to Spigot-Server-Patches/0530-Optimize-the-advancement-data-player-iteration-to-be.patch diff --git a/Spigot-Server-Patches/0532-Fix-arrows-never-despawning-MC-125757.patch b/Spigot-Server-Patches/0531-Fix-arrows-never-despawning-MC-125757.patch similarity index 94% rename from Spigot-Server-Patches/0532-Fix-arrows-never-despawning-MC-125757.patch rename to Spigot-Server-Patches/0531-Fix-arrows-never-despawning-MC-125757.patch index 9cb34d891..27b610b97 100644 --- a/Spigot-Server-Patches/0532-Fix-arrows-never-despawning-MC-125757.patch +++ b/Spigot-Server-Patches/0531-Fix-arrows-never-despawning-MC-125757.patch @@ -9,7 +9,7 @@ instead of getting stuck in a never despawn state (bubble columns, etc). diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 890f5436b6e4e29759d26dbe6d0759cfa6a956df..b0218959a0e553b034745802765e0f93b62b32fb 100644 +index 402684ee2a42eefc843df663a1f3af9a8a66a0bb..1e7f5957d879d1ba8cf2b29cf9397b8e204e4381 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -133,6 +133,7 @@ public abstract class EntityArrow extends IProjectile { diff --git a/Spigot-Server-Patches/0533-Thread-Safe-Vanilla-Command-permission-checking.patch b/Spigot-Server-Patches/0532-Thread-Safe-Vanilla-Command-permission-checking.patch similarity index 100% rename from Spigot-Server-Patches/0533-Thread-Safe-Vanilla-Command-permission-checking.patch rename to Spigot-Server-Patches/0532-Thread-Safe-Vanilla-Command-permission-checking.patch diff --git a/Spigot-Server-Patches/0534-Move-range-check-for-block-placing-up.patch b/Spigot-Server-Patches/0533-Move-range-check-for-block-placing-up.patch similarity index 94% rename from Spigot-Server-Patches/0534-Move-range-check-for-block-placing-up.patch rename to Spigot-Server-Patches/0533-Move-range-check-for-block-placing-up.patch index 20d4b9b49..a8c8476b2 100644 --- a/Spigot-Server-Patches/0534-Move-range-check-for-block-placing-up.patch +++ b/Spigot-Server-Patches/0533-Move-range-check-for-block-placing-up.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c5f9d472d631e54c61e886e9b5915640ed4dcdba..45cf34c35af9d2ae9a60ff81af5bea3495d4621f 100644 +index 0c1b4932f14e58bc6d418cf20f23e7915525430b..1f919dde69c8d8db0b0a7e857e5f10878f3aac52 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1428,15 +1428,19 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1502,15 +1502,19 @@ public class PlayerConnection implements PacketListenerPlayIn { BlockPosition blockposition = movingobjectpositionblock.getBlockPosition(); EnumDirection enumdirection = movingobjectpositionblock.getDirection(); diff --git a/Spigot-Server-Patches/0535-Fix-SPIGOT-5989.patch b/Spigot-Server-Patches/0534-Fix-SPIGOT-5989.patch similarity index 100% rename from Spigot-Server-Patches/0535-Fix-SPIGOT-5989.patch rename to Spigot-Server-Patches/0534-Fix-SPIGOT-5989.patch diff --git a/Spigot-Server-Patches/0536-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/Spigot-Server-Patches/0535-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch similarity index 90% rename from Spigot-Server-Patches/0536-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch rename to Spigot-Server-Patches/0535-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch index 58d890970..7316194c8 100644 --- a/Spigot-Server-Patches/0536-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch +++ b/Spigot-Server-Patches/0535-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix SPIGOT-5824 Bukkit world-container is not used diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 95f3abe47a5ef4268bc6b7cdde94cba30303d786..52944bd5801a6ddf4df347dcdde9258d5b131b76 100644 +index 80a95441ec2b8394b74818ab74de070ba1ce2754..9b2fba00b574087575ba70c82613fbcd343de826 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -93,11 +93,20 @@ public class Main { +@@ -92,11 +92,20 @@ public class Main { return; } @@ -23,7 +23,7 @@ index 95f3abe47a5ef4268bc6b7cdde94cba30303d786..52944bd5801a6ddf4df347dcdde9258d + file = new File(bukkitConfiguration.getString("settings.world-container", ".")); + } + // Paper end - fix SPIGOT-5824 - YggdrasilAuthenticationService yggdrasilauthenticationservice = new com.destroystokyo.paper.profile.PaperAuthenticationService(Proxy.NO_PROXY, UUID.randomUUID().toString()); // Paper + YggdrasilAuthenticationService yggdrasilauthenticationservice = new com.destroystokyo.paper.profile.PaperAuthenticationService(Proxy.NO_PROXY); // Paper MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); - UserCache usercache = new UserCache(gameprofilerepository, new File(file, MinecraftServer.b.getName())); diff --git a/Spigot-Server-Patches/0537-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/Spigot-Server-Patches/0536-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch similarity index 85% rename from Spigot-Server-Patches/0537-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch rename to Spigot-Server-Patches/0536-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch index 7e8004429..cfdde62b3 100644 --- a/Spigot-Server-Patches/0537-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch +++ b/Spigot-Server-Patches/0536-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix SPIGOT-5885 Unable to disable advancements diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 52944bd5801a6ddf4df347dcdde9258d5b131b76..18521e2df4a45a8c4e67770028586ffd779ea519 100644 +index 9b2fba00b574087575ba70c82613fbcd343de826..ae48df4b9b78bc3a687166fdaa7b8a60bd13ec35 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -93,6 +93,7 @@ public class Main { +@@ -92,6 +92,7 @@ public class Main { return; } diff --git a/Spigot-Server-Patches/0538-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/Spigot-Server-Patches/0537-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch similarity index 100% rename from Spigot-Server-Patches/0538-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch rename to Spigot-Server-Patches/0537-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch diff --git a/Spigot-Server-Patches/0539-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/Spigot-Server-Patches/0538-Add-missing-strikeLighting-call-to-World-spigot-stri.patch similarity index 100% rename from Spigot-Server-Patches/0539-Add-missing-strikeLighting-call-to-World-spigot-stri.patch rename to Spigot-Server-Patches/0538-Add-missing-strikeLighting-call-to-World-spigot-stri.patch diff --git a/Spigot-Server-Patches/0540-Fix-some-rails-connecting-improperly.patch b/Spigot-Server-Patches/0539-Fix-some-rails-connecting-improperly.patch similarity index 100% rename from Spigot-Server-Patches/0540-Fix-some-rails-connecting-improperly.patch rename to Spigot-Server-Patches/0539-Fix-some-rails-connecting-improperly.patch diff --git a/Spigot-Server-Patches/0541-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/Spigot-Server-Patches/0540-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from Spigot-Server-Patches/0541-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to Spigot-Server-Patches/0540-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/Spigot-Server-Patches/0542-Incremental-player-saving.patch b/Spigot-Server-Patches/0541-Incremental-player-saving.patch similarity index 96% rename from Spigot-Server-Patches/0542-Incremental-player-saving.patch rename to Spigot-Server-Patches/0541-Incremental-player-saving.patch index 3c1934087..71276bc12 100644 --- a/Spigot-Server-Patches/0542-Incremental-player-saving.patch +++ b/Spigot-Server-Patches/0541-Incremental-player-saving.patch @@ -25,7 +25,7 @@ index 53b62057a3edc3c211c4bade3a01fb065a523fcf..669653b5cfb057b277e509b630fd73a8 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index bcad9da8e2d2f821c82e1e4125dc4ea417f9bb0e..8e1655a975af24f6781a95be7030afa8f1b14472 100644 +index de70bce8d33a8f4e92d0b65e37cb1a624cb071e6..500d8914cc0faac53a728af016c85561c03491fe 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -43,6 +43,7 @@ import org.bukkit.inventory.MainHand; @@ -37,7 +37,7 @@ index bcad9da8e2d2f821c82e1e4125dc4ea417f9bb0e..8e1655a975af24f6781a95be7030afa8 public NetworkManager networkManager; // Paper public final MinecraftServer server; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 474b1a3d4e09489d18a9b2b07131af3d2599ab52..e65c0b9618bd4bc9195de64c18f3f23d567bcab8 100644 +index 1439b874b9a825ea605c15aaacaecaed12218779..3ef193958e653e7f39d97f11b9778a2242b3c985 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1226,9 +1226,15 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant> { diff --git a/Spigot-Server-Patches/0564-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0563-Optimize-redstone-algorithm.patch similarity index 99% rename from Spigot-Server-Patches/0564-Optimize-redstone-algorithm.patch rename to Spigot-Server-Patches/0563-Optimize-redstone-algorithm.patch index 6cb853973..0d8c3c8ba 100644 --- a/Spigot-Server-Patches/0564-Optimize-redstone-algorithm.patch +++ b/Spigot-Server-Patches/0563-Optimize-redstone-algorithm.patch @@ -19,7 +19,7 @@ Aside from making the obvious class/function renames and obfhelpers I didn't nee Just added Bukkit's event system and took a few liberties with dead code and comment misspellings. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 11460f83fa2f4b075a4d37c0ff94ace960a89b60..81e75e1ad07a887de524f16c5bc1c44b6ae2eb9a 100644 +index 6738f9f6089931f654f770c21ccfd9995abc8d90..26287b3e4007c02b9d78d60453fa16d3cfaae638 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -661,4 +661,14 @@ public class PaperWorldConfig { @@ -1138,7 +1138,7 @@ index 7b3ccded0451f7b6634aeca0bdc1b5cc94f52b96..7f9ca45d403000d26d84198d8f88cd48 c(iblockdata, world, blockposition); world.a(blockposition, false); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index fd761c57980f6030f270a44f6492a00f12749703..eec338649edbdaebbe694a23ccb7a8b5cd5f9a15 100644 +index fb3776c00cf8b5125550e8a2bc6c270ba8a80dc5..18cddbcb8447c0c09f9aeb8aab40bdf4ea762b3e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -598,6 +598,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -1149,7 +1149,7 @@ index fd761c57980f6030f270a44f6492a00f12749703..eec338649edbdaebbe694a23ccb7a8b5 public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) { if (!this.isClientSide) { IBlockData iblockdata = this.getType(blockposition); -@@ -1223,6 +1224,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1227,6 +1228,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0)))); } diff --git a/Spigot-Server-Patches/0564-Fix-hex-colors-not-working-in-some-kick-messages.patch b/Spigot-Server-Patches/0564-Fix-hex-colors-not-working-in-some-kick-messages.patch new file mode 100644 index 000000000..44fcc867b --- /dev/null +++ b/Spigot-Server-Patches/0564-Fix-hex-colors-not-working-in-some-kick-messages.patch @@ -0,0 +1,64 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: JRoy +Date: Thu, 27 Aug 2020 16:57:25 -0400 +Subject: [PATCH] Fix hex colors not working in some kick messages + + +diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java +index 5e1747dc176ef855829a38605ec85c8494fb0d21..1d60def8fa7041b3383c287153cbb9c6cec3d0f9 100644 +--- a/src/main/java/net/minecraft/server/HandshakeListener.java ++++ b/src/main/java/net/minecraft/server/HandshakeListener.java +@@ -35,7 +35,7 @@ public class HandshakeListener implements PacketHandshakingInListener { + synchronized (throttleTracker) { + if (throttleTracker.containsKey(address) && !"127.0.0.1".equals(address.getHostAddress()) && currentTime - throttleTracker.get(address) < connectionThrottle) { + throttleTracker.put(address, currentTime); +- ChatMessage chatmessage = new ChatMessage(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage); // Paper - Configurable connection throttle kick message ++ IChatBaseComponent chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage, true)[0]; // Paper - Configurable connection throttle kick message // Paper - Fix hex colors not working in some kick messages + this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage)); + this.c.close(chatmessage); + return; +@@ -61,12 +61,12 @@ public class HandshakeListener implements PacketHandshakingInListener { + } + // CraftBukkit end + if (packethandshakinginsetprotocol.c() != SharedConstants.getGameVersion().getProtocolVersion()) { +- ChatMessage chatmessage; ++ IChatBaseComponent chatmessage; // Paper - Fix hex colors not working in some kick messages + + if (packethandshakinginsetprotocol.c() < 754) { +- chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) ); // Spigot ++ chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) , true )[0]; // Spigot // Paper - Fix hex colors not working in some kick messages + } else { +- chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) ); // Spigot ++ chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) , true )[0]; // Spigot // Paper - Fix hex colors not working in some kick messages + } + + this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage)); +@@ -82,7 +82,7 @@ public class HandshakeListener implements PacketHandshakingInListener { + if (event.callEvent()) { + // If we've failed somehow, let the client know so and go no further. + if (event.isFailed()) { +- chatmessage = new ChatMessage(event.getFailMessage()); ++ IChatBaseComponent chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString(event.getFailMessage(), true)[0]; // Paper - Fix hex colors not working in some kick messages + this.getNetworkManager().sendPacket(new PacketLoginOutDisconnect(chatmessage)); + this.getNetworkManager().close(chatmessage); + return; +diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java +index efb59a7409902aa3c4bf95337683346ae82a52fb..c61cd50df0c81f7ab12bd0c955fd6f07f2b02e64 100644 +--- a/src/main/java/net/minecraft/server/LoginListener.java ++++ b/src/main/java/net/minecraft/server/LoginListener.java +@@ -85,14 +85,7 @@ public class LoginListener implements PacketLoginInListener { + // CraftBukkit start + @Deprecated + public void disconnect(String s) { +- try { +- IChatBaseComponent ichatbasecomponent = new ChatComponentText(s); +- LoginListener.LOGGER.info("Disconnecting {}: {}", this.d(), s); +- this.networkManager.sendPacket(new PacketLoginOutDisconnect(ichatbasecomponent)); +- this.networkManager.close(ichatbasecomponent); +- } catch (Exception exception) { +- LoginListener.LOGGER.error("Error whilst disconnecting player", exception); +- } ++ disconnect(org.bukkit.craftbukkit.util.CraftChatMessage.fromString(s, true)[0]); // Paper - Fix hex colors not working in some kick messages + } + // CraftBukkit end + diff --git a/Spigot-Server-Patches/0565-Fix-hex-colors-not-working-in-some-kick-messages.patch b/Spigot-Server-Patches/0565-Fix-hex-colors-not-working-in-some-kick-messages.patch deleted file mode 100644 index 153dfd999..000000000 --- a/Spigot-Server-Patches/0565-Fix-hex-colors-not-working-in-some-kick-messages.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: JRoy -Date: Thu, 27 Aug 2020 16:57:25 -0400 -Subject: [PATCH] Fix hex colors not working in some kick messages - - -diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index ad9324a6052d9fedd40fb8b0899c6ded6e60b315..5dde738b7499fbf432dc3dbae295eb96d5b90347 100644 ---- a/src/main/java/net/minecraft/server/HandshakeListener.java -+++ b/src/main/java/net/minecraft/server/HandshakeListener.java -@@ -26,7 +26,7 @@ public class HandshakeListener implements PacketHandshakingInListener { - switch (packethandshakinginsetprotocol.b()) { - case LOGIN: - this.c.setProtocol(EnumProtocol.LOGIN); -- ChatMessage chatmessage; -+ IChatBaseComponent chatmessage; // Paper - Fix hex colors not working in some kick messages - - // CraftBukkit start - Connection throttle - try { -@@ -37,7 +37,7 @@ public class HandshakeListener implements PacketHandshakingInListener { - synchronized (throttleTracker) { - if (throttleTracker.containsKey(address) && !"127.0.0.1".equals(address.getHostAddress()) && currentTime - throttleTracker.get(address) < connectionThrottle) { - throttleTracker.put(address, currentTime); -- chatmessage = new ChatMessage(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage); // Paper - Configurable connection throttle kick message -+ chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage, true)[0]; // Paper - Configurable connection throttle kick message // Paper - Fix hex colors not working in some kick messages - this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage)); - this.c.close(chatmessage); - return; -@@ -64,11 +64,11 @@ public class HandshakeListener implements PacketHandshakingInListener { - // CraftBukkit end - - if (packethandshakinginsetprotocol.c() > SharedConstants.getGameVersion().getProtocolVersion()) { -- chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) ); // Spigot -+ chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) , true)[0]; // Spigot // Paper - Fix hex colors not working in some kick messages - this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage)); - this.c.close(chatmessage); - } else if (packethandshakinginsetprotocol.c() < SharedConstants.getGameVersion().getProtocolVersion()) { -- chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) ); // Spigot -+ chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) , true)[0]; // Spigot // Paper - Fix hex colors not working in some kick messages - this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage)); - this.c.close(chatmessage); - } else { -@@ -82,7 +82,7 @@ public class HandshakeListener implements PacketHandshakingInListener { - if (event.callEvent()) { - // If we've failed somehow, let the client know so and go no further. - if (event.isFailed()) { -- chatmessage = new ChatMessage(event.getFailMessage()); -+ chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString(event.getFailMessage(), true)[0]; // Paper - Fix hex colors not working in some kick messages - this.getNetworkManager().sendPacket(new PacketLoginOutDisconnect(chatmessage)); - this.getNetworkManager().close(chatmessage); - return; -diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 456cb9feebc8afef50cefb85b4d4c1dacd880ad2..57a3a8d09427012e5c8aba5085d187c6be047652 100644 ---- a/src/main/java/net/minecraft/server/LoginListener.java -+++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -84,14 +84,7 @@ public class LoginListener implements PacketLoginInListener { - // CraftBukkit start - @Deprecated - public void disconnect(String s) { -- try { -- IChatBaseComponent ichatbasecomponent = new ChatComponentText(s); -- LoginListener.LOGGER.info("Disconnecting {}: {}", this.d(), s); -- this.networkManager.sendPacket(new PacketLoginOutDisconnect(ichatbasecomponent)); -- this.networkManager.close(ichatbasecomponent); -- } catch (Exception exception) { -- LoginListener.LOGGER.error("Error whilst disconnecting player", exception); -- } -+ disconnect(org.bukkit.craftbukkit.util.CraftChatMessage.fromString(s, true)[0]); // Paper - Fix hex colors not working in some kick messages - } - // CraftBukkit end - diff --git a/Spigot-Server-Patches/0566-PortalCreateEvent-needs-to-know-its-entity.patch b/Spigot-Server-Patches/0565-PortalCreateEvent-needs-to-know-its-entity.patch similarity index 98% rename from Spigot-Server-Patches/0566-PortalCreateEvent-needs-to-know-its-entity.patch rename to Spigot-Server-Patches/0565-PortalCreateEvent-needs-to-know-its-entity.patch index 9154dbbb3..7a3ed6afc 100644 --- a/Spigot-Server-Patches/0566-PortalCreateEvent-needs-to-know-its-entity.patch +++ b/Spigot-Server-Patches/0565-PortalCreateEvent-needs-to-know-its-entity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java -index b6081d259444f0d78736802b5d565faf776e825f..505d40278d4472e0015a53af8e93bd81e5f09ac3 100644 +index 1c06647fb6f8e757ca7a737a371cb1dec2aeb80e..868d942d83d57b07523f82252815ffd3593273bb 100644 --- a/src/main/java/net/minecraft/server/BlockBase.java +++ b/src/main/java/net/minecraft/server/BlockBase.java @@ -68,6 +68,12 @@ public abstract class BlockBase { diff --git a/Spigot-Server-Patches/0567-Fix-CraftTeam-null-check.patch b/Spigot-Server-Patches/0566-Fix-CraftTeam-null-check.patch similarity index 100% rename from Spigot-Server-Patches/0567-Fix-CraftTeam-null-check.patch rename to Spigot-Server-Patches/0566-Fix-CraftTeam-null-check.patch diff --git a/Spigot-Server-Patches/0568-Add-more-Evoker-API.patch b/Spigot-Server-Patches/0567-Add-more-Evoker-API.patch similarity index 96% rename from Spigot-Server-Patches/0568-Add-more-Evoker-API.patch rename to Spigot-Server-Patches/0567-Add-more-Evoker-API.patch index d4ca19550..9d8940342 100644 --- a/Spigot-Server-Patches/0568-Add-more-Evoker-API.patch +++ b/Spigot-Server-Patches/0567-Add-more-Evoker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more Evoker API diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java -index 76912c54a749a851069e7a96c428448465826cf8..ae7b269def9eda9f963f2f632e131aad244b9ef3 100644 +index 757cae8d6de2ff90efa9402c24172b17b1ef266d..f40fbef32f2fc1f37f2065ad598f013766cf12f2 100644 --- a/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java @@ -5,7 +5,7 @@ import javax.annotation.Nullable; diff --git a/Spigot-Server-Patches/0569-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch b/Spigot-Server-Patches/0568-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch similarity index 96% rename from Spigot-Server-Patches/0569-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch rename to Spigot-Server-Patches/0568-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch index 88deb066b..b8f4e991a 100644 --- a/Spigot-Server-Patches/0569-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch +++ b/Spigot-Server-Patches/0568-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch @@ -18,7 +18,7 @@ index a45ceff9ff970b996b2767379a2ecd4693f52d3a..4b4f14711d483089a5d5478b57539911 if (this.name == null) { this.name = SystemUtils.a("block", IRegistry.BLOCK.getKey(this)); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 5c03fb3af34e13bc3b8bc1840c5a7e229cf9d1f7..a71ad8418e08dd506fa6b912eaed725567ac4648 100644 +index 8540d88f98f5626a79fedd1329782000a2ee7012..ac1ccd066ab80ff6f95c5bc9798f9e05e8db91cf 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -147,6 +147,7 @@ public class EntityTypes { @@ -74,7 +74,7 @@ index f787238575ed7ac9108a2fd9782af55056219767..3524b677525bf2bb529b797fe1f258ef // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e4ffa9d69fbd8afed3fe9ae7d5b2bdbc90451799..0b2bc20d1074757ab69eb6715d9b2d0d2065b2db 100644 +index 22d41555ddc8c79609bea9f8dc510ab8a02e7872..1718735d00a0316b5b7a61adaf22f7118daaff08 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -45,6 +45,7 @@ import org.bukkit.Registry; diff --git a/Spigot-Server-Patches/0570-Create-HoverEvent-from-ItemStack-Entity.patch b/Spigot-Server-Patches/0569-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from Spigot-Server-Patches/0570-Create-HoverEvent-from-ItemStack-Entity.patch rename to Spigot-Server-Patches/0569-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/Spigot-Server-Patches/0571-Cache-block-data-strings.patch b/Spigot-Server-Patches/0570-Cache-block-data-strings.patch similarity index 94% rename from Spigot-Server-Patches/0571-Cache-block-data-strings.patch rename to Spigot-Server-Patches/0570-Cache-block-data-strings.patch index eae74df05..7fab40e29 100644 --- a/Spigot-Server-Patches/0571-Cache-block-data-strings.patch +++ b/Spigot-Server-Patches/0570-Cache-block-data-strings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache block data strings diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e65c0b9618bd4bc9195de64c18f3f23d567bcab8..883c17f00b3766b1e4e308bf9baf0ab07d6475bf 100644 +index 3ef193958e653e7f39d97f11b9778a2242b3c985..dc511024a771a343b0fbebda3492bac258293a07 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1825,6 +1825,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= level; } -@@ -1316,6 +1317,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1317,6 +1318,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public void setPositionRotation(double d0, double d1, double d2, float f, float f1) { @@ -35,10 +35,10 @@ index 3e6ccdd5b54dbe51d4ee9ec979cbc2d0f335be70..5e1978d1c96dede07ead967c1e85a352 this.yaw = f; this.pitch = f1; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 16664a446192c77903ff1f10989c7afab703eb49..05b3a7478195037927cd1a902b603862d9747e61 100644 +index 4606837f94fc5dced95dc08fbafa3b578404e81d..bb429358c558171134ba2aa188722f69f15858c8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -501,7 +501,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -544,7 +544,7 @@ public class PlayerConnection implements PacketListenerPlayIn { public void a(PacketPlayInTeleportAccept packetplayinteleportaccept) { PlayerConnectionUtils.ensureMainThread(packetplayinteleportaccept, this, this.player.getWorldServer()); if (packetplayinteleportaccept.b() == this.teleportAwait && this.teleportPos != null) { // CraftBukkit @@ -47,7 +47,7 @@ index 16664a446192c77903ff1f10989c7afab703eb49..05b3a7478195037927cd1a902b603862 this.o = this.teleportPos.x; this.p = this.teleportPos.y; this.q = this.teleportPos.z; -@@ -1302,7 +1302,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1376,7 +1376,7 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit end this.A = this.e; diff --git a/Spigot-Server-Patches/0574-Add-additional-open-container-api-to-HumanEntity.patch b/Spigot-Server-Patches/0572-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from Spigot-Server-Patches/0574-Add-additional-open-container-api-to-HumanEntity.patch rename to Spigot-Server-Patches/0572-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/Spigot-Server-Patches/0575-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/Spigot-Server-Patches/0573-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from Spigot-Server-Patches/0575-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to Spigot-Server-Patches/0573-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/Spigot-Server-Patches/0573-Use-wrapped-StructureManager-to-prevent-worldgen-dea.patch b/Spigot-Server-Patches/0573-Use-wrapped-StructureManager-to-prevent-worldgen-dea.patch deleted file mode 100644 index 3f8b6306e..000000000 --- a/Spigot-Server-Patches/0573-Use-wrapped-StructureManager-to-prevent-worldgen-dea.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MiniDigger -Date: Wed, 2 Sep 2020 13:56:18 +0200 -Subject: [PATCH] Use wrapped StructureManager to prevent worldgen deadlock - - -diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -index e9fbeaf309735ea5fcb0c53b8b2485b0c5dd43be..9172c679c874d42750d2adc32124ecda29ea43cf 100644 ---- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -+++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -@@ -30,6 +30,7 @@ public class RegionLimitedWorldAccess implements GeneratorAccessSeed { - private final BiomeManager m; - private final ChunkCoordIntPair n; - private final ChunkCoordIntPair o; -+ private final StructureManager structureManager; // Paper - cache wrapped structure manager - - public RegionLimitedWorldAccess(WorldServer worldserver, List list) { - int i = MathHelper.floor(Math.sqrt((double) list.size())); -@@ -51,6 +52,7 @@ public class RegionLimitedWorldAccess implements GeneratorAccessSeed { - this.m = new BiomeManager(this, BiomeManager.a(this.g), worldserver.getDimensionManager().getGenLayerZoomer()); - this.n = ((IChunkAccess) list.get(0)).getPos(); - this.o = ((IChunkAccess) list.get(list.size() - 1)).getPos(); -+ this.structureManager = this.f.getStructureManager().a(this); // Paper - cache wrapped structure manager - } - } - -@@ -379,6 +381,6 @@ public class RegionLimitedWorldAccess implements GeneratorAccessSeed { - - @Override - public Stream> a(SectionPosition sectionposition, StructureGenerator structuregenerator) { -- return this.f.a(sectionposition, structuregenerator); -+ return structureManager.a(sectionposition, structuregenerator); // Paper - wrapped structure manager to prevent deadlock, see #4272 and MC-199487 - } - } diff --git a/Spigot-Server-Patches/0576-Extend-block-drop-capture-to-capture-all-items-added.patch b/Spigot-Server-Patches/0574-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 89% rename from Spigot-Server-Patches/0576-Extend-block-drop-capture-to-capture-all-items-added.patch rename to Spigot-Server-Patches/0574-Extend-block-drop-capture-to-capture-all-items-added.patch index 1487b89a7..66cbe385c 100644 --- a/Spigot-Server-Patches/0576-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/Spigot-Server-Patches/0574-Extend-block-drop-capture-to-capture-all-items-added.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 300fad4b4a2950e7e613f0ef97ac9e8740c09243..ac3bee9dfb29f8bfa1b8948e234cc8948dd38c24 100644 +index 4b564d36135e9dbdbb57a95791f89aefd180457b..485b609bb5387b0f8a46c1201177cdc6d183ad91 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -385,10 +385,12 @@ public class PlayerInteractManager { @@ -25,10 +25,10 @@ index 300fad4b4a2950e7e613f0ef97ac9e8740c09243..ac3bee9dfb29f8bfa1b8948e234cc894 // Drop event experience if (flag && event != null) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 25cdd7b0f71fcba1070a7ec4c8e3546c19073ad7..95da2a56028e448c3a41115501f25a20382961f7 100644 +index bf193badd4d7a78bcd312212b9065213db576bca..b1968103165475dd4021570e3a24deb3dc3ac796 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1172,6 +1172,13 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1176,6 +1176,13 @@ public class WorldServer extends World implements GeneratorAccessSeed { } else if (this.isUUIDTaken(entity)) { return false; } else { diff --git a/Spigot-Server-Patches/0577-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch b/Spigot-Server-Patches/0575-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch similarity index 100% rename from Spigot-Server-Patches/0577-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch rename to Spigot-Server-Patches/0575-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch diff --git a/Spigot-Server-Patches/0578-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/Spigot-Server-Patches/0576-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 84% rename from Spigot-Server-Patches/0578-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to Spigot-Server-Patches/0576-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index d9fe692fb..70f3f6076 100644 --- a/Spigot-Server-Patches/0578-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/Spigot-Server-Patches/0576-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5e1978d1c96dede07ead967c1e85a352348e7777..ebdbbeb1b55b428dde3ab1c9691cb153c6c2fe76 100644 +index fa0256a99c833e6035b8d3e873a93af2b674ef52..53fb4f04087c091f3354e74d6b94554601f2cbe0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -3374,4 +3374,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3375,4 +3375,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke void accept(Entity entity, double d0, double d1, double d2); } @@ -21,7 +21,7 @@ index 5e1978d1c96dede07ead967c1e85a352348e7777..ebdbbeb1b55b428dde3ab1c9691cb153 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0b2bc20d1074757ab69eb6715d9b2d0d2065b2db..3ebaa9463e365831de37d8fa3cc191693f5b856f 100644 +index 1718735d00a0316b5b7a61adaf22f7118daaff08..ed926fc6ebbabd50a73d216a9e018a9427f5b128 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -410,6 +410,10 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/Spigot-Server-Patches/0579-Lazily-track-plugin-scoreboards-by-default.patch b/Spigot-Server-Patches/0577-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from Spigot-Server-Patches/0579-Lazily-track-plugin-scoreboards-by-default.patch rename to Spigot-Server-Patches/0577-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/Spigot-Server-Patches/0580-Entity-isTicking.patch b/Spigot-Server-Patches/0578-Entity-isTicking.patch similarity index 89% rename from Spigot-Server-Patches/0580-Entity-isTicking.patch rename to Spigot-Server-Patches/0578-Entity-isTicking.patch index 9f49a0c41..0fa0daec5 100644 --- a/Spigot-Server-Patches/0580-Entity-isTicking.patch +++ b/Spigot-Server-Patches/0578-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ebdbbeb1b55b428dde3ab1c9691cb153c6c2fe76..28e2d3f0a5e2ab084175bf0bba88816f80089799 100644 +index 53fb4f04087c091f3354e74d6b94554601f2cbe0..d86b67a63b37569fc4ca69ec04305a330950b0f2 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -3379,5 +3379,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3380,5 +3380,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public static int nextEntityId() { return entityCount.incrementAndGet(); } diff --git a/Spigot-Server-Patches/0581-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/Spigot-Server-Patches/0579-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 83% rename from Spigot-Server-Patches/0581-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to Spigot-Server-Patches/0579-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch index 846d03181..0ae7e591f 100644 --- a/Spigot-Server-Patches/0581-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch +++ b/Spigot-Server-Patches/0579-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch @@ -6,11 +6,11 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 883c17f00b3766b1e4e308bf9baf0ab07d6475bf..26bbfeba138f506200aad667b6f910b8fc0d2d6a 100644 +index dc511024a771a343b0fbebda3492bac258293a07..9c4ea5265e55d99f95c0e54abb2dbe8987da12fc 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1890,6 +1890,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant co() { -- return Stream.concat(Stream.of(this), this.passengers.stream().flatMap(Entity::co)); -+ return Stream.concat(Stream.of(this), com.google.common.collect.ImmutableList.copyOf(this.passengers).stream().flatMap(Entity::co)); // Paper + public Stream cp() { +- return Stream.concat(Stream.of(this), this.passengers.stream().flatMap(Entity::cp)); ++ return Stream.concat(Stream.of(this), com.google.common.collect.ImmutableList.copyOf(this.passengers).stream().flatMap(Entity::cp)); // Paper } public boolean hasSinglePlayerPassenger() { diff --git a/Spigot-Server-Patches/0584-MC-147729-Drop-items-that-are-extra-from-a-crafting-.patch b/Spigot-Server-Patches/0582-MC-147729-Drop-items-that-are-extra-from-a-crafting-.patch similarity index 100% rename from Spigot-Server-Patches/0584-MC-147729-Drop-items-that-are-extra-from-a-crafting-.patch rename to Spigot-Server-Patches/0582-MC-147729-Drop-items-that-are-extra-from-a-crafting-.patch diff --git a/Spigot-Server-Patches/0585-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/Spigot-Server-Patches/0583-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from Spigot-Server-Patches/0585-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to Spigot-Server-Patches/0583-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/Spigot-Server-Patches/0586-Fix-for-large-move-vectors-crashing-server.patch b/Spigot-Server-Patches/0584-Fix-for-large-move-vectors-crashing-server.patch similarity index 92% rename from Spigot-Server-Patches/0586-Fix-for-large-move-vectors-crashing-server.patch rename to Spigot-Server-Patches/0584-Fix-for-large-move-vectors-crashing-server.patch index 3cb143473..4b467c71a 100644 --- a/Spigot-Server-Patches/0586-Fix-for-large-move-vectors-crashing-server.patch +++ b/Spigot-Server-Patches/0584-Fix-for-large-move-vectors-crashing-server.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix for large move vectors crashing server Check movement distance also based on current position. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 05b3a7478195037927cd1a902b603862d9747e61..4b0ff3e1acd91e0f28af9a900a4868c5a3b76caa 100644 +index bb429358c558171134ba2aa188722f69f15858c8..7abf55f5326502dfcc6af5fe853d03e0ae380c32 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -326,19 +326,24 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -369,19 +369,24 @@ public class PlayerConnection implements PacketListenerPlayIn { if (entity != this.player && entity.getRidingPassenger() == this.player && entity == this.r) { WorldServer worldserver = this.player.getWorldServer(); @@ -41,7 +41,7 @@ index 05b3a7478195037927cd1a902b603862d9747e61..4b0ff3e1acd91e0f28af9a900a4868c5 // CraftBukkit start - handle custom speeds and skipped ticks -@@ -997,7 +1002,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1071,7 +1076,7 @@ public class PlayerConnection implements PacketListenerPlayIn { double d2 = this.player.locZ(); double d3 = this.player.locY(); double d4 = packetplayinflying.a(this.player.locX());double toX = d4; // Paper - OBFHELPER @@ -50,7 +50,7 @@ index 05b3a7478195037927cd1a902b603862d9747e61..4b0ff3e1acd91e0f28af9a900a4868c5 double d6 = packetplayinflying.c(this.player.locZ());double toZ = d6; // Paper - OBFHELPER float f = packetplayinflying.a(this.player.yaw); float f1 = packetplayinflying.b(this.player.pitch); -@@ -1005,7 +1010,12 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1079,7 +1084,12 @@ public class PlayerConnection implements PacketListenerPlayIn { double d8 = d5 - this.m; double d9 = d6 - this.n; double d10 = this.player.getMot().g(); diff --git a/Spigot-Server-Patches/0587-Optimise-getType-calls.patch b/Spigot-Server-Patches/0585-Optimise-getType-calls.patch similarity index 100% rename from Spigot-Server-Patches/0587-Optimise-getType-calls.patch rename to Spigot-Server-Patches/0585-Optimise-getType-calls.patch diff --git a/Spigot-Server-Patches/0588-Improve-inlinig-for-some-hot-IBlockData-methods.patch b/Spigot-Server-Patches/0586-Improve-inlinig-for-some-hot-IBlockData-methods.patch similarity index 97% rename from Spigot-Server-Patches/0588-Improve-inlinig-for-some-hot-IBlockData-methods.patch rename to Spigot-Server-Patches/0586-Improve-inlinig-for-some-hot-IBlockData-methods.patch index 78204fb33..1c7e01bac 100644 --- a/Spigot-Server-Patches/0588-Improve-inlinig-for-some-hot-IBlockData-methods.patch +++ b/Spigot-Server-Patches/0586-Improve-inlinig-for-some-hot-IBlockData-methods.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Improve inlinig for some hot IBlockData methods diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java -index 505d40278d4472e0015a53af8e93bd81e5f09ac3..5131d2172d3cbd8a7254a6dd52e061888a17fb38 100644 +index 868d942d83d57b07523f82252815ffd3593273bb..1f334d63282bd5c23dc3b275a220f09e60c34537 100644 --- a/src/main/java/net/minecraft/server/BlockBase.java +++ b/src/main/java/net/minecraft/server/BlockBase.java @@ -338,7 +338,14 @@ public abstract class BlockBase { diff --git a/Spigot-Server-Patches/0589-Retain-block-place-order-when-capturing-blockstates.patch b/Spigot-Server-Patches/0587-Retain-block-place-order-when-capturing-blockstates.patch similarity index 93% rename from Spigot-Server-Patches/0589-Retain-block-place-order-when-capturing-blockstates.patch rename to Spigot-Server-Patches/0587-Retain-block-place-order-when-capturing-blockstates.patch index 087a7b219..6b6a0ee26 100644 --- a/Spigot-Server-Patches/0589-Retain-block-place-order-when-capturing-blockstates.patch +++ b/Spigot-Server-Patches/0587-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,7 +10,7 @@ In general, look at making this logic more robust (i.e properly handling cases where a captured entry is overriden) - but for now this will do. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index eec338649edbdaebbe694a23ccb7a8b5cd5f9a15..d91124bc85ed1a5b39e0ac3966f0af8ed9ee62b9 100644 +index 18cddbcb8447c0c09f9aeb8aab40bdf4ea762b3e..d64d94b8c329ddce27151afc012ecfe26b5ee707 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -75,7 +75,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0590-Reduce-blockpos-allocation-from-pathfinding.patch b/Spigot-Server-Patches/0588-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 95% rename from Spigot-Server-Patches/0590-Reduce-blockpos-allocation-from-pathfinding.patch rename to Spigot-Server-Patches/0588-Reduce-blockpos-allocation-from-pathfinding.patch index 93cbcfcce..edac8bad4 100644 --- a/Spigot-Server-Patches/0590-Reduce-blockpos-allocation-from-pathfinding.patch +++ b/Spigot-Server-Patches/0588-Reduce-blockpos-allocation-from-pathfinding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reduce blockpos allocation from pathfinding diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java -index a0555b132d6ddd2c6c259ae569e411606e496d1d..7341b5afd31eb771b3a7dc883d6540f575d37b4b 100644 +index 07b021bd1fb174d1c1a0c83b415c84e582c4f681..74e81e1e4aea6f74b14a84231ddeb7f2fb845ae7 100644 --- a/src/main/java/net/minecraft/server/PathfinderNormal.java +++ b/src/main/java/net/minecraft/server/PathfinderNormal.java @@ -475,7 +475,7 @@ public class PathfinderNormal extends PathfinderAbstract { diff --git a/Spigot-Server-Patches/0591-Fix-item-locations-dropped-from-campfires.patch b/Spigot-Server-Patches/0589-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from Spigot-Server-Patches/0591-Fix-item-locations-dropped-from-campfires.patch rename to Spigot-Server-Patches/0589-Fix-item-locations-dropped-from-campfires.patch diff --git a/Spigot-Server-Patches/0592-Player-elytra-boost-API.patch b/Spigot-Server-Patches/0590-Player-elytra-boost-API.patch similarity index 100% rename from Spigot-Server-Patches/0592-Player-elytra-boost-API.patch rename to Spigot-Server-Patches/0590-Player-elytra-boost-API.patch diff --git a/Spigot-Server-Patches/0593-Fixed-TileEntityBell-memory-leak.patch b/Spigot-Server-Patches/0591-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from Spigot-Server-Patches/0593-Fixed-TileEntityBell-memory-leak.patch rename to Spigot-Server-Patches/0591-Fixed-TileEntityBell-memory-leak.patch diff --git a/Spigot-Server-Patches/0594-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/Spigot-Server-Patches/0592-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 97% rename from Spigot-Server-Patches/0594-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to Spigot-Server-Patches/0592-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch index 9bc4da429..06296c5fe 100644 --- a/Spigot-Server-Patches/0594-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch +++ b/Spigot-Server-Patches/0592-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch @@ -8,7 +8,7 @@ This can realistically only happen if there's custom loot active on fishing which can return 0 items. This would disconnect the player who's fishing. diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index b6cace72ab2f3389408a5e528981fcff3b511180..25ec9e9319ca7badde845906679d78934eaf0ad6 100644 +index 379794366ee57e22d85bb27a9bd200ff389f51c3..3cee6beaba871c9e7b6966dd027e2f15e7038a3a 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -433,9 +433,15 @@ public class EntityFishingHook extends IProjectile { diff --git a/Spigot-Server-Patches/0595-Add-getOfflinePlayerIfCached-String.patch b/Spigot-Server-Patches/0593-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from Spigot-Server-Patches/0595-Add-getOfflinePlayerIfCached-String.patch rename to Spigot-Server-Patches/0593-Add-getOfflinePlayerIfCached-String.patch diff --git a/SHIT_TO_CHECK.md b/UPDATE_NOTES.md similarity index 59% rename from SHIT_TO_CHECK.md rename to UPDATE_NOTES.md index 4d45751d1..23c915e19 100644 --- a/SHIT_TO_CHECK.md +++ b/UPDATE_NOTES.md @@ -7,3 +7,8 @@ * lighting is bork (load chunk, fly away, come back, everything or parts are black) * chunk generation seems slow with a lot of it happening * Fix IDE Debug JVM Flag for new versions of minecraft + +* Check if `PlayerEditBookEvent`: https://github.com/PaperMC/Paper/pull/1751 +The PlayerEditBookEvent is straight up not called anymore. +The method to call it must now be `PlayerConnection#a(List, int)` (CB bug). +The item is presumably edited with the new page contents before it ever reaches this method? \ No newline at end of file diff --git a/work/BuildData b/work/BuildData index b2025bddd..501ea0607 160000 --- a/work/BuildData +++ b/work/BuildData @@ -1 +1 @@ -Subproject commit b2025bdddde79aea004399ec5f3652a1bce56b7a +Subproject commit 501ea060743c7bba4436878207e4f1232298efce diff --git a/work/Bukkit b/work/Bukkit index 4abf9e96d..308851669 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 4abf9e96df578e4c842c865e50d0933ce0616938 +Subproject commit 308851669a4b264468e83cfb75215bff3638b2c0 diff --git a/work/CraftBukkit b/work/CraftBukkit index dea413890..3af81c717 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit dea4138900788a64db46db74903cf7ed50681738 +Subproject commit 3af81c717980b5e114cb27029e7ee8f1defac841 diff --git a/work/Spigot b/work/Spigot index 57bbdd8eb..f011ca24f 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 57bbdd8eb797a51960cf9a47f764b68f97d4f18c +Subproject commit f011ca24f2b53e0fb0e7a1cfa7afd5336a85beec