From e7b1eb157b28581643190d8018a90d48f2819a40 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Wed, 6 May 2020 20:18:39 -0500 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appears to apply and compile correctly Paper Changes: cc477e6a Force Plugins that use delayed tasks for init back in their place 597263fd Don't skip full player connection tick when dead e2c23475 Revert loaded entity list (#3304) fa87db6b Move another NetworkManager util into the inner class (#3303) 841c7d18 Make loaded entity list logic more consistent (#3301) 36f34f01 Updated Upstream (Bukkit/CraftBukkit) 5ca5f131 Rebuild all patches using the new rebuild pattern 1ccff6fa Add villager reputation API 5c0bfffa Speed up rebuilding patches and reduce diff f37381ea Optimize Network Manager to not need synchronization 8f9df2ed Anti Xray cleanup 878c66f1 No-Tick view distance implementation - Closes #3196 b87743c1 Stop copy-on-write operations for updating light data 97a9c972 Optimize isOutsideRange to use distance maps b4e629a2 Use distance map to optimise entity tracker / Misc Utils d80d1517 Optimize Entity Ticking to Loaded Chunks only 31d7686d Add item slot helper methods for various inventories (#3221) 75e1e3b3 Mob Goal API c7bc393a Revert "Don't flush packet queue off main thread" 1abd2bd2 Don't flush packet queue off main thread a4ed58a9 Clean up Direct Memory Region Files Fix for different Java versions 55e35019 Set cap on JDK per-thread native byte buffer cache b5101f4f Cleanup Region Files Direct Memory on close 81e655d7 Optimize Voxel Shape Merging ed9fc11f Sync position on teleportation 9c326fce Nanothing to see here 3e9fc24b Attempt to fix FastLogin maybe --- Paper | 2 +- current-paper | 2 +- patches/api/0009-Bring-back-server-name.patch | 14 +-- .../0013-Implement-lagging-threshold.patch | 10 +- patches/api/0019-Add-moon-phase-API.patch | 8 +- ...020-Add-API-for-Villager-resetOffers.patch | 6 +- ...4-Add-getPlacementBlockData-to-World.patch | 6 +- patches/api/0033-More-anvil-controls.patch | 16 ++-- patches/server/0001-Rebrand.patch | 14 +-- patches/server/0002-Purpur-config-files.patch | 10 +- patches/server/0007-Ridables.patch | 94 ++++++++++--------- .../0009-Disable-outdated-build-check.patch | 6 +- patches/server/0019-Cows-eat-mushrooms.patch | 8 +- ...cow-rotation-when-shearing-mooshroom.patch | 6 +- ...ed-to-crystals-and-crystals-shoot-ph.patch | 8 +- ...23-Snowman-drop-and-put-back-pumpkin.patch | 8 +- .../server/0030-Controllable-Minecarts.patch | 6 +- ...036-Dont-send-useless-entity-packets.patch | 8 +- patches/server/0037-Implement-AFK-API.patch | 22 ++--- patches/server/0042-Make-the-GUI-better.patch | 6 +- .../0044-Add-EntityPortalReadyEvent.patch | 8 +- .../0047-Implement-lagging-threshold.patch | 12 +-- ...-should-not-bypass-cramming-gamerule.patch | 6 +- .../server/0053-Bring-back-server-name.patch | 6 +- .../0060-Alternative-Keepalive-Handling.patch | 6 +- ...0066-Add-5-second-tps-average-in-tps.patch | 10 +- ...069-Add-API-for-Villager-resetOffers.patch | 10 +- ...geEvent-not-firing-for-all-use-cases.patch | 8 +- .../0082-Add-permission-for-F3-N-debug.patch | 6 +- .../0083-Allow-leashing-villagers.patch | 6 +- .../0087-UPnP-Port-Forwarding-Service.patch | 10 +- ...o-disable-saving-projectiles-to-disk.patch | 8 +- .../server/0091-Add-item-entity-options.patch | 6 +- ...0093-Configurable-void-damage-height.patch | 6 +- ...0094-Fix-the-dead-lagging-the-server.patch | 6 +- .../0097-Configurable-server-mod-name.patch | 6 +- .../0099-Configurable-TPS-Catchup.patch | 6 +- .../server/0103-Optimize-Chunk-Ticks.patch | 92 ++---------------- .../0113-Player-invulnerabilities.patch | 12 +-- .../0116-MC-4-Fix-Item-position-desync.patch | 6 +- .../0122-Tuinity-Delay-chunk-unloads.patch | 31 +++--- ...ble-to-execute-tasks-on-the-main-ser.patch | 6 +- .../0124-YAPFA-Disable-mojang-profiler.patch | 12 +-- 43 files changed, 237 insertions(+), 308 deletions(-) diff --git a/Paper b/Paper index 932e97f34..cc477e6ab 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit 932e97f345fa539c0a690ff298e61cc13e3071b8 +Subproject commit cc477e6abb7dfb1697296bc6191ca8993d248613 diff --git a/current-paper b/current-paper index 06db1a343..386a55ca0 100644 --- a/current-paper +++ b/current-paper @@ -1 +1 @@ -1.15.2--d3e890f5f1c3b822b2fab60de3af8bc0c3b1f16a +1.15.2--2bfa820e227768fa937f45494564265a51b4c6e2 diff --git a/patches/api/0009-Bring-back-server-name.patch b/patches/api/0009-Bring-back-server-name.patch index da75b035c..8a573e327 100644 --- a/patches/api/0009-Bring-back-server-name.patch +++ b/patches/api/0009-Bring-back-server-name.patch @@ -1,4 +1,4 @@ -From 0b90223266a44ecb1cdaa22ec463a24d231cb174 Mon Sep 17 00:00:00 2001 +From cc89d98244645c403a461188a6fb49bc86288213 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 26 May 2019 15:18:40 -0500 Subject: [PATCH] Bring back server name @@ -9,10 +9,10 @@ Subject: [PATCH] Bring back server name 2 files changed, 20 insertions(+) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 5d42cf62..7164ff2c 100644 +index 780d603e..33ccf297 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1704,4 +1704,15 @@ public final class Bukkit { +@@ -1714,4 +1714,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -29,12 +29,12 @@ index 5d42cf62..7164ff2c 100644 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index aabf82b5..5313b152 100644 +index bbb2946f..8d3501a6 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1497,4 +1497,13 @@ public interface Server extends PluginMessageRecipient { - */ - boolean isStopping(); +@@ -1505,4 +1505,13 @@ public interface Server extends PluginMessageRecipient { + @NotNull + com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); // Paper end + + // Purpur start diff --git a/patches/api/0013-Implement-lagging-threshold.patch b/patches/api/0013-Implement-lagging-threshold.patch index 0f08495ff..5c28a4c93 100644 --- a/patches/api/0013-Implement-lagging-threshold.patch +++ b/patches/api/0013-Implement-lagging-threshold.patch @@ -1,4 +1,4 @@ -From f95a1f1d184934497e26f6cb76f87e0018ece82d Mon Sep 17 00:00:00 2001 +From d2beebd0b8bca2ad0eef2138675d81cd0f0f9568 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 23 Jul 2019 10:07:24 -0500 Subject: [PATCH] Implement lagging threshold @@ -9,10 +9,10 @@ Subject: [PATCH] Implement lagging threshold 2 files changed, 16 insertions(+) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7164ff2c..a5cc0944 100644 +index 33ccf297..ee8fe48a 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1714,5 +1714,14 @@ public final class Bukkit { +@@ -1724,5 +1724,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -28,10 +28,10 @@ index 7164ff2c..a5cc0944 100644 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5313b152..86ffcf87 100644 +index 8d3501a6..c35405e0 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1505,5 +1505,12 @@ public interface Server extends PluginMessageRecipient { +@@ -1513,5 +1513,12 @@ public interface Server extends PluginMessageRecipient { */ @NotNull String getServerName(); diff --git a/patches/api/0019-Add-moon-phase-API.patch b/patches/api/0019-Add-moon-phase-API.patch index cdc4f3d88..5044b0165 100644 --- a/patches/api/0019-Add-moon-phase-API.patch +++ b/patches/api/0019-Add-moon-phase-API.patch @@ -1,4 +1,4 @@ -From 1d2e2036690801fe7389be75853dcdd94f636d6c Mon Sep 17 00:00:00 2001 +From f7117483a092158d2028933b04c54d53a637b7b8 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 1 Feb 2020 22:22:07 -0600 Subject: [PATCH] Add moon phase API @@ -11,7 +11,7 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/net/pl3x/purpur/MoonPhase.java b/src/main/java/net/pl3x/purpur/MoonPhase.java new file mode 100644 -index 000000000..f5ad98c62 +index 00000000..f5ad98c6 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/MoonPhase.java @@ -0,0 +1,36 @@ @@ -52,10 +52,10 @@ index 000000000..f5ad98c62 + } +} diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index db18f70ec..af66b8255 100644 +index 421ad6a9..a9a274a9 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3216,6 +3216,16 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -3244,6 +3244,16 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public List getRaids(); diff --git a/patches/api/0020-Add-API-for-Villager-resetOffers.patch b/patches/api/0020-Add-API-for-Villager-resetOffers.patch index 7a396b1b9..be62807ec 100644 --- a/patches/api/0020-Add-API-for-Villager-resetOffers.patch +++ b/patches/api/0020-Add-API-for-Villager-resetOffers.patch @@ -1,4 +1,4 @@ -From bc0eb5d1698988e0434827cfb36e16b19f169df1 Mon Sep 17 00:00:00 2001 +From 013e7bc6e20e097f054a3b76f9d6a3aa49d2f256 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 7 Oct 2019 00:15:28 -0500 Subject: [PATCH] Add API for Villager#resetOffers() @@ -8,10 +8,10 @@ Subject: [PATCH] Add API for Villager#resetOffers() 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java -index d1579153..14434ca8 100644 +index e0a3285b..32b8c4f2 100644 --- a/src/main/java/org/bukkit/entity/Villager.java +++ b/src/main/java/org/bukkit/entity/Villager.java -@@ -110,6 +110,13 @@ public interface Villager extends AbstractVillager { +@@ -113,6 +113,13 @@ public interface Villager extends AbstractVillager { */ public void wakeup(); diff --git a/patches/api/0024-Add-getPlacementBlockData-to-World.patch b/patches/api/0024-Add-getPlacementBlockData-to-World.patch index a82e75a56..dca4599da 100644 --- a/patches/api/0024-Add-getPlacementBlockData-to-World.patch +++ b/patches/api/0024-Add-getPlacementBlockData-to-World.patch @@ -1,4 +1,4 @@ -From 9781735cd943b5c4b202fd3ea32acf628fc6e492 Mon Sep 17 00:00:00 2001 +From bf422cd39e795cf7b12b77774a4c5ff1208ec819 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 19 Oct 2019 00:34:36 -0500 Subject: [PATCH] Add getPlacementBlockData to World @@ -8,10 +8,10 @@ Subject: [PATCH] Add getPlacementBlockData to World 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index af66b8255..04ced7551 100644 +index a9a274a9..d67d4355 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3224,6 +3224,16 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -3252,6 +3252,16 @@ public interface World extends PluginMessageRecipient, Metadatable { */ @NotNull net.pl3x.purpur.MoonPhase getMoonPhase(); diff --git a/patches/api/0033-More-anvil-controls.patch b/patches/api/0033-More-anvil-controls.patch index 7eed0f170..12f3d434a 100644 --- a/patches/api/0033-More-anvil-controls.patch +++ b/patches/api/0033-More-anvil-controls.patch @@ -1,4 +1,4 @@ -From b1ef79818f5336bb401f9a43c0c388a1670bf434 Mon Sep 17 00:00:00 2001 +From 1f9945fb4f4524e6faf06b2b374a3c4a66aaf80b Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 19 Apr 2020 00:25:09 -0500 Subject: [PATCH] More anvil controls @@ -13,7 +13,7 @@ Subject: [PATCH] More anvil controls diff --git a/src/main/java/net/pl3x/purpur/event/inventory/AnvilTakeResultEvent.java b/src/main/java/net/pl3x/purpur/event/inventory/AnvilTakeResultEvent.java new file mode 100644 -index 000000000..85663c0a4 +index 00000000..85663c0a --- /dev/null +++ b/src/main/java/net/pl3x/purpur/event/inventory/AnvilTakeResultEvent.java @@ -0,0 +1,52 @@ @@ -71,7 +71,7 @@ index 000000000..85663c0a4 +} diff --git a/src/main/java/net/pl3x/purpur/event/inventory/AnvilUpdateResultEvent.java b/src/main/java/net/pl3x/purpur/event/inventory/AnvilUpdateResultEvent.java new file mode 100644 -index 000000000..2717ad82c +index 00000000..2717ad82 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/event/inventory/AnvilUpdateResultEvent.java @@ -0,0 +1,35 @@ @@ -111,13 +111,13 @@ index 000000000..2717ad82c + } +} diff --git a/src/main/java/org/bukkit/inventory/AnvilInventory.java b/src/main/java/org/bukkit/inventory/AnvilInventory.java -index 4af562426..086d4b022 100644 +index b95e563b..435026e5 100644 --- a/src/main/java/org/bukkit/inventory/AnvilInventory.java +++ b/src/main/java/org/bukkit/inventory/AnvilInventory.java -@@ -49,4 +49,14 @@ public interface AnvilInventory extends Inventory { - * @param levels the maximum experience cost - */ - void setMaximumRepairCost(int levels); +@@ -109,4 +109,14 @@ public interface AnvilInventory extends Inventory { + setItem(2, result); + } + // Paper end + + // Purpur start + boolean canBypassCost(); diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index fdadbff72..6ad342e25 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -1,4 +1,4 @@ -From 49c857402f8682d8b5e6da6e30af1fbdcd3fb221 Mon Sep 17 00:00:00 2001 +From 83354a397f8da9106fa538b50ae6a182722db15d Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 4 May 2019 01:02:11 -0500 Subject: [PATCH] Rebrand @@ -15,7 +15,7 @@ Subject: [PATCH] Rebrand create mode 100644 src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java diff --git a/pom.xml b/pom.xml -index fd417a9ee..cdb556405 100644 +index 0c0051f7f..6ca410444 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,11 @@ @@ -75,7 +75,7 @@ index fd417a9ee..cdb556405 100644 net.minecrell terminalconsoleappender -@@ -146,7 +160,7 @@ +@@ -153,7 +167,7 @@ @@ -84,7 +84,7 @@ index fd417a9ee..cdb556405 100644 clean install -@@ -154,7 +168,7 @@ +@@ -161,7 +175,7 @@ gitdescribe-maven-plugin 1.3 @@ -107,10 +107,10 @@ index cd6e25923..bb227bc0f 100644 ); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 98f039834..3bd3e5044 100644 +index b952e9efa..89afe0933 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1543,7 +1543,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 9 May 2019 18:09:43 -0500 Subject: [PATCH] Purpur config files @@ -62,7 +62,7 @@ index e62ca0543..018def64a 100644 // Paper end diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 899c535c4..d0896d944 100644 +index 0e6368d0f..352cbe6c0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -85,6 +85,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -364,7 +364,7 @@ index 000000000..7d983d9a5 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8cf8a46a7..55f157433 100644 +index a1d3bc7ea..a3024da0f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -814,6 +814,7 @@ public final class CraftServer implements Server { @@ -411,10 +411,10 @@ index 8cf8a46a7..55f157433 100644 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 093dbeae2..e05bfa352 100644 +index 93340e947..05e8da40f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -138,6 +138,14 @@ public class Main { +@@ -139,6 +139,14 @@ public class Main { .describedAs("Yml file"); // Paper end diff --git a/patches/server/0007-Ridables.patch b/patches/server/0007-Ridables.patch index b296c3c8e..0d3204817 100644 --- a/patches/server/0007-Ridables.patch +++ b/patches/server/0007-Ridables.patch @@ -1,9 +1,10 @@ -From 774014565ecf69c694e3f94091d3de52240e49d3 Mon Sep 17 00:00:00 2001 +From 129bb5241948459108c22dd3c2eaa78463c9c19e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 6 Feb 2020 19:53:59 -0600 Subject: [PATCH] Ridables --- + .../paper/entity/ai/MobGoalHelper.java | 7 + .../net/minecraft/server/AxisAlignedBB.java | 2 + .../server/ControllerLookDolphin.java | 4 +- .../net/minecraft/server/ControllerMove.java | 6 +- @@ -88,7 +89,6 @@ Subject: [PATCH] Ridables .../java/net/minecraft/server/FoodInfo.java | 1 + .../java/net/minecraft/server/ItemDye.java | 1 + .../java/net/minecraft/server/MathHelper.java | 2 + - .../net/minecraft/server/PathfinderGoal.java | 1 + .../minecraft/server/PathfinderGoalSwell.java | 5 +- .../minecraft/server/ProjectileHelper.java | 1 + src/main/java/net/minecraft/server/Vec3D.java | 3 + @@ -104,7 +104,7 @@ Subject: [PATCH] Ridables .../pathfinder/PathfinderGoalHasRider.java | 21 + .../craftbukkit/entity/CraftEntity.java | 27 + src/main/resources/purpur.lang | 4 +- - 100 files changed, 3623 insertions(+), 211 deletions(-) + 100 files changed, 3629 insertions(+), 211 deletions(-) create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -114,6 +114,24 @@ Subject: [PATCH] Ridables create mode 100644 src/main/java/net/pl3x/purpur/entity/PhantomFlames.java create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java +diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java +index d6ee94107..e8e0b3d25 100644 +--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java ++++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java +@@ -118,6 +118,13 @@ public class MobGoalHelper { + ignored.add("selector_1"); + ignored.add("selector_2"); + ignored.add("wrapped"); ++ // Purpur start ++ ignored.add("horse_abstract_1"); ++ ignored.add("llama_3"); ++ ignored.add("llama_4"); ++ ignored.add("find_crystal_goal"); ++ ignored.add("orbit_crystal_goal"); ++ // Purpur end + + bukkitMap.put(EntityInsentient.class, Mob.class); + bukkitMap.put(EntityAgeable.class, Ageable.class); diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java index 3fdb52007..7e67292c2 100644 --- a/src/main/java/net/minecraft/server/AxisAlignedBB.java @@ -198,7 +216,7 @@ index 816d301f1..f7344d3ae 100644 this.C = true; return this; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 14ba037c1..f630edb37 100644 +index 8820e4b65..36088330e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -79,7 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -237,7 +255,7 @@ index 14ba037c1..f630edb37 100644 private float headHeight; // CraftBukkit start public boolean persist = true; -@@ -857,6 +857,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -872,6 +872,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return vec3d1; } @@ -245,7 +263,7 @@ index 14ba037c1..f630edb37 100644 public static double b(Vec3D vec3d) { return vec3d.x * vec3d.x + vec3d.z * vec3d.z; } -@@ -1183,6 +1184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1198,6 +1199,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return flag; } @@ -253,7 +271,7 @@ index 14ba037c1..f630edb37 100644 private boolean l() { return this.world.getType(new BlockPosition(this)).getBlock() == Blocks.BUBBLE_COLUMN; } -@@ -1196,8 +1198,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1211,8 +1213,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.isInWater() || this.isInRain() || this.l(); } @@ -264,7 +282,7 @@ index 14ba037c1..f630edb37 100644 } public boolean aA() { -@@ -1328,6 +1331,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1343,6 +1346,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.inLava; } @@ -272,7 +290,7 @@ index 14ba037c1..f630edb37 100644 public void a(float f, Vec3D vec3d) { Vec3D vec3d1 = a(vec3d, f, this.yaw); -@@ -2162,7 +2166,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2177,7 +2181,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } else { this.passengers.add(entity); } @@ -287,7 +305,7 @@ index 14ba037c1..f630edb37 100644 } return true; // CraftBukkit } -@@ -2197,6 +2207,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2212,6 +2222,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } // Spigot end @@ -300,7 +318,7 @@ index 14ba037c1..f630edb37 100644 this.passengers.remove(entity); entity.j = 60; } -@@ -2365,6 +2381,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2380,6 +2396,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.setFlag(4, flag); } @@ -308,7 +326,7 @@ index 14ba037c1..f630edb37 100644 public boolean bt() { return this.glowing || this.world.isClientSide && this.getFlag(6); } -@@ -2583,6 +2600,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2598,6 +2615,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void setHeadRotation(float f) {} @@ -316,7 +334,7 @@ index 14ba037c1..f630edb37 100644 public void l(float f) {} public boolean bA() { -@@ -3437,4 +3455,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3452,4 +3470,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke void accept(Entity entity, double d0, double d1, double d2); } @@ -1304,7 +1322,7 @@ index 77885f67f..63f5969b1 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 2887cb14e..a6a79f5e9 100644 +index aecdaacfc..ab1747198 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -2744,10 +2762,10 @@ index 1fdc248ba..a5a36af21 100644 protected void initAttributes() { super.initAttributes(); diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 3706c31aa..b20f4afd3 100644 +index 8b199971b..53bc31287 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java -@@ -20,6 +20,23 @@ public class EntityMushroomCow extends EntityCow { +@@ -19,6 +19,23 @@ public class EntityMushroomCow extends EntityCow { super(entitytypes, world); } @@ -3387,7 +3405,7 @@ index 0357c9da9..98a657cec 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 90c5dc1d6..db54bcc7e 100644 +index b37301598..6a7a9dc3d 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1291,6 +1291,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -3757,7 +3775,7 @@ index 6be29f307..189515b0f 100644 public int es() { return 5; diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java -index d5ffdc110..d4f2642d3 100644 +index f63528ca3..43eefa46c 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java @@ -55,10 +55,28 @@ public class EntitySheep extends EntityAnimal { @@ -4065,10 +4083,10 @@ index 2efc18df9..1469e3b23 100644 } else { this.h = ControllerMove.Operation.WAIT; diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 07ca1a498..941873513 100644 +index dee55c5de..65d746899 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -14,12 +14,31 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -13,12 +13,31 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { super(entitytypes, world); } @@ -4100,7 +4118,7 @@ index 07ca1a498..941873513 100644 this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityInsentient.class, 10, true, false, (entityliving) -> { return entityliving instanceof IMonster; })); -@@ -73,6 +92,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -72,6 +91,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { return; } @@ -4108,16 +4126,16 @@ index 07ca1a498..941873513 100644 IBlockData iblockdata = Blocks.SNOW.getBlockData(); for (int l = 0; l < 4; ++l) { -@@ -119,7 +139,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { - this.world.getServer().getPluginManager().callEvent(event); - - if (event.isCancelled()) { +@@ -115,7 +135,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { + if (!this.world.isClientSide) { + // CraftBukkit start + if (!CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) { - return false; -+ return tryRide(entityhuman, enumhand); // Purpur; ++ return tryRide(entityhuman, enumhand); // Purpur } // CraftBukkit end this.setHasPumpkin(false); -@@ -130,7 +150,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -126,7 +146,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { return true; } else { @@ -4593,7 +4611,7 @@ index cf274666c..d919f44ab 100644 Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ()); double d0 = vec3d.f(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index ef2ee68cd..c78a77a4a 100644 +index 1094324d0..ee6b133d1 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -68,6 +68,28 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -4743,7 +4761,7 @@ index 1432d3f6b..447387bd7 100644 this.targetSelector.a(2, this.bz); this.targetSelector.a(3, this.bA); diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index 8977c3516..ad97fe7ea 100644 +index 2f466af4d..8c1fa3717 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -18,7 +18,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -5184,18 +5202,6 @@ index c4aa38ddf..3d52a396e 100644 public static float g(float f, float f1, float f2) { return f1 + f * (f2 - f1); } -diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java -index 93009d83f..1a8ebb673 100644 ---- a/src/main/java/net/minecraft/server/PathfinderGoal.java -+++ b/src/main/java/net/minecraft/server/PathfinderGoal.java -@@ -29,6 +29,7 @@ public abstract class PathfinderGoal { - - public void e() {} - -+ public void setTypes(EnumSet types) { this.a(types); } // Purpur - OBFHELPER - public void a(EnumSet enumset) { - // Paper start - remove streams from pathfindergoalselector - this.goalTypes.clear(); diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java index e07c7674a..3c077b687 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java @@ -5260,10 +5266,10 @@ index 0c7f094e5..62a081006 100644 return new Vec3D(this.x * d0, this.y * d1, this.z * d2); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d0896d944..28c8fd3d4 100644 +index 352cbe6c0..4442f5cc0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -985,6 +985,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -990,6 +990,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } } @@ -5271,7 +5277,7 @@ index d0896d944..28c8fd3d4 100644 public boolean a(AxisAlignedBB axisalignedbb, Material material) { int i = MathHelper.floor(axisalignedbb.minX); int j = MathHelper.f(axisalignedbb.maxX); -@@ -1620,4 +1621,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1625,4 +1626,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @Override public BiomeManager d() { return this.biomeManager; } diff --git a/patches/server/0009-Disable-outdated-build-check.patch b/patches/server/0009-Disable-outdated-build-check.patch index a1e3401ec..c69194900 100644 --- a/patches/server/0009-Disable-outdated-build-check.patch +++ b/patches/server/0009-Disable-outdated-build-check.patch @@ -1,4 +1,4 @@ -From f93e01c96967071c18cd68ba86a5e21168256f73 Mon Sep 17 00:00:00 2001 +From 9f076b9cec808602cb65e0ed2324846ffacd6218 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 15 Dec 2019 12:53:59 -0600 Subject: [PATCH] Disable outdated build check @@ -8,10 +8,10 @@ Subject: [PATCH] Disable outdated build check 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index e05bfa352..9f61c266c 100644 +index 05e8da40f..717c2759f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -220,7 +220,7 @@ public class Main { +@@ -221,7 +221,7 @@ public class Main { System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } diff --git a/patches/server/0019-Cows-eat-mushrooms.patch b/patches/server/0019-Cows-eat-mushrooms.patch index d1a2f0b84..564046ed5 100644 --- a/patches/server/0019-Cows-eat-mushrooms.patch +++ b/patches/server/0019-Cows-eat-mushrooms.patch @@ -1,4 +1,4 @@ -From ee88642c8335366ee44406a6fe24d5f9ffebf436 Mon Sep 17 00:00:00 2001 +From a51f4b1ec17222b8c99220ecc19fdec9bb881754 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 4 May 2019 01:10:30 -0500 Subject: [PATCH] Cows eat mushrooms @@ -11,10 +11,10 @@ Subject: [PATCH] Cows eat mushrooms 4 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f630edb37..3e9406b15 100644 +index 36088330e..cdf908cc1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1081,6 +1081,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1096,6 +1096,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } @@ -22,7 +22,7 @@ index f630edb37..3e9406b15 100644 public void a(SoundEffect soundeffect, float f, float f1) { if (!this.isSilent()) { this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), soundeffect, this.getSoundCategory(), f, f1); -@@ -2627,6 +2628,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2642,6 +2643,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.invulnerable = flag; } diff --git a/patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch index 50a3471f1..e9ff53006 100644 --- a/patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch +++ b/patches/server/0020-Fix-cow-rotation-when-shearing-mooshroom.patch @@ -1,4 +1,4 @@ -From 1e6fed4c8ec31bc74507375d2da965338dcb24cb Mon Sep 17 00:00:00 2001 +From 1d65387a081f39fa4878f89bb059b6e142e3ad16 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 3 May 2019 23:53:16 -0500 Subject: [PATCH] Fix cow rotation when shearing mooshroom @@ -8,10 +8,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index b20f4afd3f..02d76a6c61 100644 +index 53bc31287..bf835aaf9 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java -@@ -118,7 +118,13 @@ public class EntityMushroomCow extends EntityCow { +@@ -114,7 +114,13 @@ public class EntityMushroomCow extends EntityCow { entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch); entitycow.setHealth(this.getHealth()); diff --git a/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index 80d566ba3..c4b89d4d2 100644 --- a/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0022-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -1,4 +1,4 @@ -From 7eb5dc2697e63f21e355f411c5299e8427608824 Mon Sep 17 00:00:00 2001 +From fe16df95ac31d875b31c4deae029b3f6586634b9 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 9 May 2019 18:26:06 -0500 Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms @@ -25,10 +25,10 @@ index f7344d3ae..f6c0165f9 100644 return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic(); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d91c54fa9..0d5e942a0 100644 +index cdf908cc1..c8afacb64 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1427,6 +1427,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1442,6 +1442,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return d3 * d3 + d4 * d4 + d5 * d5; } @@ -36,7 +36,7 @@ index d91c54fa9..0d5e942a0 100644 public double h(Entity entity) { return this.c(entity.getPositionVector()); } -@@ -1956,14 +1957,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1971,14 +1972,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.a(new ItemStack(imaterial), (float) i); } diff --git a/patches/server/0023-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0023-Snowman-drop-and-put-back-pumpkin.patch index 3cc369ba1..bb9fcfc0d 100644 --- a/patches/server/0023-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0023-Snowman-drop-and-put-back-pumpkin.patch @@ -1,4 +1,4 @@ -From d661297b2f62eea8c5b474b4ded7973ec8e026fd Mon Sep 17 00:00:00 2001 +From 0cdfff808b4570fe20e44a30c12880318b2942f6 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 3 May 2019 23:58:44 -0500 Subject: [PATCH] Snowman drop and put back pumpkin @@ -9,10 +9,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin 2 files changed, 21 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 941873513..efc2205f7 100644 +index 65d746899..3f6f8ad45 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java -@@ -8,6 +8,7 @@ import org.bukkit.event.player.PlayerShearEntityEvent; +@@ -7,6 +7,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory; public class EntitySnowman extends EntityGolem implements IRangedEntity { @@ -20,7 +20,7 @@ index 941873513..efc2205f7 100644 private static final DataWatcherObject b = DataWatcher.a(EntitySnowman.class, DataWatcherRegistry.a); public EntitySnowman(EntityTypes entitytypes, World world) { -@@ -146,9 +147,25 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { +@@ -142,9 +143,25 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { itemstack.damage(1, entityhuman, (entityhuman1) -> { entityhuman1.broadcastItemBreak(enumhand); }); diff --git a/patches/server/0030-Controllable-Minecarts.patch b/patches/server/0030-Controllable-Minecarts.patch index 3efaec9a0..079957411 100644 --- a/patches/server/0030-Controllable-Minecarts.patch +++ b/patches/server/0030-Controllable-Minecarts.patch @@ -1,4 +1,4 @@ -From df00076495ac61bf6978a5d5d1d66146d06ad231 Mon Sep 17 00:00:00 2001 +From 63a27259e3672fa56ce6c6952ec89b6b9caeba91 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 29 Jun 2019 02:32:40 -0500 Subject: [PATCH] Controllable Minecarts @@ -11,10 +11,10 @@ Subject: [PATCH] Controllable Minecarts 4 files changed, 76 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0d5e942a0..478ddf34e 100644 +index c8afacb64..b64e287db 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1328,6 +1328,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1343,6 +1343,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.inLava = true; } diff --git a/patches/server/0036-Dont-send-useless-entity-packets.patch b/patches/server/0036-Dont-send-useless-entity-packets.patch index ee5b82a7e..4e8ae2769 100644 --- a/patches/server/0036-Dont-send-useless-entity-packets.patch +++ b/patches/server/0036-Dont-send-useless-entity-packets.patch @@ -1,4 +1,4 @@ -From 154cd96b04812374e0b146234d568ee7c0b90483 Mon Sep 17 00:00:00 2001 +From 8d6b566ea1808ad7ec747ea5224fc9f6c10cfabd Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 6 Jul 2019 17:00:04 -0500 Subject: [PATCH] Dont send useless entity packets @@ -10,10 +10,10 @@ Subject: [PATCH] Dont send useless entity packets 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 3a88c9a67..1f7c8f7da 100644 +index 6d3b34ead..8d4bcd34c 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -@@ -162,6 +162,7 @@ public class EntityTrackerEntry { +@@ -163,6 +163,7 @@ public class EntityTrackerEntry { this.o = 0; packet1 = new PacketPlayOutEntityTeleport(this.tracker); } @@ -21,7 +21,7 @@ index 3a88c9a67..1f7c8f7da 100644 } if ((this.e || this.tracker.impulse || this.tracker instanceof EntityLiving && ((EntityLiving) this.tracker).isGliding()) && this.tickCounter > 0) { -@@ -248,6 +249,22 @@ public class EntityTrackerEntry { +@@ -249,6 +250,22 @@ public class EntityTrackerEntry { } diff --git a/patches/server/0037-Implement-AFK-API.patch b/patches/server/0037-Implement-AFK-API.patch index 43c4f08d2..104174775 100644 --- a/patches/server/0037-Implement-AFK-API.patch +++ b/patches/server/0037-Implement-AFK-API.patch @@ -1,4 +1,4 @@ -From c3a713fef3eb8bae961209d6dad09202bac0657e Mon Sep 17 00:00:00 2001 +From 3a361398ad21e98a81237dd15cff86cd3aa94201 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 8 Aug 2019 15:29:15 -0500 Subject: [PATCH] Implement AFK API @@ -18,10 +18,10 @@ Subject: [PATCH] Implement AFK API 11 files changed, 111 insertions(+), 25 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 153596b94..eed7878a4 100644 +index b64e287db..944199404 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1420,6 +1420,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1435,6 +1435,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return MathHelper.c(f * f + f1 * f1 + f2 * f2); } @@ -50,7 +50,7 @@ index 27cfc6654..d62174e9c 100644 super(EntityTypes.PLAYER, world); this.bV = ItemStack.a; diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 192ec4378..40a2308e4 100644 +index f3278d356..219a274f9 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1624,8 +1624,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -171,10 +171,10 @@ index 1398c47a2..0bf1a14b7 100644 public static Predicate a(double d0, double d1, double d2, double d3) { double d4 = d3 * d3; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2e6411100..1cfe6709c 100644 +index c61edea48..f641aa30c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -235,6 +235,12 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -233,6 +233,12 @@ public class PlayerConnection implements PacketListenerPlayIn { } if (this.player.F() > 0L && this.minecraftServer.getIdleTimeout() > 0 && SystemUtils.getMonotonicMillis() - this.player.F() > (long) (this.minecraftServer.getIdleTimeout() * 1000 * 60)) { @@ -187,7 +187,7 @@ index 2e6411100..1cfe6709c 100644 this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854 this.disconnect(new ChatMessage("multiplayer.disconnect.idling", new Object[0])); } -@@ -451,6 +457,8 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -449,6 +455,8 @@ public class PlayerConnection implements PacketListenerPlayIn { this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -196,7 +196,7 @@ index 2e6411100..1cfe6709c 100644 // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1135,6 +1143,8 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1134,6 +1142,8 @@ public class PlayerConnection implements PacketListenerPlayIn { this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -206,7 +206,7 @@ index 2e6411100..1cfe6709c 100644 if (from.getX() != Double.MAX_VALUE) { Location oldTo = to.clone(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index fc3a41e35..c85639e48 100644 +index a4a441fea..c4a09eda3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -405,7 +405,7 @@ public class WorldServer extends World { @@ -250,7 +250,7 @@ index d6405b2ec..41dd1b861 100644 public boolean batRidableInWater = false; public boolean batRequireShiftToMount = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3515b7268..00f7fc3ec 100644 +index dcbda5b35..c14493929 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2079,4 +2079,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -276,7 +276,7 @@ index 3515b7268..00f7fc3ec 100644 + // Purpur end } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index d873b8cf3..9d9cc06f0 100644 +index f735217e7..818f8070c 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -207,6 +207,7 @@ public class ActivationRange diff --git a/patches/server/0042-Make-the-GUI-better.patch b/patches/server/0042-Make-the-GUI-better.patch index 239e84c81..9edfd3cd6 100644 --- a/patches/server/0042-Make-the-GUI-better.patch +++ b/patches/server/0042-Make-the-GUI-better.patch @@ -1,4 +1,4 @@ -From b14034a9f9af83c9873e567ebbe6bb8626abb7a7 Mon Sep 17 00:00:00 2001 +From 30c61bc04a59a9312d587f60881a58f9703c032a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 16 Jan 2020 14:59:16 -0600 Subject: [PATCH] Make the GUI better @@ -88,10 +88,10 @@ index 018def64a..fe474e4eb 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3bd3e5044..8207e7f8a 100644 +index 89afe0933..a8d572aa4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1350,6 +1350,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 11 Jan 2020 23:12:52 -0600 Subject: [PATCH] Add EntityPortalReadyEvent @@ -86,7 +86,7 @@ index 09c7c1318..6880cdd7f 100644 break; // CraftBukkit start - add the block to our list diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7658d257d..ac814f4ab 100644 +index 944199404..ceba4f355 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -169,9 +169,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -102,7 +102,7 @@ index 7658d257d..ac814f4ab 100644 private boolean invulnerable; protected UUID uniqueID; protected String am; -@@ -2268,6 +2268,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2283,6 +2283,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.world.getMethodProfiler().enter("portal"); this.ag = i; this.portalCooldown = this.ba(); @@ -141,7 +141,7 @@ index f84dd6d9b..f50e9670b 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9b8739485..e1387ddce 100644 +index c4a09eda3..71719ce63 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -75,7 +75,7 @@ public class WorldServer extends World { diff --git a/patches/server/0047-Implement-lagging-threshold.patch b/patches/server/0047-Implement-lagging-threshold.patch index d2b94ba02..728f68c77 100644 --- a/patches/server/0047-Implement-lagging-threshold.patch +++ b/patches/server/0047-Implement-lagging-threshold.patch @@ -1,4 +1,4 @@ -From caa69a1bbf529f8da69d513e1e346436695598e8 Mon Sep 17 00:00:00 2001 +From 78083ab2e5aeb0c439fbb0d8565427b7213b4524 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 23 Jul 2019 10:07:16 -0500 Subject: [PATCH] Implement lagging threshold @@ -10,7 +10,7 @@ Subject: [PATCH] Implement lagging threshold 3 files changed, 14 insertions(+) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8207e7f8a..4d25bd747 100644 +index a8d572aa4..533230432 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -184,6 +184,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sun, 21 Jul 2019 18:06:20 -0500 Subject: [PATCH] Climbing should not bypass cramming gamerule @@ -17,10 +17,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule 10 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7ca7a148b..a8b1f4892 100644 +index ceba4f355..ae119067e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1555,6 +1555,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1570,6 +1570,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean isCollidable() { diff --git a/patches/server/0053-Bring-back-server-name.patch b/patches/server/0053-Bring-back-server-name.patch index 0a7cbb359..61585fcd2 100644 --- a/patches/server/0053-Bring-back-server-name.patch +++ b/patches/server/0053-Bring-back-server-name.patch @@ -1,4 +1,4 @@ -From 4ec72eea0a0d8df4c68aab0c857d79a81f05dc8b Mon Sep 17 00:00:00 2001 +From 008c94f5ef0faf47199d34ebe95cfca35dba957e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 26 May 2019 15:19:14 -0500 Subject: [PATCH] Bring back server name @@ -21,10 +21,10 @@ index 0c3ec8357..309f5562b 100644 public final boolean spawnNpcs = this.getBoolean("spawn-npcs", true); public final boolean pvp = this.getBoolean("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 44b3dca47..68c7dbdb8 100644 +index 0b474f64e..047d48873 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2248,6 +2248,11 @@ public final class CraftServer implements Server { +@@ -2254,6 +2254,11 @@ public final class CraftServer implements Server { // Paper end // Purpur start diff --git a/patches/server/0060-Alternative-Keepalive-Handling.patch b/patches/server/0060-Alternative-Keepalive-Handling.patch index 3c066c499..473cb369f 100644 --- a/patches/server/0060-Alternative-Keepalive-Handling.patch +++ b/patches/server/0060-Alternative-Keepalive-Handling.patch @@ -1,4 +1,4 @@ -From 6b5a1fa86ca426fa82857f6d4dd082970eefe878 Mon Sep 17 00:00:00 2001 +From 4f27c69dd03c244d9f695afa6313b48ba67fce4d Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 11 Oct 2019 00:17:39 -0500 Subject: [PATCH] Alternative Keepalive Handling @@ -22,7 +22,7 @@ index 8e93f1540..470f92c4f 100644 return this.a; } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 1cfe6709c..d89a30659 100644 +index f641aa30c..f83a35c9f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -75,6 +75,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -33,7 +33,7 @@ index 1cfe6709c..d89a30659 100644 // CraftBukkit start - multithreaded fields private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); -@@ -203,6 +204,21 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -201,6 +202,21 @@ public class PlayerConnection implements PacketListenerPlayIn { long currentTime = SystemUtils.getMonotonicMillis(); long elapsedTime = currentTime - this.getLastPing(); diff --git a/patches/server/0066-Add-5-second-tps-average-in-tps.patch b/patches/server/0066-Add-5-second-tps-average-in-tps.patch index 4a383ae98..dbd47a960 100644 --- a/patches/server/0066-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0066-Add-5-second-tps-average-in-tps.patch @@ -1,4 +1,4 @@ -From a1fd8828f3b58853f6a00532529360299d277870 Mon Sep 17 00:00:00 2001 +From 1701f8bd731b30777cb1513bb38f32408ecba9e3 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 28 Jul 2019 01:27:37 -0500 Subject: [PATCH] Add 5 second tps average in /tps @@ -10,7 +10,7 @@ Subject: [PATCH] Add 5 second tps average in /tps 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4d25bd747..7a7c9213d 100644 +index 533230432..493d9efe6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -183,7 +183,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 7 Oct 2019 00:15:37 -0500 Subject: [PATCH] Add API for Villager#resetOffers() @@ -35,13 +35,13 @@ index 9b75c67c7..ddd19aa2f 100644 protected void a(MerchantRecipeList merchantrecipelist, VillagerTrades.IMerchantRecipeOption[] avillagertrades_imerchantrecipeoption, int i) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index a8384081c..f78a23e42 100644 +index 19409c7a2..d9e19648f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -124,4 +124,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { - public static VillagerProfession bukkitToNmsProfession(Profession bukkit) { - return IRegistry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey())); +@@ -164,4 +164,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { + } } + // Paper end + + // Purpur start + @Override diff --git a/patches/server/0075-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0075-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 119fc5456..208da3762 100644 --- a/patches/server/0075-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0075-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -1,4 +1,4 @@ -From 3d083e02e266b26cc31944bf3df22bc1823e4b8d Mon Sep 17 00:00:00 2001 +From 1d30eeeb7722d1dc6a30725d763f2724f7d8906a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 19 Oct 2019 01:42:50 -0500 Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases @@ -9,10 +9,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 28c8fd3d4..0c4aae6ce 100644 +index 4442f5cc0..71a47ca2a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1427,8 +1427,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1432,8 +1432,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return blockposition; } @@ -25,7 +25,7 @@ index 28c8fd3d4..0c4aae6ce 100644 public boolean a(EntityHuman entityhuman, BlockPosition blockposition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 83bd0a95d..05d3a0dcc 100644 +index acf854322..ba8b0e756 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -383,12 +383,16 @@ public class CraftWorld implements World { diff --git a/patches/server/0082-Add-permission-for-F3-N-debug.patch b/patches/server/0082-Add-permission-for-F3-N-debug.patch index 019555b79..0f6c71a9a 100644 --- a/patches/server/0082-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0082-Add-permission-for-F3-N-debug.patch @@ -1,4 +1,4 @@ -From db022ecbbae92bbacaf3e880d56313d3cbf8807d Mon Sep 17 00:00:00 2001 +From f92c808c4d70752623932d33a603c811a8a05097 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 28 Dec 2019 04:21:54 -0600 Subject: [PATCH] Add permission for F3+N debug @@ -8,10 +8,10 @@ Subject: [PATCH] Add permission for F3+N debug 1 file changed, 1 insertion(+) diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index edf9df8c8..642160065 100644 +index 9786f110c..5155537e7 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -973,6 +973,7 @@ public abstract class PlayerList { +@@ -975,6 +975,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + i); } diff --git a/patches/server/0083-Allow-leashing-villagers.patch b/patches/server/0083-Allow-leashing-villagers.patch index c9c40582d..6fd562098 100644 --- a/patches/server/0083-Allow-leashing-villagers.patch +++ b/patches/server/0083-Allow-leashing-villagers.patch @@ -1,4 +1,4 @@ -From bc52f2bbaf2e74b173968089b5ddcac97876285a Mon Sep 17 00:00:00 2001 +From bc95738e40b609fe775192630e50327feb046e79 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 3 Oct 2019 18:08:03 -0500 Subject: [PATCH] Allow leashing villagers @@ -23,10 +23,10 @@ index bf9d044b0..3adc3434e 100644 if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) { ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(this, this.getLeashHolder())); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index ec457de62..f67195de9 100644 +index d2680bb09..0abf72871 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -1015,4 +1015,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -1016,4 +1016,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation this.bL = restocksToday; } // Paper end diff --git a/patches/server/0087-UPnP-Port-Forwarding-Service.patch b/patches/server/0087-UPnP-Port-Forwarding-Service.patch index 31237a146..e834bd4e1 100644 --- a/patches/server/0087-UPnP-Port-Forwarding-Service.patch +++ b/patches/server/0087-UPnP-Port-Forwarding-Service.patch @@ -1,4 +1,4 @@ -From d6c311e7c232a6269e25a05fb3136ef4b8aa698c Mon Sep 17 00:00:00 2001 +From c6a8dc971d2342d520ab4deb98e220dcc8fa0b04 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Wed, 22 Jan 2020 20:13:40 -0600 Subject: [PATCH] UPnP Port Forwarding Service @@ -14,7 +14,7 @@ Subject: [PATCH] UPnP Port Forwarding Service create mode 100644 src/main/java/net/pl3x/purpur/gui/info/UPnPComponent.java diff --git a/pom.xml b/pom.xml -index 07c50510c..5ecec5c20 100644 +index 6ca410444..46101cdbe 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,12 @@ @@ -30,7 +30,7 @@ index 07c50510c..5ecec5c20 100644 net.minecrell -@@ -149,6 +155,10 @@ +@@ -156,6 +162,10 @@ spigotmc-public https://hub.spigotmc.org/nexus/content/groups/public/ @@ -78,7 +78,7 @@ index fe474e4eb..18fdaf53e 100644 // this.a((PlayerList) (new DedicatedPlayerList(this))); // Spigot - moved up server.loadPlugins(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7a7c9213d..971466e2a 100644 +index 493d9efe6..f6260c34b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -187,6 +187,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 18 Feb 2020 20:07:08 -0600 Subject: [PATCH] Add option to disable saving projectiles to disk @@ -15,7 +15,7 @@ Subject: [PATCH] Add option to disable saving projectiles to disk 8 files changed, 58 insertions(+) diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 57a6e7c13..89fa4f0a9 100644 +index fa893b14b..a60e4ef36 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -437,6 +437,7 @@ public class ChunkRegionLoader { @@ -27,10 +27,10 @@ index 57a6e7c13..89fa4f0a9 100644 // Paper start if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8304b42cc..b626c6ada 100644 +index ae119067e..6406e6c5d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1572,6 +1572,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1587,6 +1587,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } diff --git a/patches/server/0091-Add-item-entity-options.patch b/patches/server/0091-Add-item-entity-options.patch index 69d645186..db9ac5806 100644 --- a/patches/server/0091-Add-item-entity-options.patch +++ b/patches/server/0091-Add-item-entity-options.patch @@ -1,4 +1,4 @@ -From 12201a8ab87a002d24b9d088f94da98cd3bf81b8 Mon Sep 17 00:00:00 2001 +From 78498ce0b82d11b1ec78e6a598e14fb8a4e2b1db Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 22 Feb 2020 15:54:08 -0600 Subject: [PATCH] Add item entity options @@ -10,10 +10,10 @@ Subject: [PATCH] Add item entity options 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b626c6ada..ecccbe12a 100644 +index 6406e6c5d..e5a2414c1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1303,6 +1303,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1318,6 +1318,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } diff --git a/patches/server/0093-Configurable-void-damage-height.patch b/patches/server/0093-Configurable-void-damage-height.patch index 1e7888434..07cd5b7e8 100644 --- a/patches/server/0093-Configurable-void-damage-height.patch +++ b/patches/server/0093-Configurable-void-damage-height.patch @@ -1,4 +1,4 @@ -From 88244c3a5893802b573d7661b5bd6958c906ad2e Mon Sep 17 00:00:00 2001 +From 62230b26b7bf0f5f96ad902dc0d3fa5474d12ec5 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 27 Feb 2020 21:42:19 -0600 Subject: [PATCH] Configurable void damage height @@ -9,10 +9,10 @@ Subject: [PATCH] Configurable void damage height 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ecccbe12a..22033b82d 100644 +index e5a2414c1..f04319b1f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -487,7 +487,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -502,7 +502,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke // Paper start protected void performVoidDamage() { diff --git a/patches/server/0094-Fix-the-dead-lagging-the-server.patch b/patches/server/0094-Fix-the-dead-lagging-the-server.patch index 0f310d41d..7a13af76e 100644 --- a/patches/server/0094-Fix-the-dead-lagging-the-server.patch +++ b/patches/server/0094-Fix-the-dead-lagging-the-server.patch @@ -1,4 +1,4 @@ -From 097e37ea5cea8ea5ab46607e92477b4523d062a0 Mon Sep 17 00:00:00 2001 +From ef29b912a54e3489dfada87a8006f210cd2e3681 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 6 Mar 2020 13:37:26 -0600 Subject: [PATCH] Fix the dead lagging the server @@ -9,10 +9,10 @@ Subject: [PATCH] Fix the dead lagging the server 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f2fb5404a..bff644763 100644 +index f04319b1f..074a0ee0c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1389,7 +1389,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1404,7 +1404,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F; this.lastYaw = this.yaw; this.lastPitch = this.pitch; diff --git a/patches/server/0097-Configurable-server-mod-name.patch b/patches/server/0097-Configurable-server-mod-name.patch index 5bf1a060e..ed2929f7a 100644 --- a/patches/server/0097-Configurable-server-mod-name.patch +++ b/patches/server/0097-Configurable-server-mod-name.patch @@ -1,4 +1,4 @@ -From 7bbb5d4e67c00a878e483cd207408c9b08f05fdb Mon Sep 17 00:00:00 2001 +From 9776c64707afaad5f98971260985d922230e8f1a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 21 Mar 2020 11:47:39 -0500 Subject: [PATCH] Configurable server mod name @@ -9,10 +9,10 @@ Subject: [PATCH] Configurable server mod name 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 971466e2a..1b76ce463 100644 +index f6260c34b..6e1d698af 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1561,7 +1561,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 26 Mar 2020 19:06:22 -0500 Subject: [PATCH] Configurable TPS Catchup @@ -9,10 +9,10 @@ Subject: [PATCH] Configurable TPS Catchup 2 files changed, 12 insertions(+) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1b76ce463..e9f1fd78a 100644 +index 6e1d698af..902a5f98f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -964,6 +964,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 2 Apr 2020 00:28:06 -0500 Subject: [PATCH] Optimize Chunk Ticks --- - .../minecraft/server/ChunkProviderServer.java | 70 ++++++------------- - .../minecraft/server/EnumCreatureType.java | 14 ++++ - .../net/minecraft/server/PlayerChunkMap.java | 30 ++++---- - 3 files changed, 51 insertions(+), 63 deletions(-) + .../minecraft/server/ChunkProviderServer.java | 50 ++++--------------- + .../minecraft/server/EnumCreatureType.java | 14 ++++++ + 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 78a8a3cc6..0a09e8dd7 100644 +index e2abda1bc..8ffb2e6b7 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -737,11 +737,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -767,11 +767,12 @@ public class ChunkProviderServer extends IChunkProvider { int k = this.world.getGameRules().getInt(GameRules.RANDOM_TICK_SPEED); BlockPosition blockposition = this.world.getSpawn(); // CraftBukkit start - Other mob type spawn tick rate @@ -31,35 +30,8 @@ index 78a8a3cc6..0a09e8dd7 100644 // CraftBukkit end this.world.getMethodProfiler().enter("naturalSpawnCount"); -@@ -767,15 +768,17 @@ public class ChunkProviderServer extends IChunkProvider { - - this.world.timings.countNaturalMobs.stopTiming(); // Paper - timings - this.world.getMethodProfiler().exit(); -- //Paper start - call player naturally spawn event -- int chunkRange = world.spigotConfig.mobSpawnRange; -- chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange; -- chunkRange = Math.min(chunkRange, 8); -- for (EntityPlayer entityPlayer : this.world.players) { -- entityPlayer.playerNaturallySpawnedEvent = new com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent(entityPlayer.getBukkitEntity(), (byte) chunkRange); -- entityPlayer.playerNaturallySpawnedEvent.callEvent(); -- }; -- // Paper end -+ // Purpur start -+ if (com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent.getHandlerList().getRegisteredListeners().length > 0) { -+ // Paper start - call player naturally spawn event -+ byte chunkRange = (byte) Math.min(Math.min(world.spigotConfig.mobSpawnRange, world.spigotConfig.viewDistance), 8); -+ for (EntityPlayer entityPlayer : this.world.players) { -+ entityPlayer.playerNaturallySpawnedEvent = new com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent(entityPlayer.getBukkitEntity(), (byte) chunkRange); -+ entityPlayer.playerNaturallySpawnedEvent.callEvent(); -+ } -+ // Paper end -+ } -+ // Purpur end - final int[] chunksTicked = {0}; this.playerChunkMap.forEachVisibleChunk((playerchunk) -> { // Paper - safe iterator incase chunk loads, also no wrapping - Optional optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); - -@@ -795,40 +798,11 @@ public class ChunkProviderServer extends IChunkProvider { - if (flag1 && (this.allowMonsters || this.allowAnimals) && this.world.getWorldBorder().isInBounds(chunk.getPos()) && !this.playerChunkMap.isOutsideOfRange(chunkcoordintpair, true)) { // Spigot +@@ -817,40 +818,11 @@ public class ChunkProviderServer extends IChunkProvider { + if (flag1 && (this.allowMonsters || this.allowAnimals) && this.world.getWorldBorder().isInBounds(chunk.getPos()) && !this.playerChunkMap.isOutsideOfRange(playerchunk, chunkcoordintpair, true)) { // Spigot // Paper - optimise isOutsideOfRange this.world.getMethodProfiler().enter("spawner"); this.world.timings.mobSpawn.startTiming(); // Spigot - EnumCreatureType[] aenumcreaturetype1 = aenumcreaturetype; @@ -134,54 +106,6 @@ index 3ed7fa324..7f236585d 100644 + } + // Purpur end } -diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index aabb9220d..b0c95aebf 100644 ---- a/src/main/java/net/minecraft/server/PlayerChunkMap.java -+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -1386,28 +1386,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { - } - - boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair, boolean reducedRange) { -- int chunkRange = world.spigotConfig.mobSpawnRange; -- chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange; -- chunkRange = (chunkRange > 8) ? 8 : chunkRange; -- -- final int finalChunkRange = chunkRange; // Paper for lambda below -- //double blockRange = (reducedRange) ? Math.pow(chunkRange << 4, 2) : 16384.0D; // Paper - use from event -- // Spigot end -+ // Purpur start - long i = chunkcoordintpair.pair(); -- -- return !this.chunkDistanceManager.d(i) ? true : this.playerMap.a(i).noneMatch((entityplayer) -> { -- // Paper start - -- com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent event; -+ return !this.chunkDistanceManager.d(i) || this.playerMap.a(i).noneMatch((player) -> { -+ // Paper start - double blockRange = 16384.0D; - if (reducedRange) { -- event = entityplayer.playerNaturallySpawnedEvent; -- if (event == null || event.isCancelled()) return false; -- blockRange = (double) ((event.getSpawnRadius() << 4) * (event.getSpawnRadius() << 4)); -+ int radius; -+ if (player.playerNaturallySpawnedEvent != null) { -+ if (player.playerNaturallySpawnedEvent.isCancelled()) { -+ return false; -+ } -+ radius = player.playerNaturallySpawnedEvent.getSpawnRadius(); -+ } else { -+ radius = Math.min(Math.min(world.spigotConfig.mobSpawnRange, world.spigotConfig.viewDistance), 8) << 4; -+ } -+ blockRange = radius * radius; - } - -- return (!entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange); // Spigot -+ return (!player.isSpectator() && a(chunkcoordintpair, player) < blockRange); // Spigot - // Paper end - }); -+ // Purpur end - } - - private boolean b(EntityPlayer entityplayer) { -- 2.24.0 diff --git a/patches/server/0113-Player-invulnerabilities.patch b/patches/server/0113-Player-invulnerabilities.patch index db014f1fb..39d24e37d 100644 --- a/patches/server/0113-Player-invulnerabilities.patch +++ b/patches/server/0113-Player-invulnerabilities.patch @@ -1,4 +1,4 @@ -From 94e476eb077f2094206185c6d9b0007d713d4b99 Mon Sep 17 00:00:00 2001 +From f65a4661cd8809abc4cf81ad6256849d15c4c51f Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 2 May 2020 20:55:44 -0500 Subject: [PATCH] Player invulnerabilities @@ -12,7 +12,7 @@ Subject: [PATCH] Player invulnerabilities 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 2453f0149..b4652a2c2 100644 +index 19cfdf6c8..621171584 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -131,6 +131,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -75,7 +75,7 @@ index 2453f0149..b4652a2c2 100644 public Scoreboard getScoreboard() { return getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d89a30659..5065a6aa9 100644 +index f83a35c9f..4d6e7c249 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1522,6 +1522,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -87,10 +87,10 @@ index d89a30659..5065a6aa9 100644 this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus)); // Paper end diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 642160065..5e15eb46e 100644 +index 5155537e7..652a954b5 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -821,6 +821,8 @@ public abstract class PlayerList { +@@ -823,6 +823,8 @@ public abstract class PlayerList { } // Paper end @@ -122,7 +122,7 @@ index efdc176e6..81969d2dc 100644 playerSleepCondition = getString("gameplay-mechanics.player.sleep.condition", playerSleepCondition); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 00f7fc3ec..0d410968c 100644 +index c14493929..a3ffa34e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2095,5 +2095,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0116-MC-4-Fix-Item-position-desync.patch b/patches/server/0116-MC-4-Fix-Item-position-desync.patch index c8fe06353..b3b01ae97 100644 --- a/patches/server/0116-MC-4-Fix-Item-position-desync.patch +++ b/patches/server/0116-MC-4-Fix-Item-position-desync.patch @@ -1,4 +1,4 @@ -From d66b7e2f84df8ce9968cd57fd67f08fd459860ab Mon Sep 17 00:00:00 2001 +From 38d451e1f9556d05be4854849084f53771e2b061 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 6 Jul 2019 21:12:58 -0500 Subject: [PATCH] MC-4 Fix - Item position desync @@ -10,10 +10,10 @@ Subject: [PATCH] MC-4 Fix - Item position desync 3 files changed, 10 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 1f7c8f7da..1589b46b7 100644 +index 8d4bcd34c..ec0abe429 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -@@ -126,6 +126,12 @@ public class EntityTrackerEntry { +@@ -127,6 +127,12 @@ public class EntityTrackerEntry { j = MathHelper.d(this.tracker.pitch * 256.0F / 360.0F); Vec3D vec3d = this.tracker.getPositionVector().d(PacketPlayOutEntity.a(this.xLoc, this.yLoc, this.zLoc)); boolean flag1 = vec3d.g() >= 7.62939453125E-6D; diff --git a/patches/server/0122-Tuinity-Delay-chunk-unloads.patch b/patches/server/0122-Tuinity-Delay-chunk-unloads.patch index 8f50e8de8..91329684b 100644 --- a/patches/server/0122-Tuinity-Delay-chunk-unloads.patch +++ b/patches/server/0122-Tuinity-Delay-chunk-unloads.patch @@ -1,4 +1,4 @@ -From 768d10e0f31cc40dc3803b8631f953f4de958653 Mon Sep 17 00:00:00 2001 +From 3755fa9ef7cb0798f63098b7cc08db5a4bac6b73 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 25 Oct 2019 02:11:30 -0700 Subject: [PATCH] Tuinity - Delay chunk unloads @@ -15,12 +15,12 @@ without tickets get unloaded immediately. Configurable under `delay-chunkunloads-by` in config. --- .../java/net/minecraft/server/ChunkMap.java | 1 + - .../minecraft/server/ChunkMapDistance.java | 69 ++++++++++++++++++- + .../minecraft/server/ChunkMapDistance.java | 68 ++++++++++++++++++- .../java/net/minecraft/server/Ticket.java | 6 +- .../java/net/minecraft/server/TicketType.java | 1 + .../java/net/pl3x/purpur/PurpurConfig.java | 9 +++ .../org/bukkit/craftbukkit/CraftWorld.java | 1 + - 6 files changed, 83 insertions(+), 4 deletions(-) + 6 files changed, 82 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java index 55f9f4e6e..ac21fdb4c 100644 @@ -35,7 +35,7 @@ index 55f9f4e6e..ac21fdb4c 100644 this.a(ChunkCoordIntPair.a, i, j, flag); } diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index 279c7a85f..f26bc3417 100644 +index 942efe62f..6f710ffa2 100644 --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java @@ -30,7 +30,7 @@ public abstract class ChunkMapDistance { @@ -44,13 +44,13 @@ index 279c7a85f..f26bc3417 100644 public final Long2ObjectOpenHashMap>> tickets = new Long2ObjectOpenHashMap(); - private final ChunkMapDistance.a e = new ChunkMapDistance.a(); + private final ChunkMapDistance.a e = new ChunkMapDistance.a(); final ChunkMapDistance.a getTicketTracker() { return this.e; } // Purpur - OBFHELPER - private final ChunkMapDistance.b f = new ChunkMapDistance.b(8); + public static final int MOB_SPAWN_RANGE = 8; //private final ChunkMapDistance.b f = new ChunkMapDistance.b(8); // Paper - no longer used private final ChunkMapDistance.c g = new ChunkMapDistance.c(33); private final java.util.Queue pendingChunkUpdates = new java.util.LinkedList<>(); // PAIL pendingChunkUpdates // Paper - use a queue -@@ -41,6 +41,47 @@ public abstract class ChunkMapDistance { - private final Executor m; +@@ -42,6 +42,46 @@ public abstract class ChunkMapDistance { private long currentTick; + PlayerChunkMap chunkMap; // Paper + // Purpur start + private long nextUnloadId; + private final Long2ObjectOpenHashMap> delayedChunks = new Long2ObjectOpenHashMap<>(); @@ -91,11 +91,10 @@ index 279c7a85f..f26bc3417 100644 + tickets.add(ticket); // re-add with new expire time and ticket level + } + // Purpur end -+ + protected ChunkMapDistance(Executor executor, Executor executor1) { executor1.getClass(); - Mailbox mailbox = Mailbox.a("player ticket throttler", executor1::execute); -@@ -56,12 +97,30 @@ public abstract class ChunkMapDistance { +@@ -58,12 +98,30 @@ public abstract class ChunkMapDistance { ++this.currentTick; ObjectIterator objectiterator = this.tickets.long2ObjectEntrySet().fastIterator(); @@ -127,7 +126,7 @@ index 279c7a85f..f26bc3417 100644 this.e.b(entry.getLongKey(), a((ArraySetSorted) entry.getValue()), false); } -@@ -72,6 +131,7 @@ public abstract class ChunkMapDistance { +@@ -74,6 +132,7 @@ public abstract class ChunkMapDistance { } @@ -135,7 +134,7 @@ index 279c7a85f..f26bc3417 100644 private static int a(ArraySetSorted> arraysetsorted) { return !arraysetsorted.isEmpty() ? ((Ticket) arraysetsorted.b()).b() : PlayerChunkMap.GOLDEN_TICKET + 1; } -@@ -154,6 +214,11 @@ public abstract class ChunkMapDistance { +@@ -156,6 +215,11 @@ public abstract class ChunkMapDistance { boolean removed = false; // CraftBukkit if (arraysetsorted.remove(ticket)) { removed = true; // CraftBukkit @@ -173,12 +172,12 @@ index 7a8397815..8aae0b63e 100644 long j = this.a.b(); diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java -index 6e0d0a54a..07f77dbb8 100644 +index 8055f5998..93587068f 100644 --- a/src/main/java/net/minecraft/server/TicketType.java +++ b/src/main/java/net/minecraft/server/TicketType.java -@@ -24,6 +24,7 @@ public class TicketType { +@@ -23,6 +23,7 @@ public class TicketType { + public static final TicketType PLUGIN_TICKET = a("plugin_ticket", (plugin1, plugin2) -> plugin1.getClass().getName().compareTo(plugin2.getClass().getName())); // CraftBukkit public static final TicketType FUTURE_AWAIT = a("future_await", Long::compareTo); // Paper - public static final TicketType ANTIXRAY = a("antixray", Integer::compareTo); // Paper - Anti-Xray public static final TicketType ASYNC_LOAD = a("async_load", Long::compareTo); // Paper + public static final TicketType DELAYED_UNLOAD = a("delayed_unload", Long::compareTo); // Purpur @@ -210,7 +209,7 @@ index ab88636ca..becb13e0e 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 97c2994a9..1f5e1a5a1 100644 +index 6a50d7de3..513e84f76 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -487,6 +487,7 @@ public class CraftWorld implements World { diff --git a/patches/server/0123-Tuinity-Always-able-to-execute-tasks-on-the-main-ser.patch b/patches/server/0123-Tuinity-Always-able-to-execute-tasks-on-the-main-ser.patch index 0940d6ee0..09bc5bc4a 100644 --- a/patches/server/0123-Tuinity-Always-able-to-execute-tasks-on-the-main-ser.patch +++ b/patches/server/0123-Tuinity-Always-able-to-execute-tasks-on-the-main-ser.patch @@ -1,4 +1,4 @@ -From 0ab7bd16c955aa134f4e121b004a1162775fe7e2 Mon Sep 17 00:00:00 2001 +From d7a4327da2fedcd01c616bb9789e4483dd67c3de Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 3 Apr 2020 02:21:13 -0700 Subject: [PATCH] Tuinity - Always able to execute tasks on the main server @@ -12,10 +12,10 @@ chunks. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e9f1fd78a..1ba86d12f 100644 +index 902a5f98f..23f2da8a8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1090,7 +1090,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 5 Mar 2020 23:08:01 +0100 Subject: [PATCH] YAPFA - Disable mojang profiler @@ -43,7 +43,7 @@ index f0d72ea39..e38a68406 100644 throw CommandDebug.b.create(); } else { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1ba86d12f..2f58c3b44 100644 +index 23f2da8a8..a1905366f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -80,7 +80,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant