From 2609a118e89ccb83edd20285a96dc5d47d19a8d4 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 7 Nov 2020 00:19:04 +0000 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: f4f2ef4c SPIGOT-6222: Correct javadoc for Entity#setPassenger 1871ca9d #559: Add wait time modification for FishHook CraftBukkit Changes: bc6a175e #767: Add wait time modification for FishHook 2fc37bcc SPIGOT-6197: Prevent world loading from updating spawn settings of all worlds --- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 4 ++-- Spigot-Server-Patches/0004-MC-Utils.patch | 8 +++---- Spigot-Server-Patches/0009-Timings-v2.patch | 20 ++++++++--------- ...012-Configurable-fishing-time-ranges.patch | 22 ++++++++++--------- ...ient-crashes-server-lists-and-Mojang.patch | 4 ++-- ...023-Further-improve-server-tick-loop.patch | 6 ++--- .../0032-Optimize-explosions.patch | 8 +++---- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 4 ++-- ...-possibility-for-getServer-singleton.patch | 4 ++-- .../0099-Optimize-UserCache-Thread-Safe.patch | 4 ++-- ...ok-reference-on-Craft-Entity-removal.patch | 4 ++-- ...2-Don-t-let-fishinghooks-use-portals.patch | 4 ++-- ...PI-for-Reason-Source-Triggering-play.patch | 20 ++++++++--------- ...le-async-calls-to-restart-the-server.patch | 8 +++---- ...oleAppender-for-console-improvements.patch | 6 ++--- ...nt-extended-PaperServerListPingEvent.patch | 4 ++-- ...dd-Early-Warning-Feature-to-WatchDog.patch | 6 ++--- .../0307-Optimize-World-Time-Updates.patch | 4 ++-- .../0341-Server-Tick-Events.patch | 6 ++--- ...isPrimaryThread-and-MinecraftServer-.patch | 4 ++-- .../0362-incremental-chunk-saving.patch | 4 ++-- ...69-Asynchronous-chunk-IO-and-loading.patch | 6 ++--- .../0390-Optimize-Hoppers.patch | 4 ++-- .../0429-Increase-Light-Queue-Size.patch | 6 ++--- ...asks-Speed-up-processing-of-chunk-lo.patch | 16 +++++++------- ...-Add-tick-times-API-and-mspt-command.patch | 6 ++--- .../0438-Improved-Watchdog-Support.patch | 22 +++++++++---------- ...tance-map-to-optimise-entity-tracker.patch | 4 ++-- ...Wait-for-Async-Tasks-during-shutdown.patch | 4 ++-- ...ld-Difficulty-Remembering-Difficulty.patch | 4 ++-- .../0541-Incremental-player-saving.patch | 6 ++--- .../0570-Cache-block-data-strings.patch | 4 ++-- ...-non-whitelisted-player-when-white-l.patch | 4 ++-- ...ling-up-when-item-stack-is-empty-in-.patch | 6 ++--- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 36 files changed, 126 insertions(+), 124 deletions(-) diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 566b7e283..bbdb2f139 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -485,10 +485,10 @@ index 998101592723abb26c91d1f92e98be1cf24c954d..ee9069c744df63cbb7f21dd9d28d6d55 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4c2e924f16117cd5ed29fd9ae9adf5a5dbb9aebf..f3e2d387d5ce3c4b8d0341a8267979983d1a9091 100644 +index f0a66359f532f5f7cb84b2e6fe600a1416e92365..514bf059b21b9d74813c4af8d8ee594be1f01eac 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1555,9 +1555,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 5000000000L) { -@@ -1023,14 +1044,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit @@ -1270,7 +1270,7 @@ index ea02761ecd3e5b7b0ea31c220abdff918508cc94..dfa45dff4d040f9e1d2708e4a2407b37 } this.methodProfiler.enter("snooper"); -@@ -1043,6 +1062,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 0 && chance <= 1, "The bite chance must be between 0 and 1."); this.biteChance = chance; } 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 e3b01fc91..4422a5ee0 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,10 +5,10 @@ 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 8724f293a2c4b56dc5f30c1377151edb425db63b..4a5f2617c7b35490980b341115e3df468ab3a544 100644 +index 9db1c891b69d4fbe163b3272f22351f3d0b306d1..9ab0a4638c36d46327435eec4745d2746819d9b0 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 { +@@ -201,6 +201,11 @@ public class EntityFishingHook extends IProjectile { this.setMot(this.getMot().a(0.92D)); this.af(); diff --git a/Spigot-Server-Patches/0137-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0137-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 1d9c7fa4a..a3413093a 100644 --- a/Spigot-Server-Patches/0137-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0137-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -41,7 +41,7 @@ index 5bdb0c3a7a04a55cd5ddff8e375497e402408811..fe9a083b724a8657cac8462b3f44d3cc world.triggerEffect(1042, blockposition, 0); diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java -index 783cd9dbf423986d2e5cd52b05d7046e019c0b7a..2a68591c1d56f39551d0b37187b51320298787b4 100644 +index b2de91eebbc214cff34a3833541559b934c071f7..bba343542e7e6fa83ec802d97b4c139bb210ab28 100644 --- a/src/main/java/net/minecraft/server/EntityAnimal.java +++ b/src/main/java/net/minecraft/server/EntityAnimal.java @@ -237,7 +237,7 @@ public abstract class EntityAnimal extends EntityAgeable { @@ -54,7 +54,7 @@ index 783cd9dbf423986d2e5cd52b05d7046e019c0b7a..2a68591c1d56f39551d0b37187b51320 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 1627fdb2ef8551e1c63034b496a2c9bfb12d0e38..6ad63e5bb4b7bec976d1aef74547ff96f64204c6 100644 +index 81c926e506c1b6e5c0d909b71f1db81beb645699..ef9df3c7c7c455373641f7a7c701f82a23ffef36 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -612,7 +612,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -67,7 +67,7 @@ index 1627fdb2ef8551e1c63034b496a2c9bfb12d0e38..6ad63e5bb4b7bec976d1aef74547ff96 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 604bdc5ab98071db88ac3e93ebf11869cc60a308..deebd63e0297b245b82a620bc380c9f1a502027b 100644 +index 2c2d44562f732c75532cda910db5ce67d6a534ab..a9fff75882217b1fd680fd8fd47110f85d88df28 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -16,9 +16,59 @@ public class EntityExperienceOrb extends Entity { @@ -147,10 +147,10 @@ index 604bdc5ab98071db88ac3e93ebf11869cc60a308..deebd63e0297b245b82a620bc380c9f1 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 7dde9774106b7bc1dac46ad591279343b863a9cc..b6cace72ab2f3389408a5e528981fcff3b511180 100644 +index 9ab0a4638c36d46327435eec4745d2746819d9b0..7c3e36f62f4ab076807cd4b85a70528fffbbc2af 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java -@@ -452,7 +452,7 @@ public class EntityFishingHook extends IProjectile { +@@ -464,7 +464,7 @@ public class EntityFishingHook extends IProjectile { this.world.addEntity(entityitem); // CraftBukkit start - this.random.nextInt(6) + 1 -> playerFishEvent.getExpToDrop() if (playerFishEvent.getExpToDrop() > 0) { @@ -160,7 +160,7 @@ index 7dde9774106b7bc1dac46ad591279343b863a9cc..b6cace72ab2f3389408a5e528981fcff // CraftBukkit end if (itemstack1.getItem().a((Tag) TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 13dad7a2db788bf900a48bab0a4ef0c4f4b5ddc3..83fa99b1cf784eb7f30b14f9f0743cbab7136563 100644 +index fef00b46e7cf3690044059f9ee527f799d535b81..a7bbf21e9736a0da38f95d93b013097b1e745306 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -1236,7 +1236,7 @@ public class EntityFox extends EntityAnimal { @@ -173,7 +173,7 @@ index 13dad7a2db788bf900a48bab0a4ef0c4f4b5ddc3..83fa99b1cf784eb7f30b14f9f0743cba // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index e6b1c3fc643599bf838c9616845d1eedd21c7725..f62653d5507a1f62e0521dc901283c2735b14e91 100644 +index a67f6d3bf22c7f59a87ab2340a0a9a6c162f5364..3c36b6ea1d130a150afb4116d18af93de9236cad 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1488,7 +1488,8 @@ public abstract class EntityLiving extends Entity { @@ -200,7 +200,7 @@ index 7a80b341ee7734cc289abdff8755834447cbef75..2d3ca8c424f2088027d51066d634c487 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 736db44db5420a6676af797ab3b6b06aad7dde44..a3dcb72c600034886137c24b22e64c54980c33f3 100644 +index 61e24c2897a2cb93881caaa6fff86f44461765ac..19c92bea21ddcc3917eb011dcfe41006299356ef 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -499,7 +499,7 @@ public class EntityTurtle extends EntityAnimal { @@ -213,7 +213,7 @@ index 736db44db5420a6676af797ab3b6b06aad7dde44..a3dcb72c600034886137c24b22e64c54 } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 17ae6530bda22144866e94e8449220d108084fe5..ea7fff8ff9922e038f71e887072c567cded10973 100644 +index eedec25373cfc8adec7ac8a99b146770dc15c70e..732323ee1de01929c73bc5f98444c0f68f908a67 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -532,7 +532,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -239,7 +239,7 @@ index c830b3c2145effc16314c6216be8af935416cb58..f1a509063c09e603140c74255a3fb901 } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 1ebc0fcca6d22e0d6f4d8dac0b305a00437c82b2..d9ee5f7fd6a405547da0b162f11886d7b96dd622 100644 +index 862b17e6226f1488167caf08afe7a37b942f7674..8e5975a4871b99329c78379153ad64575d08d123 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -377,7 +377,7 @@ public class PlayerInteractManager { diff --git a/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch index af276d580..f6300af2f 100644 --- a/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9dd54bea5f9a7d1cb638100312855135f83bcaf9..3f1ab69ac09c0c5ab50a99961a705254f3749f18 100644 +index 365719e9f6228f19dfb598d4850dc7ef69377f7c..836fdfcedb6b878c69bfa22cbbe1fc10a25d8ad0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -91,6 +91,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 5000000000L) { this.T = i; this.serverPing.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.getMaxPlayers(), this.getPlayerCount())); diff --git a/Spigot-Server-Patches/0262-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0262-Add-Early-Warning-Feature-to-WatchDog.patch index 1fbcac3ee..891eb6914 100644 --- a/Spigot-Server-Patches/0262-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/Spigot-Server-Patches/0262-Add-Early-Warning-Feature-to-WatchDog.patch @@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash. This will help diagnose what was going on in that time before the crash. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 2e5c71d6b7d120a308076d95a3d5b73c5aca8bc9..1b21911c3e4fd1d4a3305176bb8477c370256906 100644 +index e8d6cc7c116faaf168efdb0af0b2365bb7fb6eac..aaaaead8c740a22906612ca43147bd00eb4639f7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -25,6 +25,7 @@ import org.bukkit.configuration.file.YamlConfiguration; @@ -36,10 +36,10 @@ index 2e5c71d6b7d120a308076d95a3d5b73c5aca8bc9..1b21911c3e4fd1d4a3305176bb8477c3 public static int tabSpamLimit = 500; private static void tabSpamLimiters() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index aef859fbb975821dd952c9d339a43acac98c99ef..f9608bf0eb4e3dfc573fe626e7da9fccf69dc783 100644 +index 983868ef2b2d9bbec19ba8a23cb6376de015b53e..aea9e169f9a11378c176c0cc3ee5a0d59e6a4c38 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -897,6 +897,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0; // Paper diff --git a/Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch b/Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch index df72f9d8d..3e49be4af 100644 --- a/Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch +++ b/Spigot-Server-Patches/0429-Increase-Light-Queue-Size.patch @@ -28,7 +28,7 @@ index 29eaa572648113216a267462a79da7e3741d1cfe..51d30a92cbc1052b690b5565e403123c + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 60b018fb6865a4b73f944cffd79e7d246636360b..c97e8235b323b7ed69dda891fd73ea655c1e16f5 100644 +index e57bda6223966171f15e0c6c24680a54c0edd83d..8e2300e22ca76562acf29c42c0025b4d4c2689b1 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 { @@ -187,7 +187,7 @@ index c97e8235b323b7ed69dda891fd73ea655c1e16f5..bb54413a6e8e42e04630e2ff4761bda3 return !this.canOversleep(); }); isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); -@@ -1202,13 +1221,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant S a(Function function) { AtomicReference atomicreference = new AtomicReference(); Thread thread = new Thread(() -> { -@@ -735,6 +737,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 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 7ecd4c7d07d81672887c1e4b69a2ce82790de5a1..225709a27396cbfa29c16499728e42170a8fef08 100644 +index 3658b99ee4686f5b02191a59e3d64fe596b343ec..674cb4556b5714e9d45a76795f2f3a15095be6a6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1531,6 +1531,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit // Paper - move down //MinecraftServer.LOGGER.debug("Autosave started"); // Paper serverAutoSave = (autosavePeriod > 0 && this.ticks % autosavePeriod == 0); // Paper diff --git a/Spigot-Server-Patches/0570-Cache-block-data-strings.patch b/Spigot-Server-Patches/0570-Cache-block-data-strings.patch index 2f6d530ed..f0c7cf14b 100644 --- a/Spigot-Server-Patches/0570-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 3ef193958e653e7f39d97f11b9778a2242b3c985..dc511024a771a343b0fbebda3492bac258293a07 100644 +index c52de0ad2496888e462bef6c9f751d03dbb6e550..43dbd070e00037fac31d3f122df2d51566b4d55f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1831,6 +1831,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant