diff --git a/Spigot-API-Patches/0004-Timings-v2.patch b/Spigot-API-Patches/0004-Timings-v2.patch index 16dcff0f95..a490d74aa3 100644 --- a/Spigot-API-Patches/0004-Timings-v2.patch +++ b/Spigot-API-Patches/0004-Timings-v2.patch @@ -1,4 +1,4 @@ -From 175f1620b7fba6b7a0a189cbd2c1e734498950a7 Mon Sep 17 00:00:00 2001 +From 5b14068add26b91b006e51d745d5de6118e4c154 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 18:48:17 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java new file mode 100644 -index 000000000..64531fcce +index 00000000..64531fcc --- /dev/null +++ b/src/main/java/co/aikar/timings/FullServerTickHandler.java @@ -0,0 +1,84 @@ @@ -96,7 +96,7 @@ index 000000000..64531fcce +} diff --git a/src/main/java/co/aikar/timings/NullTimingHandler.java b/src/main/java/co/aikar/timings/NullTimingHandler.java new file mode 100644 -index 000000000..9b45ce887 +index 00000000..9b45ce88 --- /dev/null +++ b/src/main/java/co/aikar/timings/NullTimingHandler.java @@ -0,0 +1,68 @@ @@ -170,7 +170,7 @@ index 000000000..9b45ce887 +} diff --git a/src/main/java/co/aikar/timings/TimedEventExecutor.java b/src/main/java/co/aikar/timings/TimedEventExecutor.java new file mode 100644 -index 000000000..933ecf9bd +index 00000000..933ecf9b --- /dev/null +++ b/src/main/java/co/aikar/timings/TimedEventExecutor.java @@ -0,0 +1,83 @@ @@ -259,7 +259,7 @@ index 000000000..933ecf9bd +} diff --git a/src/main/java/co/aikar/timings/Timing.java b/src/main/java/co/aikar/timings/Timing.java new file mode 100644 -index 000000000..a21e5ead5 +index 00000000..a21e5ead --- /dev/null +++ b/src/main/java/co/aikar/timings/Timing.java @@ -0,0 +1,83 @@ @@ -348,7 +348,7 @@ index 000000000..a21e5ead5 +} diff --git a/src/main/java/co/aikar/timings/TimingData.java b/src/main/java/co/aikar/timings/TimingData.java new file mode 100644 -index 000000000..a5d13a1e4 +index 00000000..a5d13a1e --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingData.java @@ -0,0 +1,122 @@ @@ -476,7 +476,7 @@ index 000000000..a5d13a1e4 +} diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java new file mode 100644 -index 000000000..cc0390c06 +index 00000000..cc0390c0 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingHandler.java @@ -0,0 +1,227 @@ @@ -709,7 +709,7 @@ index 000000000..cc0390c06 +} diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java new file mode 100644 -index 000000000..ddaed8127 +index 00000000..ddaed812 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingHistory.java @@ -0,0 +1,354 @@ @@ -1069,7 +1069,7 @@ index 000000000..ddaed8127 +} diff --git a/src/main/java/co/aikar/timings/TimingHistoryEntry.java b/src/main/java/co/aikar/timings/TimingHistoryEntry.java new file mode 100644 -index 000000000..86d5ac6bd +index 00000000..86d5ac6b --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingHistoryEntry.java @@ -0,0 +1,58 @@ @@ -1133,7 +1133,7 @@ index 000000000..86d5ac6bd +} diff --git a/src/main/java/co/aikar/timings/TimingIdentifier.java b/src/main/java/co/aikar/timings/TimingIdentifier.java new file mode 100644 -index 000000000..df142a89b +index 00000000..df142a89 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingIdentifier.java @@ -0,0 +1,116 @@ @@ -1255,7 +1255,7 @@ index 000000000..df142a89b +} diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java new file mode 100644 -index 000000000..0b34e0d01 +index 00000000..0b34e0d0 --- /dev/null +++ b/src/main/java/co/aikar/timings/Timings.java @@ -0,0 +1,293 @@ @@ -1554,7 +1554,7 @@ index 000000000..0b34e0d01 +} diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java new file mode 100644 -index 000000000..c0d8f2016 +index 00000000..c0d8f201 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingsCommand.java @@ -0,0 +1,122 @@ @@ -1682,7 +1682,7 @@ index 000000000..c0d8f2016 +} diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java new file mode 100644 -index 000000000..23eb8c65c +index 00000000..23eb8c65 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingsExport.java @@ -0,0 +1,355 @@ @@ -2043,7 +2043,7 @@ index 000000000..23eb8c65c +} diff --git a/src/main/java/co/aikar/timings/TimingsManager.java b/src/main/java/co/aikar/timings/TimingsManager.java new file mode 100644 -index 000000000..ef824d701 +index 00000000..ef824d70 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingsManager.java @@ -0,0 +1,188 @@ @@ -2237,7 +2237,7 @@ index 000000000..ef824d701 +} diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java new file mode 100644 -index 000000000..bf3e059fe +index 00000000..bf3e059f --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingsReportListener.java @@ -0,0 +1,75 @@ @@ -2318,7 +2318,7 @@ index 000000000..bf3e059fe +} diff --git a/src/main/java/co/aikar/timings/UnsafeTimingHandler.java b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java new file mode 100644 -index 000000000..632c49615 +index 00000000..632c4961 --- /dev/null +++ b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java @@ -0,0 +1,53 @@ @@ -2377,7 +2377,7 @@ index 000000000..632c49615 +} diff --git a/src/main/java/co/aikar/util/Counter.java b/src/main/java/co/aikar/util/Counter.java new file mode 100644 -index 000000000..80155072d +index 00000000..80155072 --- /dev/null +++ b/src/main/java/co/aikar/util/Counter.java @@ -0,0 +1,38 @@ @@ -2421,7 +2421,7 @@ index 000000000..80155072d +} diff --git a/src/main/java/co/aikar/util/JSONUtil.java b/src/main/java/co/aikar/util/JSONUtil.java new file mode 100644 -index 000000000..190bf0598 +index 00000000..190bf059 --- /dev/null +++ b/src/main/java/co/aikar/util/JSONUtil.java @@ -0,0 +1,140 @@ @@ -2567,7 +2567,7 @@ index 000000000..190bf0598 +} diff --git a/src/main/java/co/aikar/util/LoadingIntMap.java b/src/main/java/co/aikar/util/LoadingIntMap.java new file mode 100644 -index 000000000..63a899c7d +index 00000000..63a899c7 --- /dev/null +++ b/src/main/java/co/aikar/util/LoadingIntMap.java @@ -0,0 +1,76 @@ @@ -2649,7 +2649,7 @@ index 000000000..63a899c7d +} diff --git a/src/main/java/co/aikar/util/LoadingMap.java b/src/main/java/co/aikar/util/LoadingMap.java new file mode 100644 -index 000000000..aedbb0332 +index 00000000..aedbb033 --- /dev/null +++ b/src/main/java/co/aikar/util/LoadingMap.java @@ -0,0 +1,368 @@ @@ -3023,7 +3023,7 @@ index 000000000..aedbb0332 +} diff --git a/src/main/java/co/aikar/util/MRUMapCache.java b/src/main/java/co/aikar/util/MRUMapCache.java new file mode 100644 -index 000000000..5989ee212 +index 00000000..5989ee21 --- /dev/null +++ b/src/main/java/co/aikar/util/MRUMapCache.java @@ -0,0 +1,111 @@ @@ -3139,7 +3139,7 @@ index 000000000..5989ee212 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0822b8e53..940c643df 100644 +index 0822b8e5..940c643d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -574,7 +574,6 @@ public final class Bukkit { @@ -3151,7 +3151,7 @@ index 0822b8e53..940c643df 100644 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 11c5c2054..c197e3811 100644 +index 11c5c205..c197e381 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1250,6 +1250,26 @@ public interface Server extends PluginMessageRecipient { @@ -3182,7 +3182,7 @@ index 11c5c2054..c197e3811 100644 * Sends the component to the player * diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 247d194f8..72c5501e8 100644 +index 247d194f..72c5501e 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -69,4 +69,12 @@ public interface UnsafeValues { @@ -3200,7 +3200,7 @@ index 247d194f8..72c5501e8 100644 } diff --git a/src/main/java/org/bukkit/command/BufferedCommandSender.java b/src/main/java/org/bukkit/command/BufferedCommandSender.java new file mode 100644 -index 000000000..f9a00aecc +index 00000000..f9a00aec --- /dev/null +++ b/src/main/java/org/bukkit/command/BufferedCommandSender.java @@ -0,0 +1,21 @@ @@ -3226,7 +3226,7 @@ index 000000000..f9a00aecc + } +} diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java -index 4bfc21468..03bdc1622 100644 +index 4bfc2146..03bdc162 100644 --- a/src/main/java/org/bukkit/command/Command.java +++ b/src/main/java/org/bukkit/command/Command.java @@ -33,7 +33,8 @@ public abstract class Command { @@ -3256,7 +3256,7 @@ index 4bfc21468..03bdc1622 100644 return true; } diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java -index d6c8938b1..a6ad94ef9 100644 +index d6c8938b..a6ad94ef 100644 --- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java +++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java @@ -9,6 +9,7 @@ public class FormattedCommandAlias extends Command { @@ -3280,7 +3280,7 @@ index d6c8938b1..a6ad94ef9 100644 } diff --git a/src/main/java/org/bukkit/command/MessageCommandSender.java b/src/main/java/org/bukkit/command/MessageCommandSender.java new file mode 100644 -index 000000000..ca1893e9f +index 00000000..ca1893e9 --- /dev/null +++ b/src/main/java/org/bukkit/command/MessageCommandSender.java @@ -0,0 +1,114 @@ @@ -3399,7 +3399,7 @@ index 000000000..ca1893e9f + +} diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index 81e4fa573..f020cb04e 100644 +index 81e4fa57..f020cb04 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java @@ -15,7 +15,6 @@ import org.bukkit.command.defaults.BukkitCommand; @@ -3456,7 +3456,7 @@ index 81e4fa573..f020cb04e 100644 diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java deleted file mode 100644 -index 6023e4f61..000000000 +index 6023e4f6..00000000 --- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java +++ /dev/null @@ -1,253 +0,0 @@ @@ -3714,7 +3714,7 @@ index 6023e4f61..000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ae6274d70..bf0b8bf19 100644 +index ae6274d7..bf0b8bf1 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -1601,6 +1601,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -3730,10 +3730,10 @@ index ae6274d70..bf0b8bf19 100644 @NotNull diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index f648c5989..78a2d2f8d 100644 +index 2dfb8529..53e5045f 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -297,7 +297,6 @@ public final class SimplePluginManager implements PluginManager { +@@ -298,7 +298,6 @@ public final class SimplePluginManager implements PluginManager { } } @@ -3741,7 +3741,7 @@ index f648c5989..78a2d2f8d 100644 return result.toArray(new Plugin[result.size()]); } -@@ -336,7 +335,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -337,7 +336,7 @@ public final class SimplePluginManager implements PluginManager { if (result != null) { plugins.add(result); @@ -3750,7 +3750,7 @@ index f648c5989..78a2d2f8d 100644 } return result; -@@ -364,7 +363,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -365,7 +364,7 @@ public final class SimplePluginManager implements PluginManager { @Override @Nullable public synchronized Plugin getPlugin(@NotNull String name) { @@ -3759,7 +3759,7 @@ index f648c5989..78a2d2f8d 100644 } @Override -@@ -577,7 +576,8 @@ public final class SimplePluginManager implements PluginManager { +@@ -586,7 +585,8 @@ public final class SimplePluginManager implements PluginManager { throw new IllegalPluginAccessException("Plugin attempted to register " + event + " while not enabled"); } @@ -3769,7 +3769,7 @@ index f648c5989..78a2d2f8d 100644 getEventListeners(event).register(new TimedRegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); } else { getEventListeners(event).register(new RegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); -@@ -774,7 +774,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -783,7 +783,7 @@ public final class SimplePluginManager implements PluginManager { @Override public boolean useTimings() { @@ -3778,7 +3778,7 @@ index f648c5989..78a2d2f8d 100644 } /** -@@ -783,6 +783,6 @@ public final class SimplePluginManager implements PluginManager { +@@ -792,6 +792,6 @@ public final class SimplePluginManager implements PluginManager { * @param use True if per event timing code should be used */ public void useTimings(boolean use) { @@ -3787,7 +3787,7 @@ index f648c5989..78a2d2f8d 100644 } } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 1173e433a..82e379d16 100644 +index 1173e433..82e379d1 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -53,7 +53,6 @@ public final class JavaPluginLoader implements PluginLoader { @@ -3830,7 +3830,7 @@ index 1173e433a..82e379d16 100644 eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled())); } else { diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index 0ffc1dfdb..b859796b4 100644 +index 0ffc1dfd..b859796b 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -24,7 +24,8 @@ import org.jetbrains.annotations.Nullable; @@ -3844,7 +3844,7 @@ index 0ffc1dfdb..b859796b4 100644 private final Map> classes = new ConcurrentHashMap>(); private final PluginDescriptionFile description; diff --git a/src/main/java/org/bukkit/util/CachedServerIcon.java b/src/main/java/org/bukkit/util/CachedServerIcon.java -index 5ca863b36..612958a33 100644 +index 5ca863b3..612958a3 100644 --- a/src/main/java/org/bukkit/util/CachedServerIcon.java +++ b/src/main/java/org/bukkit/util/CachedServerIcon.java @@ -2,6 +2,7 @@ package org.bukkit.util; @@ -3867,7 +3867,7 @@ index 5ca863b36..612958a33 100644 + +} diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java -index b71235f69..3cbe5c2bb 100644 +index b71235f6..3cbe5c2b 100644 --- a/src/main/java/org/spigotmc/CustomTimingsHandler.java +++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java @@ -1,3 +1,26 @@ diff --git a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch b/Spigot-API-Patches/0017-Add-exception-reporting-event.patch index e87a2430c2..624486a9e4 100644 --- a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch +++ b/Spigot-API-Patches/0017-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 401bfc4793c0cc35396033e5fff9e5169f09ab8b Mon Sep 17 00:00:00 2001 +From 40c4b5f00a9beeed4c2533dccb9e786bce2862f7 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 20:24:35 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/event/server/ServerExceptionEvent.java b/src/main/java/com/destroystokyo/paper/event/server/ServerExceptionEvent.java new file mode 100644 -index 000000000..d3b00f741 +index 00000000..d3b00f74 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/server/ServerExceptionEvent.java @@ -0,0 +1,41 @@ @@ -53,7 +53,7 @@ index 000000000..d3b00f741 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerCommandException.java b/src/main/java/com/destroystokyo/paper/exception/ServerCommandException.java new file mode 100644 -index 000000000..6fb39af04 +index 00000000..6fb39af0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerCommandException.java @@ -0,0 +1,64 @@ @@ -123,7 +123,7 @@ index 000000000..6fb39af04 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerEventException.java b/src/main/java/com/destroystokyo/paper/exception/ServerEventException.java new file mode 100644 -index 000000000..410b24139 +index 00000000..410b2413 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerEventException.java @@ -0,0 +1,52 @@ @@ -181,7 +181,7 @@ index 000000000..410b24139 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerException.java b/src/main/java/com/destroystokyo/paper/exception/ServerException.java new file mode 100644 -index 000000000..c06ea3942 +index 00000000..c06ea394 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerException.java @@ -0,0 +1,23 @@ @@ -210,7 +210,7 @@ index 000000000..c06ea3942 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerInternalException.java b/src/main/java/com/destroystokyo/paper/exception/ServerInternalException.java new file mode 100644 -index 000000000..e762ed0db +index 00000000..e762ed0d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerInternalException.java @@ -0,0 +1,35 @@ @@ -251,7 +251,7 @@ index 000000000..e762ed0db +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginEnableDisableException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginEnableDisableException.java new file mode 100644 -index 000000000..f016ba3b1 +index 00000000..f016ba3b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginEnableDisableException.java @@ -0,0 +1,20 @@ @@ -278,7 +278,7 @@ index 000000000..f016ba3b1 \ No newline at end of file diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginException.java new file mode 100644 -index 000000000..6defac287 +index 00000000..6defac28 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginException.java @@ -0,0 +1,38 @@ @@ -322,7 +322,7 @@ index 000000000..6defac287 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java new file mode 100644 -index 000000000..89e132525 +index 00000000..89e13252 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java @@ -0,0 +1,64 @@ @@ -392,7 +392,7 @@ index 000000000..89e132525 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerSchedulerException.java b/src/main/java/com/destroystokyo/paper/exception/ServerSchedulerException.java new file mode 100644 -index 000000000..2d0b2d4a9 +index 00000000..2d0b2d4a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerSchedulerException.java @@ -0,0 +1,37 @@ @@ -435,7 +435,7 @@ index 000000000..2d0b2d4a9 +} diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerTabCompleteException.java b/src/main/java/com/destroystokyo/paper/exception/ServerTabCompleteException.java new file mode 100644 -index 000000000..5582999fe +index 00000000..5582999f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/exception/ServerTabCompleteException.java @@ -0,0 +1,22 @@ @@ -462,7 +462,7 @@ index 000000000..5582999fe + } +} diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index f020cb04e..adfc7aae2 100644 +index f020cb04..adfc7aae 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java @@ -8,6 +8,10 @@ import java.util.HashMap; @@ -504,7 +504,7 @@ index f020cb04e..adfc7aae2 100644 } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 78a2d2f8d..aa0c809a6 100644 +index 53e5045f..9a09b4d2 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -19,6 +19,10 @@ import java.util.WeakHashMap; @@ -517,8 +517,8 @@ index 78a2d2f8d..aa0c809a6 100644 +import com.destroystokyo.paper.exception.ServerPluginEnableDisableException; import org.apache.commons.lang.Validate; import org.bukkit.Server; - import org.bukkit.command.Command; -@@ -414,7 +418,8 @@ public final class SimplePluginManager implements PluginManager { + import org.bukkit.World; +@@ -415,7 +419,8 @@ public final class SimplePluginManager implements PluginManager { try { plugin.getPluginLoader().enablePlugin(plugin); } catch (Throwable ex) { @@ -528,7 +528,7 @@ index 78a2d2f8d..aa0c809a6 100644 } HandlerList.bakeAll(); -@@ -435,36 +440,48 @@ public final class SimplePluginManager implements PluginManager { +@@ -436,32 +441,37 @@ public final class SimplePluginManager implements PluginManager { try { plugin.getPluginLoader().disablePlugin(plugin); } catch (Throwable ex) { @@ -569,6 +569,9 @@ index 78a2d2f8d..aa0c809a6 100644 + handlePluginException("Error occurred (in the plugin loader) while unregistering plugin channels for " + + plugin.getDescription().getFullName() + " (Is it up to date?)", ex, plugin); // Paper } + + try { +@@ -474,6 +484,13 @@ public final class SimplePluginManager implements PluginManager { } } @@ -582,7 +585,7 @@ index 78a2d2f8d..aa0c809a6 100644 @Override public void clearPlugins() { synchronized (this) { -@@ -531,7 +548,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -540,7 +557,13 @@ public final class SimplePluginManager implements PluginManager { )); } } catch (Throwable ex) { @@ -598,5 +601,5 @@ index 78a2d2f8d..aa0c809a6 100644 } } -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch b/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch index ec62c06d5a..9447838efc 100644 --- a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -1,4 +1,4 @@ -From 7cb7e67c183da92f4851a923932160fd2e5d8c2a Mon Sep 17 00:00:00 2001 +From b573cff5fd3fc21d5fd4528473ad4b574900ce4b Mon Sep 17 00:00:00 2001 From: William Date: Fri, 18 Mar 2016 03:28:07 -0400 Subject: [PATCH] Add command to reload permissions.yml and require confirm to @@ -6,7 +6,7 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b92304e9b..a3682b291 100644 +index b92304e9..a3682b29 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1516,6 +1516,13 @@ public final class Bukkit { @@ -24,7 +24,7 @@ index b92304e9b..a3682b291 100644 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d35d2deff..18faba0e2 100644 +index d35d2def..18faba0e 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1338,4 +1338,6 @@ public interface Server extends PluginMessageRecipient { @@ -35,7 +35,7 @@ index d35d2deff..18faba0e2 100644 + void reloadPermissions(); // Paper } diff --git a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java -index 50cc311be..c62da4131 100644 +index 50cc311b..c62da413 100644 --- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java +++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java @@ -13,15 +13,35 @@ public class ReloadCommand extends BukkitCommand { @@ -85,10 +85,10 @@ index 50cc311be..c62da4131 100644 } } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index aa0c809a6..4cbec1f11 100644 +index 9a09b4d2..c7388d51 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -808,4 +808,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -817,4 +817,13 @@ public final class SimplePluginManager implements PluginManager { public void useTimings(boolean use) { co.aikar.timings.Timings.setTimingsEnabled(use); // Paper } @@ -103,5 +103,5 @@ index aa0c809a6..4cbec1f11 100644 + } -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch index 3da26824be..97c8574532 100644 --- a/Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch @@ -1,4 +1,4 @@ -From a9222d3c4350c8a74f59350de1232146f4b4630b Mon Sep 17 00:00:00 2001 +From 41416263ef8de31d9129e830cfffaf406bc56060 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:23:03 -0500 Subject: [PATCH] Provide E/TE/Chunk count stat methods @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index ac7ef3c8b..d1d64fb60 100644 +index 4af195b4..58414e01 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -38,6 +38,33 @@ import org.jetbrains.annotations.Nullable; +@@ -39,6 +39,33 @@ import org.jetbrains.annotations.Nullable; */ public interface World extends PluginMessageRecipient, Metadatable { @@ -45,5 +45,5 @@ index ac7ef3c8b..d1d64fb60 100644 * Gets the {@link Block} at the given coordinates * -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch b/Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch index 9911a58ee0..a25bd36528 100644 --- a/Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch +++ b/Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch @@ -1,4 +1,4 @@ -From 9ad73aaf9aa66daca16e4f2ae7482ef3f2c8fe07 Mon Sep 17 00:00:00 2001 +From bb553c5f1fecc0bde9c2adf69e47645a07389865 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 10 Jun 2017 16:59:40 -0500 Subject: [PATCH] Fix upstream javadoc warnings and errors @@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index d1d64fb6..2fe46faf 100644 +index 58414e01..3cd4bff1 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -1657,6 +1657,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1746,6 +1746,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param count the number of particles * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} @@ -17,7 +17,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data); -@@ -1673,6 +1674,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1762,6 +1763,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param count the number of particles * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} @@ -25,7 +25,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data); -@@ -1723,6 +1725,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1812,6 +1814,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param offsetZ the maximum random offset on the Z axis * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} @@ -33,7 +33,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data); -@@ -1743,6 +1746,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1832,6 +1835,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param offsetZ the maximum random offset on the Z axis * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} @@ -41,7 +41,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data); -@@ -1799,6 +1803,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1888,6 +1892,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * particle used (normally speed) * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} @@ -49,7 +49,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data); -@@ -1821,6 +1826,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1910,6 +1915,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * particle used (normally speed) * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} @@ -57,7 +57,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data); -@@ -1844,6 +1850,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1933,6 +1939,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param force whether to send the particle to players within an extended * range and encourage their client to render it regardless of * settings @@ -65,7 +65,7 @@ index d1d64fb6..2fe46faf 100644 */ public void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force); -@@ -1869,6 +1876,7 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1958,6 +1965,7 @@ public interface World extends PluginMessageRecipient, Metadatable { * @param force whether to send the particle to players within an extended * range and encourage their client to render it regardless of * settings diff --git a/Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch b/Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch index 9da915c756..8d4cbe9590 100644 --- a/Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch +++ b/Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch @@ -1,4 +1,4 @@ -From b6d5548e3c0283d1890cd693fa897857dbd51753 Mon Sep 17 00:00:00 2001 +From 8086435d3bbd0275e9ac6bf4e5d5492e8646e3f7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 17:55:28 -0400 Subject: [PATCH] Additional world.getNearbyEntities API's @@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's Provides more methods to get nearby entities, and filter by types and predicates diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 2fe46faf0..e1e674bab 100644 +index 3cd4bff1..36ec897f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1,6 +1,9 @@ @@ -19,7 +19,7 @@ index 2fe46faf0..e1e674bab 100644 import java.util.Collection; import java.util.HashMap; import java.util.List; -@@ -497,6 +500,256 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -586,6 +589,256 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public Collection getEntitiesByClasses(@NotNull Class... classes); @@ -277,7 +277,7 @@ index 2fe46faf0..e1e674bab 100644 * Get a list of all players in this World * diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java -index 6c09ea6c6..76c4a1a6e 100644 +index 6c09ea6c..76c4a1a6 100644 --- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java +++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java @@ -42,8 +42,7 @@ public class AsyncPlayerPreLoginEvent extends Event { @@ -291,5 +291,5 @@ index 6c09ea6c6..76c4a1a6e 100644 */ public void setPlayerProfile(@NotNull PlayerProfile profile) { -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch index 2fc1321bb0..e8442a60ba 100644 --- a/Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From e549038128456cfdb7cf53fb683c7575dc6348cb Mon Sep 17 00:00:00 2001 +From 23f4f165f9e35104affa80198efc5aaddcc1fc22 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 29 Aug 2017 23:58:48 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -10,7 +10,7 @@ This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/com/destroystokyo/paper/ParticleBuilder.java b/src/main/java/com/destroystokyo/paper/ParticleBuilder.java new file mode 100644 -index 000000000..06f1602f5 +index 00000000..06f1602f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ParticleBuilder.java @@ -0,0 +1,478 @@ @@ -493,7 +493,7 @@ index 000000000..06f1602f5 + } +} diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java -index 68cb74420..69aae30a3 100644 +index 68cb7442..69aae30a 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java @@ -92,6 +92,17 @@ public enum Particle { @@ -515,10 +515,10 @@ index 68cb74420..69aae30a3 100644 * Options which can be applied to redstone dust particles - a particle * color and size. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e1e674bab..fbd61137d 100644 +index 36ec897f..57cc72a1 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -2081,7 +2081,57 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -2170,7 +2170,57 @@ public interface World extends PluginMessageRecipient, Metadatable { * the type of this depends on {@link Particle#getDataType()} * @param Type */ @@ -578,5 +578,5 @@ index e1e674bab..fbd61137d 100644 /** * Spawns the particle (the number of times specified by count) -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch b/Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch index d6f5a92c53..26705cfb77 100644 --- a/Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch +++ b/Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch @@ -1,4 +1,4 @@ -From da5e5bf8a3dba0a6586ef65001ab662466726386 Mon Sep 17 00:00:00 2001 +From 14c718e37affff0ccd3d443a988c9d38c332e1ec Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 21:33:35 -0400 Subject: [PATCH] Close Plugin Class Loaders on Disable @@ -7,7 +7,7 @@ This should close more memory leaks from /reload and disabling plugins, by closing the class loader and the jar file. diff --git a/src/main/java/org/bukkit/plugin/PluginLoader.java b/src/main/java/org/bukkit/plugin/PluginLoader.java -index a88733f1c..6ab9cd821 100644 +index a88733f1..6ab9cd82 100644 --- a/src/main/java/org/bukkit/plugin/PluginLoader.java +++ b/src/main/java/org/bukkit/plugin/PluginLoader.java @@ -77,4 +77,18 @@ public interface PluginLoader { @@ -30,7 +30,7 @@ index a88733f1c..6ab9cd821 100644 + // Paper end - close Classloader on disable } diff --git a/src/main/java/org/bukkit/plugin/PluginManager.java b/src/main/java/org/bukkit/plugin/PluginManager.java -index 41e26451f..86cc5025a 100644 +index 41e26451..86cc5025 100644 --- a/src/main/java/org/bukkit/plugin/PluginManager.java +++ b/src/main/java/org/bukkit/plugin/PluginManager.java @@ -161,6 +161,18 @@ public interface PluginManager { @@ -53,10 +53,10 @@ index 41e26451f..86cc5025a 100644 * Gets a {@link Permission} from its fully qualified name * diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 4cbec1f11..da3cd63ba 100644 +index c7388d51..132c861c 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -428,17 +428,28 @@ public final class SimplePluginManager implements PluginManager { +@@ -429,17 +429,28 @@ public final class SimplePluginManager implements PluginManager { @Override public void disablePlugins() { @@ -87,7 +87,7 @@ index 4cbec1f11..da3cd63ba 100644 } catch (Throwable ex) { handlePluginException("Error occurred (in the plugin loader) while disabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex, plugin); // Paper -@@ -485,7 +496,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -494,7 +505,7 @@ public final class SimplePluginManager implements PluginManager { @Override public void clearPlugins() { synchronized (this) { @@ -97,7 +97,7 @@ index 4cbec1f11..da3cd63ba 100644 lookupNames.clear(); HandlerList.unregisterAll(); diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 06b6724fa..bc7bf6a35 100644 +index 06b6724f..bc7bf6a3 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -332,7 +332,7 @@ public final class JavaPluginLoader implements PluginLoader { @@ -140,5 +140,5 @@ index 06b6724fa..bc7bf6a35 100644 } } -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0112-Expand-Explosions-API.patch b/Spigot-API-Patches/0112-Expand-Explosions-API.patch index 68c1b594e6..4d4e9c1332 100644 --- a/Spigot-API-Patches/0112-Expand-Explosions-API.patch +++ b/Spigot-API-Patches/0112-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From ca078fe03ed09a84d9259845420a2ba39b6fb3c2 Mon Sep 17 00:00:00 2001 +From 3fa86b529ef58e6c6640f2e5706ba66fbce7aa72 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:24:42 -0500 Subject: [PATCH] Expand Explosions API @@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index 5730d5f46..b226d7e4c 100644 +index 5730d5f4..b226d7e4 100644 --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java @@ -7,6 +7,7 @@ import java.util.HashMap; @@ -106,10 +106,10 @@ index 5730d5f46..b226d7e4c 100644 * Returns a list of entities within a bounding box centered around a Location. * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index fbd61137d..8f69dced1 100644 +index 57cc72a1..8c767a0b 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -1201,6 +1201,102 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1290,6 +1290,102 @@ public interface World extends PluginMessageRecipient, Metadatable { */ public boolean createExplosion(@NotNull Location loc, float power, boolean setFire); @@ -213,5 +213,5 @@ index fbd61137d..8f69dced1 100644 * Gets the {@link Environment} type of this world * -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0116-Add-World.getEntity-UUID-API.patch b/Spigot-API-Patches/0116-Add-World.getEntity-UUID-API.patch index 8b9c3cea57..992e530bab 100644 --- a/Spigot-API-Patches/0116-Add-World.getEntity-UUID-API.patch +++ b/Spigot-API-Patches/0116-Add-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From efe1b331eec301bd30a17c3f48dd3f0f22356f03 Mon Sep 17 00:00:00 2001 +From 0bb3c623b122920cdc6ebddc18810ed271f63d76 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:07:16 +0200 Subject: [PATCH] Add World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 8f69dced1..0b3283153 100644 +index 8c767a0b..fec5cdc3 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -776,6 +776,17 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -865,6 +865,17 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public Collection getNearbyEntities(@NotNull Location location, double x, double y, double z); @@ -27,5 +27,5 @@ index 8f69dced1..0b3283153 100644 * Returns a list of entities within a bounding box centered around a * Location. -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0129-Remove-deadlock-risk-in-firing-async-events.patch b/Spigot-API-Patches/0129-Remove-deadlock-risk-in-firing-async-events.patch index ae19a54d2c..08958d255c 100644 --- a/Spigot-API-Patches/0129-Remove-deadlock-risk-in-firing-async-events.patch +++ b/Spigot-API-Patches/0129-Remove-deadlock-risk-in-firing-async-events.patch @@ -1,4 +1,4 @@ -From 47329276123baf9d077f10ba1686f54e85ef861f Mon Sep 17 00:00:00 2001 +From e724746a98cf149f377d9a442782dc448abb8405 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 9 Sep 2018 00:32:05 -0400 Subject: [PATCH] Remove deadlock risk in firing async events @@ -16,7 +16,7 @@ which results in a hard crash. This change removes the synchronize and adds some protection around enable/disable diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index adca48f18..2d3cee140 100644 +index adca48f1..2d3cee14 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -28,7 +28,7 @@ import org.jetbrains.annotations.Nullable; @@ -29,10 +29,10 @@ index adca48f18..2d3cee140 100644 * * @return a new copy of Location containing the position of this entity diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index da3cd63ba..5eefb4b5b 100644 +index 132c861c..d0e735bc 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -398,7 +398,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -399,7 +399,7 @@ public final class SimplePluginManager implements PluginManager { * @return true if the plugin is enabled, otherwise false */ @Override @@ -41,7 +41,7 @@ index da3cd63ba..5eefb4b5b 100644 if ((plugin != null) && (plugins.contains(plugin))) { return plugin.isEnabled(); } else { -@@ -407,7 +407,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -408,7 +408,7 @@ public final class SimplePluginManager implements PluginManager { } @Override @@ -50,7 +50,7 @@ index da3cd63ba..5eefb4b5b 100644 if (!plugin.isEnabled()) { List pluginCommands = PluginCommandYamlParser.parse(plugin); -@@ -445,7 +445,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -446,7 +446,7 @@ public final class SimplePluginManager implements PluginManager { } @Override @@ -59,7 +59,7 @@ index da3cd63ba..5eefb4b5b 100644 // Paper end - close Classloader on disable if (plugin.isEnabled()) { try { -@@ -506,6 +506,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -515,6 +515,7 @@ public final class SimplePluginManager implements PluginManager { defaultPerms.get(false).clear(); } } @@ -67,7 +67,7 @@ index da3cd63ba..5eefb4b5b 100644 /** * Calls an event with the given details. -@@ -516,25 +517,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -525,25 +526,13 @@ public final class SimplePluginManager implements PluginManager { */ @Override public void callEvent(@NotNull Event event) { @@ -99,7 +99,7 @@ index da3cd63ba..5eefb4b5b 100644 RegisteredListener[] listeners = handlers.getRegisteredListeners(); diff --git a/src/test/java/org/bukkit/plugin/PluginManagerTest.java b/src/test/java/org/bukkit/plugin/PluginManagerTest.java -index 17dbe9139..bae26ce73 100644 +index 17dbe913..bae26ce7 100644 --- a/src/test/java/org/bukkit/plugin/PluginManagerTest.java +++ b/src/test/java/org/bukkit/plugin/PluginManagerTest.java @@ -17,7 +17,7 @@ public class PluginManagerTest { @@ -138,5 +138,5 @@ index 17dbe9139..bae26ce73 100644 @Test public void testRemovePermissionByNameLower() { -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch b/Spigot-API-Patches/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch index c2edc76b33..001d050454 100644 --- a/Spigot-API-Patches/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch +++ b/Spigot-API-Patches/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch @@ -1,4 +1,4 @@ -From 1e67701a6678aa3fb65e60d79fc74ac0c52f91db Mon Sep 17 00:00:00 2001 +From 8be7e3993740a66b5065a9c12d4557a874e9f8cc Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 4 Aug 2018 19:37:35 -0400 Subject: [PATCH] Provide Chunk Coordinates as a Long API @@ -7,10 +7,10 @@ Allows you to easily access the chunks X/z as a long, and a method to look up by the long key too. diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java -index aab292e1a..fe77e33ae 100644 +index 58cf0dde..b00c5613 100644 --- a/src/main/java/org/bukkit/Chunk.java +++ b/src/main/java/org/bukkit/Chunk.java -@@ -24,6 +24,32 @@ public interface Chunk { +@@ -26,6 +26,32 @@ public interface Chunk { */ int getZ(); @@ -44,10 +44,10 @@ index aab292e1a..fe77e33ae 100644 * Gets the world containing this chunk * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0b3283153..32be52109 100644 +index fec5cdc3..189df011 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -157,6 +157,22 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -158,6 +158,22 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public Chunk getChunkAt(@NotNull Block block); @@ -71,5 +71,5 @@ index 0b3283153..32be52109 100644 * Checks if the specified {@link Chunk} is loaded * -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0133-Async-Chunks-API.patch b/Spigot-API-Patches/0133-Async-Chunks-API.patch index 7f26344bed..c1a33e7873 100644 --- a/Spigot-API-Patches/0133-Async-Chunks-API.patch +++ b/Spigot-API-Patches/0133-Async-Chunks-API.patch @@ -1,4 +1,4 @@ -From e866bb6eb7f296f05896484fce73762e59f2d3d9 Mon Sep 17 00:00:00 2001 +From b8c066af3a770415b3ca9f8a8a16f19a6b1a6f8c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 17:43:33 -0600 Subject: [PATCH] Async Chunks API @@ -8,10 +8,10 @@ Adds API's to load or generate chunks asynchronously. Also adds utility methods to Entity to teleport asynchronously. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 32be52109..0981675de 100644 +index 189df011..d4fcbf60 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -171,6 +171,358 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -172,6 +172,358 @@ public interface World extends PluginMessageRecipient, Metadatable { public default Chunk getChunkAt(long chunkKey) { return getChunkAt((int) chunkKey, (int) (chunkKey >> 32)); } @@ -371,7 +371,7 @@ index 32be52109..0981675de 100644 /** diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 2d3cee140..f41243f92 100644 +index 2d3cee14..f41243f9 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -157,6 +157,30 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -406,5 +406,5 @@ index 2d3cee140..f41243f92 100644 * Returns a list of entities within a bounding box centered around this * entity -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0135-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/Spigot-API-Patches/0135-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch index becd5811e5..7090646c0a 100644 --- a/Spigot-API-Patches/0135-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch +++ b/Spigot-API-Patches/0135-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch @@ -1,14 +1,14 @@ -From 70a70adf0677f59455399810bd75c9244acbda2b Mon Sep 17 00:00:00 2001 +From c450f7747478f3c2ca042ba4afc6aa65f76b156a Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 15 Aug 2018 01:04:58 -0400 Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java -index fe77e33ae..6d45a4213 100644 +index b00c5613..0abd4377 100644 --- a/src/main/java/org/bukkit/Chunk.java +++ b/src/main/java/org/bukkit/Chunk.java -@@ -99,13 +99,26 @@ public interface Chunk { +@@ -101,13 +101,26 @@ public interface Chunk { @NotNull Entity[] getEntities(); @@ -37,5 +37,5 @@ index fe77e33ae..6d45a4213 100644 /** * Checks if the chunk is loaded. -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0137-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/Spigot-API-Patches/0137-Allow-Blocks-to-be-accessed-via-a-long-key.patch index bd2bcb1d39..0952961514 100644 --- a/Spigot-API-Patches/0137-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/Spigot-API-Patches/0137-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -1,4 +1,4 @@ -From f3e2fafbc28097c5d98f6b06eac3312f7b3359df Mon Sep 17 00:00:00 2001 +From 039fde9628b4eb210babf96765eb25678fda8959 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Tue, 14 Aug 2018 21:42:10 -0700 Subject: [PATCH] Allow Blocks to be accessed via a long key @@ -18,7 +18,7 @@ Y range: [0, 1023] X, Z range: [-67 108 864, 67 108 863] diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index 884862ab7..6dc399899 100644 +index 884862ab..6dc39989 100644 --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java @@ -15,7 +15,6 @@ import org.jetbrains.annotations.Nullable; @@ -48,10 +48,10 @@ index 884862ab7..6dc399899 100644 * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0981675de..c840d4744 100644 +index d4fcbf60..ce128016 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -88,6 +88,38 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -89,6 +89,38 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public Block getBlockAt(@NotNull Location location); @@ -91,7 +91,7 @@ index 0981675de..c840d4744 100644 * Gets the y coordinate of the lowest block at this position such that the * block and all blocks above it are transparent for lighting purposes. diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index af4ffada0..87185a812 100644 +index af4ffada..87185a81 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -152,6 +152,72 @@ public interface Block extends Metadatable { @@ -168,5 +168,5 @@ index af4ffada0..87185a812 100644 * Gets the Location of the block * -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0139-isChunkGenerated-API.patch b/Spigot-API-Patches/0139-isChunkGenerated-API.patch index d4e4c1a439..b0a2f6c48c 100644 --- a/Spigot-API-Patches/0139-isChunkGenerated-API.patch +++ b/Spigot-API-Patches/0139-isChunkGenerated-API.patch @@ -1,11 +1,11 @@ -From f5af00ccb749947bd86f23094347818c36e6baa6 Mon Sep 17 00:00:00 2001 +From bebdec693bd0350c7d1be2671eb057542d66db03 Mon Sep 17 00:00:00 2001 From: cswhite2000 <18whitechristop@gmail.com> Date: Tue, 21 Aug 2018 19:39:46 -0700 Subject: [PATCH] isChunkGenerated API diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index 6dc399899..4e69f277b 100644 +index 6dc39989..4e69f277 100644 --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java @@ -3,6 +3,7 @@ package org.bukkit; @@ -34,10 +34,10 @@ index 6dc399899..4e69f277b 100644 /** * Sets the position of this Location and returns itself diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c840d4744..93dd8742a 100644 +index ce128016..30b3d9a8 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -204,6 +204,17 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -205,6 +205,17 @@ public interface World extends PluginMessageRecipient, Metadatable { return getChunkAt((int) chunkKey, (int) (chunkKey >> 32)); } @@ -56,5 +56,5 @@ index c840d4744..93dd8742a 100644 * This is the Legacy API before Java 8 was supported. Java 8 Consumer is provided, * as well as future support -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0158-Add-sun-related-API.patch b/Spigot-API-Patches/0158-Add-sun-related-API.patch index 89288e49d7..ea35a48e68 100644 --- a/Spigot-API-Patches/0158-Add-sun-related-API.patch +++ b/Spigot-API-Patches/0158-Add-sun-related-API.patch @@ -1,14 +1,14 @@ -From 746192f54fde62f5440a02e2331ba996199dcdab Mon Sep 17 00:00:00 2001 +From 2da2459f920db384979afaf261bf21c33bf24bb7 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:15 -0500 Subject: [PATCH] Add sun related API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 93dd8742a..1818e158f 100644 +index 30b3d9a8..b02cda3e 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -1508,6 +1508,16 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -1597,6 +1597,16 @@ public interface World extends PluginMessageRecipient, Metadatable { */ public void setFullTime(long time); @@ -26,7 +26,7 @@ index 93dd8742a..1818e158f 100644 * Returns whether the world has an ongoing storm. * diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java -index afdc103fe..784db447d 100644 +index afdc103f..784db447 100644 --- a/src/main/java/org/bukkit/entity/Mob.java +++ b/src/main/java/org/bukkit/entity/Mob.java @@ -16,6 +16,13 @@ public interface Mob extends LivingEntity, Lootable { @@ -44,5 +44,5 @@ index afdc103fe..784db447d 100644 /** -- -2.21.0 +2.22.0 diff --git a/Spigot-API-Patches/0181-Add-Heightmap-API.patch b/Spigot-API-Patches/0181-Add-Heightmap-API.patch index fcbc60271a..0904ac66f2 100644 --- a/Spigot-API-Patches/0181-Add-Heightmap-API.patch +++ b/Spigot-API-Patches/0181-Add-Heightmap-API.patch @@ -1,4 +1,4 @@ -From 72dc38ce5099686082ed1b2f03f692b261783650 Mon Sep 17 00:00:00 2001 +From 8f07bbb425c028ff4d52daf6f08197239c8436e1 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 1 Dec 2018 19:00:36 -0800 Subject: [PATCH] Add Heightmap API @@ -6,7 +6,7 @@ Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/com/destroystokyo/paper/HeightmapType.java b/src/main/java/com/destroystokyo/paper/HeightmapType.java new file mode 100644 -index 000000000..4cd9b5ed0 +index 00000000..4cd9b5ed --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/HeightmapType.java @@ -0,0 +1,35 @@ @@ -46,7 +46,7 @@ index 000000000..4cd9b5ed0 + SOLID_OR_LIQUID_NO_LEAVES; +} diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java -index 2a40da99f..3e1ca4c9f 100644 +index 2a40da99..3e1ca4c9 100644 --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java @@ -638,6 +638,33 @@ public class Location implements Cloneable, ConfigurationSerializable { @@ -84,10 +84,10 @@ index 2a40da99f..3e1ca4c9f 100644 * Creates explosion at this location with given power * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 1818e158f..65dc80229 100644 +index b02cda3e..1e7b633c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -161,6 +161,79 @@ public interface World extends PluginMessageRecipient, Metadatable { +@@ -162,6 +162,79 @@ public interface World extends PluginMessageRecipient, Metadatable { @NotNull public Block getHighestBlockAt(@NotNull Location location); @@ -168,5 +168,5 @@ index 1818e158f..65dc80229 100644 * Gets the {@link Chunk} at the given coordinates * -- -2.21.0 +2.22.0 diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index a1b555bc32..48f464516b 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,11 +1,11 @@ -From 2d1aec7e30853380405652873ea3b306ef965af3 Mon Sep 17 00:00:00 2001 +From 659ea460bfdd40bc6b027dc326f40bcf22efb79a Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 26fa6e7b64..9a839d6540 100644 +index 26fa6e7b6..9a839d654 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -42,7 +42,7 @@ public abstract class BiomeBase { @@ -27,7 +27,7 @@ index 26fa6e7b64..9a839d6540 100644 public List> e() { diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java -index adc9981868..b370316574 100644 +index adc998186..b37031657 100644 --- a/src/main/java/net/minecraft/server/BlockDataAbstract.java +++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java @@ -29,7 +29,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder { @@ -72,7 +72,7 @@ index adc9981868..b370316574 100644 S s0 = this.f.get(iblockstate, v0); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 6a8e8f7a67..daf406637c 100644 +index 6a8e8f7a6..daf406637 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -57,12 +57,12 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali @@ -92,7 +92,7 @@ index 6a8e8f7a67..daf406637c 100644 }); } diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java -index b4c8722f04..59d86fc66e 100644 +index b4c8722f0..59d86fc66 100644 --- a/src/main/java/net/minecraft/server/BlockStateEnum.java +++ b/src/main/java/net/minecraft/server/BlockStateEnum.java @@ -20,10 +20,10 @@ public class BlockStateEnum & INamable> extends BlockState @@ -108,48 +108,8 @@ index b4c8722f04..59d86fc66e 100644 String s1 = ((INamable) t0).getName(); if (this.b.containsKey(s1)) { -diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index 958354a31d..ed4e8d69ca 100644 ---- a/src/main/java/net/minecraft/server/ChunkMapDistance.java -+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java -@@ -61,7 +61,7 @@ public abstract class ChunkMapDistance { - while (objectiterator.hasNext()) { - Entry>> entry = (Entry) objectiterator.next(); - -- if (((ObjectSortedSet) entry.getValue()).removeIf((ticket) -> { -+ if ((entry.getValue()).removeIf((ticket) -> { // Paper - decompile fix - return ticket.a(this.currentTick); - })) { - this.e.b(entry.getLongKey(), this.a((ObjectSortedSet) entry.getValue()), false); -@@ -124,7 +124,7 @@ public abstract class ChunkMapDistance { - - completablefuture.thenAccept((either) -> { - this.m.execute(() -> { -- this.k.a((Object) ChunkTaskQueueSorter.a(() -> { -+ this.k.a(ChunkTaskQueueSorter.a(() -> { // Paper - decompile fix - }, j, false)); - }); - }); -@@ -333,7 +333,7 @@ public abstract class ChunkMapDistance { - Ticket ticket = new Ticket<>(TicketType.PLAYER, ChunkMapDistance.b, new ChunkCoordIntPair(i), ChunkMapDistance.this.currentTick); - - if (flag1) { -- ChunkMapDistance.this.j.a((Object) ChunkTaskQueueSorter.a(() -> { -+ ChunkMapDistance.this.j.a(ChunkTaskQueueSorter.a(() -> { // Paper - decompile fix - ChunkMapDistance.this.m.execute(() -> { - ChunkMapDistance.this.a(i, ticket); - ChunkMapDistance.this.l.add(i); -@@ -342,7 +342,7 @@ public abstract class ChunkMapDistance { - return j; - })); - } else { -- ChunkMapDistance.this.k.a((Object) ChunkTaskQueueSorter.a(() -> { -+ ChunkMapDistance.this.k.a(ChunkTaskQueueSorter.a(() -> { // Paper - decompile fix - ChunkMapDistance.this.m.execute(() -> { - ChunkMapDistance.this.b(i, ticket); - }); diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index d4b7074ca1..f4605e3937 100644 +index d4b7074ca..f4605e393 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -148,6 +148,6 @@ public class ChunkSection { @@ -161,7 +121,7 @@ index d4b7074ca1..f4605e3937 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index 26db8f135f..dd1822d6ff 100644 +index 26db8f135..dd1822d6f 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -84,7 +84,7 @@ public class ChunkStatus { @@ -174,7 +134,7 @@ index 26db8f135f..dd1822d6ff 100644 for (int j = a().size() - 1; j >= 0; --j) { diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java -index d0b4bf8b7e..6fb734c64f 100644 +index d0b4bf8b7..6fb734c64 100644 --- a/src/main/java/net/minecraft/server/CraftingManager.java +++ b/src/main/java/net/minecraft/server/CraftingManager.java @@ -58,7 +58,7 @@ public class CraftingManager extends ResourceDataJson { @@ -187,7 +147,7 @@ index d0b4bf8b7e..6fb734c64f 100644 CraftingManager.LOGGER.info("Loaded {} recipes", map1.size()); } diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index 85af024c9c..daa7bf330f 100644 +index 85af024c9..daa7bf330 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -25,7 +25,7 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -200,7 +160,7 @@ index 85af024c9c..daa7bf330f 100644 this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true)); diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 053d408d36..4510018d6f 100644 +index 053d408d3..4510018d6 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java @@ -51,7 +51,7 @@ public abstract class IAsyncTaskHandler implements Mailbox 1.0D && d13 > 1.0D && d14 > 1.0D) { diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 21321805ee..452602d43e 100644 +index 21321805e..452602d43 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -269,12 +269,12 @@ public class IBlockData extends BlockDataAbstract implements @@ -274,7 +234,7 @@ index 21321805ee..452602d43e 100644 for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java -index b4b73e5f04..3a86c519c0 100644 +index b4b73e5f0..3a86c519c 100644 --- a/src/main/java/net/minecraft/server/IEntityAccess.java +++ b/src/main/java/net/minecraft/server/IEntityAccess.java @@ -39,7 +39,7 @@ public interface IEntityAccess { @@ -329,7 +289,7 @@ index b4b73e5f04..3a86c519c0 100644 if (pathfindertargetcondition.a(entityliving, t0)) { list1.add(t0); diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java -index 9290534917..1016325bd7 100644 +index 929053491..1016325bd 100644 --- a/src/main/java/net/minecraft/server/LootSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LootSelectorEntry.java @@ -127,7 +127,7 @@ public abstract class LootSelectorEntry extends LootEntryAbstract { @@ -357,7 +317,7 @@ index 9290534917..1016325bd7 100644 } diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java -index eab34088a6..7a987c6be3 100644 +index eab34088a..7a987c6be 100644 --- a/src/main/java/net/minecraft/server/NBTBase.java +++ b/src/main/java/net/minecraft/server/NBTBase.java @@ -88,7 +88,7 @@ public interface NBTBase { @@ -370,7 +330,7 @@ index eab34088a6..7a987c6be3 100644 default String asString() { return this.toString(); diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 0dda7aaf69..4e20cfba41 100644 +index 0dda7aaf6..4e20cfba4 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -134,7 +134,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -383,7 +343,7 @@ index 0dda7aaf69..4e20cfba41 100644 } diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index 7f89562e90..4efcb8b595 100644 +index 7f89562e9..4efcb8b59 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -27,7 +27,7 @@ public class RegistryBlockID implements Registry { @@ -396,7 +356,7 @@ index 7f89562e90..4efcb8b595 100644 this.c.set(i, t0); diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java -index 4cb78c6a3f..e15d286710 100644 +index 4cb78c6a3..e15d28671 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java @@ -17,9 +17,9 @@ public class RegistryID implements Registry { @@ -424,7 +384,7 @@ index 4cb78c6a3f..e15d286710 100644 this.f = 0; diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java -index 62c39f9baa..376219a1cd 100644 +index 62c39f9ba..376219a1c 100644 --- a/src/main/java/net/minecraft/server/SystemUtils.java +++ b/src/main/java/net/minecraft/server/SystemUtils.java @@ -45,8 +45,8 @@ public class SystemUtils { @@ -467,21 +427,8 @@ index 62c39f9baa..376219a1cd 100644 acompletablefuture[i] = completablefuture1.whenComplete((object, throwable) -> { if (throwable != null) { completablefuture.completeExceptionally(throwable); -diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java -index fc8cd29739..74d6e3d2f5 100644 ---- a/src/main/java/net/minecraft/server/Ticket.java -+++ b/src/main/java/net/minecraft/server/Ticket.java -@@ -24,7 +24,7 @@ public final class Ticket implements Comparable> { - } else { - int j = Integer.compare(System.identityHashCode(this.a), System.identityHashCode(ticket.a)); - -- return j != 0 ? j : this.a.a().compare(this.c, ticket.c); -+ return j != 0 ? j : this.a.a().compare(this.c, (T)ticket.c); // Paper - decompile fix - } - } - diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java -index 73f9da1fdb..2a4e4f7859 100644 +index 73f9da1fd..2a4e4f785 100644 --- a/src/main/java/net/minecraft/server/VillagerTrades.java +++ b/src/main/java/net/minecraft/server/VillagerTrades.java @@ -15,12 +15,12 @@ import javax.annotation.Nullable; @@ -501,7 +448,7 @@ index 73f9da1fdb..2a4e4f7859 100644 hashmap.put(VillagerProfession.CLERIC, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.ROTTEN_FLESH, 32, 8, 2), new VillagerTrades.h(Items.REDSTONE, 1, 2, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.GOLD_INGOT, 3, 6, 10), new VillagerTrades.h(Items.LAPIS_LAZULI, 1, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.RABBIT_FOOT, 2, 6, 20), new VillagerTrades.h(Blocks.GLOWSTONE, 4, 1, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SCUTE, 4, 6, 30), new VillagerTrades.b(Items.GLASS_BOTTLE, 9, 6, 30), new VillagerTrades.h(Items.ENDER_PEARL, 5, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.NETHER_WART, 22, 6, 30), new VillagerTrades.h(Items.EXPERIENCE_BOTTLE, 3, 1, 30)}))); hashmap.put(VillagerProfession.ARMORER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COAL, 15, 8, 2), new VillagerTrades.h(new ItemStack(Items.IRON_LEGGINGS), 7, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_BOOTS), 4, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_HELMET), 5, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_CHESTPLATE), 9, 1, 6, 1, 0.2F)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.IRON_INGOT, 4, 6, 10), new VillagerTrades.h(new ItemStack(Items.pP), 36, 1, 6, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_BOOTS), 1, 1, 6, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_LEGGINGS), 3, 1, 6, 5, 0.2F)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.LAVA_BUCKET, 1, 6, 20), new VillagerTrades.b(Items.DIAMOND, 1, 6, 20), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_HELMET), 1, 1, 6, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_CHESTPLATE), 4, 1, 6, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.SHIELD), 5, 1, 6, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_LEGGINGS, 14, 2, 15, 0.2F), new VillagerTrades.e(Items.DIAMOND_BOOTS, 8, 2, 15, 0.2F)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_HELMET, 8, 2, 30, 0.2F), new VillagerTrades.e(Items.DIAMOND_CHESTPLATE, 16, 2, 30, 0.2F)}))); diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java -index 0b950aae63..f5f540032f 100644 +index 0b950aae6..f5f540032 100644 --- a/src/main/java/net/minecraft/server/WorldPersistentData.java +++ b/src/main/java/net/minecraft/server/WorldPersistentData.java @@ -37,7 +37,7 @@ public class WorldPersistentData { diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index cd59364460..6aab543ea1 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -1,4 +1,4 @@ -From 76b870fb59a434f36aa9455de40fe6a044e1f683 Mon Sep 17 00:00:00 2001 +From 6a568d4df68e4198bec44d06a2a0b614adf66560 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:32:43 -0600 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang @@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java -index 3f35a28ba1..cf00f35a5b 100644 +index 3f35a28ba..cf00f35a5 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -70,7 +70,7 @@ public class EULA { @@ -19,7 +19,7 @@ index 3f35a28ba1..cf00f35a5b 100644 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d0419119b3..1346fc35c5 100644 +index d0419119b..1346fc35c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1285,7 +1285,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 7bcc723998..5bc078d314 100644 +index 7bcc72399..5bc078d31 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader; @@ -78,7 +78,7 @@ index 7bcc723998..5bc078d314 100644 public boolean hasEnchantments() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 4eb7438f25..f2f4c8d3c3 100644 +index c04ec4a7c..c45fe35e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -178,28 +178,11 @@ public final class CraftItemStack extends ItemStack { @@ -193,10 +193,18 @@ index 4eb7438f25..f2f4c8d3c3 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 7c8b515bc2..bf7b226a4f 100644 +index 4f1834014..b0682e529 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -24,6 +24,7 @@ import java.util.ArrayList; +@@ -6,6 +6,7 @@ import com.google.common.collect.HashMultimap; + import com.google.common.collect.ImmutableList; + import com.google.common.collect.ImmutableMap; + import com.google.common.collect.ImmutableMultimap; ++import com.google.common.collect.ImmutableSortedMap; // Paper + import com.google.common.collect.Lists; + import com.google.common.collect.Multimap; + import com.google.common.collect.SetMultimap; +@@ -24,6 +25,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.EnumSet; @@ -204,7 +212,7 @@ index 7c8b515bc2..bf7b226a4f 100644 import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; -@@ -32,6 +33,7 @@ import java.util.Locale; +@@ -32,6 +34,7 @@ import java.util.Locale; import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; @@ -212,24 +220,16 @@ index 7c8b515bc2..bf7b226a4f 100644 import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -41,6 +43,7 @@ import net.minecraft.server.EnumChatFormat; - import net.minecraft.server.EnumItemSlot; - import net.minecraft.server.GenericAttributes; - import net.minecraft.server.IChatBaseComponent; -+import com.google.common.collect.ImmutableSortedMap; // Paper - import net.minecraft.server.NBTBase; - import net.minecraft.server.NBTCompressedStreamTools; - import net.minecraft.server.NBTTagCompound; -@@ -268,7 +271,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -269,7 +272,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List lore; private Integer customModelData; - private String blockData; + private NBTTagCompound blockData; - private Map enchantments; + private EnchantmentMap enchantments; // Paper private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -279,7 +282,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -280,7 +283,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private NBTTagCompound internalTag; @@ -238,7 +238,7 @@ index 7c8b515bc2..bf7b226a4f 100644 private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -300,7 +303,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -301,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -247,7 +247,7 @@ index 7c8b515bc2..bf7b226a4f 100644 } if (meta.hasAttributeModifiers()) { -@@ -396,13 +399,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -397,13 +400,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -263,7 +263,7 @@ index 7c8b515bc2..bf7b226a4f 100644 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -554,13 +557,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -555,13 +558,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -279,7 +279,7 @@ index 7c8b515bc2..bf7b226a4f 100644 for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -811,14 +814,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -812,14 +815,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -296,7 +296,7 @@ index 7c8b515bc2..bf7b226a4f 100644 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1196,7 +1199,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1197,7 +1200,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -305,7 +305,7 @@ index 7c8b515bc2..bf7b226a4f 100644 } if (this.hasAttributeModifiers()) { clone.attributeModifiers = HashMultimap.create(this.attributeModifiers); -@@ -1424,6 +1427,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1425,6 +1428,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } diff --git a/Spigot-Server-Patches/0142-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/0142-Provide-E-TE-Chunk-count-stat-methods.patch index 28453ae716..d08d28e91f 100644 --- a/Spigot-Server-Patches/0142-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-Server-Patches/0142-Provide-E-TE-Chunk-count-stat-methods.patch @@ -1,4 +1,4 @@ -From 8630f7f8db241e12a753cafae1d81092a54c3fc1 Mon Sep 17 00:00:00 2001 +From c324ae58d965aec89dd4d918918ec037cc0b6c93 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:24:46 -0500 Subject: [PATCH] Provide E/TE/Chunk count stat methods @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7c2eba8aa4..b8e16e1870 100644 +index 9b8fb80a4..b07e3fe26 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -264,6 +264,35 @@ public class CraftWorld implements World { +@@ -271,6 +271,35 @@ public class CraftWorld implements World { private int waterAnimalSpawn = -1; private int ambientSpawn = -1; diff --git a/Spigot-Server-Patches/0146-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0146-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index aa50ed26f4..78215fe6da 100644 --- a/Spigot-Server-Patches/0146-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0146-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From e81b55e667659802d85f0197c4187c6f918c8e52 Mon Sep 17 00:00:00 2001 +From 59b6fccbd75443a0847e020792494948d01d6023 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 4b9e51b30f..c72ae7e251 100644 +index 4b9e51b30..c72ae7e25 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -511,13 +511,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index 4b9e51b30f..c72ae7e251 100644 } diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java -index 2d2cd09ad1..ed88e208d0 100644 +index 2d2cd09ad..ed88e208d 100644 --- a/src/main/java/net/minecraft/server/ContainerGrindstone.java +++ b/src/main/java/net/minecraft/server/ContainerGrindstone.java @@ -81,7 +81,7 @@ public class ContainerGrindstone extends Container { @@ -41,7 +41,7 @@ index 2d2cd09ad1..ed88e208d0 100644 world.triggerEffect(1042, blockposition, 0); diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 0421052d21..f015c023e2 100644 +index 0421052d2..f015c023e 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -607,7 +607,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -54,7 +54,7 @@ index 0421052d21..f015c023e2 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index a4cd502bca..214ecdb884 100644 +index a4cd502bc..214ecdb88 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 { @@ -134,7 +134,7 @@ index a4cd502bca..214ecdb884 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 05fa5cd6af..d9767de12e 100644 +index 05fa5cd6a..d9767de12 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -404,7 +404,7 @@ public class EntityFishingHook extends Entity { @@ -147,7 +147,7 @@ index 05fa5cd6af..d9767de12e 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 45c024ca24..cb2f3eb458 100644 +index 45c024ca2..cb2f3eb45 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -385,7 +385,8 @@ public abstract class EntityLiving extends Entity { @@ -161,7 +161,7 @@ index 45c024ca24..cb2f3eb458 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index 4ac5cce062..05970c5644 100644 +index 4ac5cce06..05970c564 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -43,7 +43,7 @@ public class EntityThrownExpBottle extends EntityProjectileThrowable { @@ -174,7 +174,7 @@ index 4ac5cce062..05970c5644 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index dc1ba69f68..013b3a1ca8 100644 +index dc1ba69f6..013b3a1ca 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -508,7 +508,7 @@ public class EntityTurtle extends EntityAnimal { @@ -187,7 +187,7 @@ index dc1ba69f68..013b3a1ca8 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 5e56447e7d..9311cc5bd6 100644 +index 5e56447e7..9311cc5bd 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -429,7 +429,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -200,7 +200,7 @@ index 5e56447e7d..9311cc5bd6 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index b9aa512952..c179e11e4c 100644 +index b9aa51295..c179e11e4 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -147,7 +147,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -213,7 +213,7 @@ index b9aa512952..c179e11e4c 100644 } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 363a98bece..0cc34400be 100644 +index 363a98bec..0cc34400b 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -117,7 +117,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -226,7 +226,7 @@ index 363a98bece..0cc34400be 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 4ccc77e4f6..e306b138db 100644 +index 4ccc77e4f..e306b138d 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -367,7 +367,7 @@ public class PlayerInteractManager { @@ -239,7 +239,7 @@ index 4ccc77e4f6..e306b138db 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index d2698e847c..edc4a5c34e 100644 +index d2698e847..edc4a5c34 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -2,7 +2,7 @@ package net.minecraft.server; @@ -252,7 +252,7 @@ index d2698e847c..edc4a5c34e 100644 public SlotFurnaceResult(EntityHuman entityhuman, IInventory iinventory, int i, int j, int k) { diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 0cb2e6d874..2bbd3663a7 100644 +index 0cb2e6d87..2bbd3663a 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -554,7 +554,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I @@ -265,10 +265,10 @@ index 0cb2e6d874..2bbd3663a7 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b8e16e1870..47a54102a1 100644 +index b07e3fe26..853a0374e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1609,7 +1609,7 @@ public class CraftWorld implements World { +@@ -1695,7 +1695,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new EntityTNTPrimed(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { @@ -278,7 +278,7 @@ index b8e16e1870..47a54102a1 100644 entity = new EntityLightning(world, x, y, z, false); } else if (Firework.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 1b512cc45c..fbad045675 100644 +index 1b512cc45..fbad04567 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -20,6 +20,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { diff --git a/Spigot-Server-Patches/0170-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0170-Fix-this-stupid-bullshit.patch index a5513c27bf..d8041f0bc7 100644 --- a/Spigot-Server-Patches/0170-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0170-Fix-this-stupid-bullshit.patch @@ -1,4 +1,4 @@ -From 8b179538436564e62406d8d4ca1b68b77192d430 Mon Sep 17 00:00:00 2001 +From 12223c520ad7731a8e3433a52d370f56feeb1f58 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sun, 6 Aug 2017 17:17:53 -0500 Subject: [PATCH] Fix this stupid bullshit @@ -9,12 +9,12 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 4aebe53f8a..405ea5c465 100644 +index d2bdd7c73..1fa81904d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -217,10 +217,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -3); + deadline.add(Calendar.DAY_OF_YEAR, -7); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit diff --git a/Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch index 60e36c56cb..f229853396 100644 --- a/Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 9ee6527ad6217948275aa16c1508073e8f3e53ef Mon Sep 17 00:00:00 2001 +From cc0c4439a566c30f847a5941d1f381163fe7071e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -267,10 +267,10 @@ index f70052284..3723facca 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index bf7b226a4..a8b267487 100644 +index b0682e529..704a7d91e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -161,6 +161,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -162,6 +162,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { .put(CraftMetaKnowledgeBook.class, "KNOWLEDGE_BOOK") .put(CraftMetaTropicalFishBucket.class, "TROPICAL_FISH_BUCKET") .put(CraftMetaCrossbow.class, "CROSSBOW") @@ -278,7 +278,7 @@ index bf7b226a4..a8b267487 100644 .put(CraftMetaItem.class, "UNSPECIFIC") .build(); -@@ -1420,7 +1421,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1421,7 +1422,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaKnowledgeBook.BOOK_RECIPES.NBT, CraftMetaTropicalFishBucket.VARIANT.NBT, CraftMetaCrossbow.CHARGED.NBT, diff --git a/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch index 631bd7f0f2..701da10d35 100644 --- a/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 60c17edb75c3d029b1237a8ce8bdabc08cc30b42 Mon Sep 17 00:00:00 2001 +From 6ac1e8e270a7ad9de1eb93139c4f0a4da362b5a3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 690f530416..74939dce3a 100644 +index 690f53041..74939dce3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -48,7 +48,7 @@ public class WorldServer extends World { @@ -43,10 +43,10 @@ index 690f530416..74939dce3a 100644 if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 47a54102a1..284699cfe9 100644 +index 853a0374e..17f830717 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2075,11 +2075,17 @@ public class CraftWorld implements World { +@@ -2161,11 +2161,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 26d6ae9b84..826391db50 100644 --- a/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 4b7d50cd5cac72dc37866db7fe2a84670b6ab371 Mon Sep 17 00:00:00 2001 +From 0d65af9a1975db2ee35df680e76d1f4ace5d9bee Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Jun 2018 20:39:20 -0400 Subject: [PATCH] Allow spawning Item entities with World.spawnEntity @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 284699cfe9..3ce366ab80 100644 +index 17f830717..d1c634790 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1305,6 +1305,10 @@ public class CraftWorld implements World { +@@ -1391,6 +1391,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new EntityBoat(world, x, y, z); entity.setPositionRotation(x, y, z, yaw, pitch); diff --git a/Spigot-Server-Patches/0242-Expand-Explosions-API.patch b/Spigot-Server-Patches/0242-Expand-Explosions-API.patch index a15d094767..5cc1ab7d6a 100644 --- a/Spigot-Server-Patches/0242-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0242-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 75a77b5bcd0db050f6e3317960c2594342c1b6be Mon Sep 17 00:00:00 2001 +From e412cb2cc32d9cb28daf57854fee4ba7455abe11 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3ce366ab80..2bb01dd9c2 100644 +index d1c634790..4995a93af 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -752,6 +752,11 @@ public class CraftWorld implements World { +@@ -838,6 +838,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks) { return !world.createExplosion(null, x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled; } diff --git a/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch index fc8e44290a..722c50cf16 100644 --- a/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 077b6953f0e099b298618e749ccf132581015342 Mon Sep 17 00:00:00 2001 +From 0524ed85f393f9ce12e0a0499fedf74aaf5950a2 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:08:14 +0200 Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2bb01dd9c2..3dd9bec548 100644 +index 4995a93af..e74238033 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1108,6 +1108,15 @@ public class CraftWorld implements World { +@@ -1194,6 +1194,15 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0263-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0263-Vanished-players-don-t-have-rights.patch index 1de3fcec85..91d4737b6d 100644 --- a/Spigot-Server-Patches/0263-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0263-Vanished-players-don-t-have-rights.patch @@ -1,11 +1,11 @@ -From 06c40aefa0e83c45954e684d2b2b5b4d7ecc3dcf Mon Sep 17 00:00:00 2001 +From 7da024164eba85d84edca7af7b11e3c5720b39d8 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 14:22:26 +0200 Subject: [PATCH] Vanished players don't have rights diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 20b6ad48a9..8bc3e0464d 100644 +index 143937236..03e7517b4 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -97,7 +97,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,7 +18,7 @@ index 20b6ad48a9..8bc3e0464d 100644 protected int j; private Entity vehicle; diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 452602d43e..862ae25544 100644 +index 452602d43..862ae2554 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -146,6 +146,7 @@ public class IBlockData extends BlockDataAbstract implements @@ -30,10 +30,10 @@ index 452602d43e..862ae25544 100644 return this.getBlock().b(this, iblockaccess, blockposition, voxelshapecollision); } diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index 59b1e6ce2e..9f29e714b8 100644 +index 7d76be658..289d9cdf0 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java -@@ -126,7 +126,8 @@ public class ItemBlock extends Item { +@@ -136,7 +136,8 @@ public class ItemBlock extends Item { EntityHuman entityhuman = blockactioncontext.getEntity(); VoxelShapeCollision voxelshapecollision = entityhuman == null ? VoxelShapeCollision.a() : VoxelShapeCollision.a((Entity) entityhuman); // CraftBukkit start - store default return @@ -44,7 +44,7 @@ index 59b1e6ce2e..9f29e714b8 100644 BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn); diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java -index 6bfbc3616e..7bed2d208f 100644 +index 6bfbc3616..7bed2d208 100644 --- a/src/main/java/net/minecraft/server/VoxelShape.java +++ b/src/main/java/net/minecraft/server/VoxelShape.java @@ -46,6 +46,7 @@ public abstract class VoxelShape { @@ -56,7 +56,7 @@ index 6bfbc3616e..7bed2d208f 100644 return (VoxelShape) (this.isEmpty() ? VoxelShapes.a() : new VoxelShapeArray(this.a, new DoubleListOffset(this.a(EnumDirection.EnumAxis.X), d0), new DoubleListOffset(this.a(EnumDirection.EnumAxis.Y), d1), new DoubleListOffset(this.a(EnumDirection.EnumAxis.Z), d2))); } diff --git a/src/main/java/net/minecraft/server/VoxelShapes.java b/src/main/java/net/minecraft/server/VoxelShapes.java -index b8659f703c..c8bd4b7034 100644 +index b8659f703..c8bd4b703 100644 --- a/src/main/java/net/minecraft/server/VoxelShapes.java +++ b/src/main/java/net/minecraft/server/VoxelShapes.java @@ -33,6 +33,7 @@ public final class VoxelShapes { @@ -76,7 +76,7 @@ index b8659f703c..c8bd4b7034 100644 if (operatorboolean.apply(false, false)) { throw new IllegalArgumentException(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d08bd6d963..7c39846c16 100644 +index 0d73a53f6..f0332c893 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -164,6 +164,48 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -129,7 +129,7 @@ index d08bd6d963..7c39846c16 100644 public BiomeBase getBiome(BlockPosition blockposition) { IChunkProvider ichunkprovider = this.getChunkProvider(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 80b0fb8c11..dd25a8ad29 100644 +index 80b0fb8c1..dd25a8ad2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1140,6 +1140,14 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0270-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0270-Ignore-Dead-Entities-in-entityList-iteration.patch index d9c5cff16a..c56713d266 100644 --- a/Spigot-Server-Patches/0270-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0270-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From ab4142cd2764ba31b8b5325c1071109507bb43e2 Mon Sep 17 00:00:00 2001 +From 1ed9bb0810d6f8fc681bad0e77ee399321fa9cee Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -11,7 +11,7 @@ This will ensure that dead entities are skipped from iteration since they shouldn't of been in the list in the first place. diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 360abc05e4..391726d99c 100644 +index 360abc05e..391726d99 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -176,6 +176,7 @@ public class PaperCommand extends Command { @@ -23,7 +23,7 @@ index 360abc05e4..391726d99c 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ebc00f355e..099f0ad78b 100644 +index ebc00f355..099f0ad78 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -678,6 +678,7 @@ public class Chunk implements IChunkAccess { @@ -51,7 +51,7 @@ index ebc00f355e..099f0ad78b 100644 if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check list.add(t0); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 76e9891054..6064d414ef 100644 +index 76e989105..6064d414e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -126,6 +126,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,7 +63,7 @@ index 76e9891054..6064d414ef 100644 private float av; private float aw; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index dbdc4b66e9..f52321fbc8 100644 +index dbdc4b66e..f52321fbc 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -847,6 +847,7 @@ public class WorldServer extends World { @@ -91,10 +91,10 @@ index dbdc4b66e9..f52321fbc8 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3dd9bec548..6918f77b79 100644 +index e74238033..73d365806 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -845,6 +845,7 @@ public class CraftWorld implements World { +@@ -931,6 +931,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -102,7 +102,7 @@ index 3dd9bec548..6918f77b79 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -864,6 +865,7 @@ public class CraftWorld implements World { +@@ -950,6 +951,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -110,7 +110,7 @@ index 3dd9bec548..6918f77b79 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -890,6 +892,7 @@ public class CraftWorld implements World { +@@ -976,6 +978,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -118,7 +118,7 @@ index 3dd9bec548..6918f77b79 100644 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -913,6 +916,7 @@ public class CraftWorld implements World { +@@ -999,6 +1002,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { diff --git a/Spigot-Server-Patches/0285-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/Spigot-Server-Patches/0285-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch index 07e7d94af2..01b1a48393 100644 --- a/Spigot-Server-Patches/0285-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch +++ b/Spigot-Server-Patches/0285-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch @@ -1,14 +1,14 @@ -From 4949093ada5b472252a7a3b17c944a50f171b0e8 Mon Sep 17 00:00:00 2001 +From 2b8ccc91520d79354325d7b34634e4a8cbdd0be4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 15 Aug 2018 01:16:34 -0400 Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 08f8d80965..011e40458e 100644 +index acba08308..bb3e4805b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -121,9 +121,16 @@ public class CraftChunk implements Chunk { +@@ -123,9 +123,16 @@ public class CraftChunk implements Chunk { @Override public BlockState[] getTileEntities() { @@ -25,7 +25,7 @@ index 08f8d80965..011e40458e 100644 int index = 0; net.minecraft.server.Chunk chunk = getHandle(); -@@ -135,7 +142,7 @@ public class CraftChunk implements Chunk { +@@ -137,7 +144,7 @@ public class CraftChunk implements Chunk { } BlockPosition position = (BlockPosition) obj; diff --git a/Spigot-Server-Patches/0288-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0288-Send-nearby-packets-from-world-player-list-not-serve.patch index 9ae869eae9..92b4df8963 100644 --- a/Spigot-Server-Patches/0288-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0288-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,11 +1,11 @@ -From 9abfcdef1ec35ecc3163d6688d925dbbd6711783 Mon Sep 17 00:00:00 2001 +From 652f97fc6095f1d11eb32f60d833dad147766ab0 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 9e5cd22d7d..049d702cb9 100644 +index 9e5cd22d7..049d702cb 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -922,8 +922,25 @@ public abstract class PlayerList { @@ -46,7 +46,7 @@ index 9e5cd22d7d..049d702cb9 100644 double d5 = d1 - entityplayer.locY; double d6 = d2 - entityplayer.locZ; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f52321fbc8..cca4d97030 100644 +index f52321fbc..cca4d9703 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1188,7 +1188,7 @@ public class WorldServer extends World { @@ -68,10 +68,10 @@ index f52321fbc8..cca4d97030 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6918f77b79..8fa52fd630 100644 +index 73d365806..18dfa4c9c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1910,7 +1910,7 @@ public class CraftWorld implements World { +@@ -1996,7 +1996,7 @@ public class CraftWorld implements World { double z = loc.getZ(); PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch); diff --git a/Spigot-Server-Patches/0291-Optimize-CraftBlockData-Creation.patch b/Spigot-Server-Patches/0291-Optimize-CraftBlockData-Creation.patch index 73491bf223..9fec310bf7 100644 --- a/Spigot-Server-Patches/0291-Optimize-CraftBlockData-Creation.patch +++ b/Spigot-Server-Patches/0291-Optimize-CraftBlockData-Creation.patch @@ -1,4 +1,4 @@ -From c85ad1cb28ff05d7f73864887652b8765c08feda Mon Sep 17 00:00:00 2001 +From 03b66274c2e2d5500d25b1987b0019e920f4a5af Mon Sep 17 00:00:00 2001 From: miclebrick Date: Thu, 23 Aug 2018 11:45:32 -0400 Subject: [PATCH] Optimize CraftBlockData Creation @@ -7,7 +7,7 @@ Avoids a hashmap lookup by cacheing a reference to the CraftBlockData and cloning it when one is needed. diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 862ae25544..d25989d514 100644 +index 862ae2554..d25989d51 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -4,6 +4,8 @@ import com.google.common.collect.ImmutableMap; @@ -36,10 +36,10 @@ index 862ae25544..d25989d514 100644 return this.getBlock().l(this); } diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index c1666a9baf..3c29abd525 100644 +index 49c9975cf..fb8a77873 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -539,7 +539,17 @@ public class CraftBlockData implements BlockData { +@@ -548,7 +548,17 @@ public class CraftBlockData implements BlockData { return craft; } diff --git a/Spigot-Server-Patches/0299-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0299-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index aad2623dbb..e26f160749 100644 --- a/Spigot-Server-Patches/0299-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0299-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -1,4 +1,4 @@ -From 746ee758d67ef87767f6b52965425f2f26bf2a9a Mon Sep 17 00:00:00 2001 +From f9d4e949ba93f156a7e6f71172d886fa7313c3ff Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 2 Sep 2018 19:34:33 -0700 Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted @@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8fa52fd630..d74b3c42da 100644 +index 18dfa4c9c..2ef965a7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -476,7 +476,7 @@ public class CraftWorld implements World { +@@ -483,7 +483,7 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp( "chunk load"); // Spigot diff --git a/Spigot-Server-Patches/0306-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/Spigot-Server-Patches/0306-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index b9e78ffbb8..6e8079d0ee 100644 --- a/Spigot-Server-Patches/0306-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/Spigot-Server-Patches/0306-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -1,11 +1,11 @@ -From 137b7e0c17738468cb4b119fa4b5478758a23e02 Mon Sep 17 00:00:00 2001 +From 48ef82ea03b5ad262d1517540318e38c7b1c4fe5 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Wed, 12 Sep 2018 18:53:55 +0300 Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/net/minecraft/server/ArgumentBlock.java b/src/main/java/net/minecraft/server/ArgumentBlock.java -index 2574c36d3a..1c9edeb313 100644 +index 2574c36d3..1c9edeb31 100644 --- a/src/main/java/net/minecraft/server/ArgumentBlock.java +++ b/src/main/java/net/minecraft/server/ArgumentBlock.java @@ -43,7 +43,7 @@ public class ArgumentBlock { @@ -32,10 +32,10 @@ index 2574c36d3a..1c9edeb313 100644 this.s = this::l; if (this.i.canRead() && this.i.peek() == '#') { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index a8b267487f..c175c20a95 100644 +index 704a7d91e..a4412b28b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -86,6 +86,12 @@ import org.bukkit.persistence.PersistentDataContainer; +@@ -87,6 +87,12 @@ import org.bukkit.persistence.PersistentDataContainer; import static org.spigotmc.ValidateUtils.*; // Spigot end @@ -48,7 +48,7 @@ index a8b267487f..c175c20a95 100644 /** * Children must include the following: * -@@ -266,6 +272,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -267,6 +273,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Specific(Specific.To.NBT) static final ItemMetaKey BLOCK_DATA = new ItemMetaKey("BlockStateTag"); static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); @@ -59,7 +59,7 @@ index a8b267487f..c175c20a95 100644 private IChatBaseComponent displayName; private IChatBaseComponent locName; -@@ -278,6 +288,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -279,6 +289,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private int hideFlag; private boolean unbreakable; private int damage; @@ -70,7 +70,7 @@ index a8b267487f..c175c20a95 100644 private static final Set HANDLED_TAGS = Sets.newHashSet(); private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -315,6 +329,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -316,6 +330,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -86,7 +86,7 @@ index a8b267487f..c175c20a95 100644 this.unhandledTags.putAll(meta.unhandledTags); this.persistentDataContainer.putAll(meta.persistentDataContainer.getRaw()); -@@ -391,6 +414,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -392,6 +415,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { persistentDataContainer.put(key, compound.get(key)); } } @@ -118,7 +118,7 @@ index a8b267487f..c175c20a95 100644 Set keys = tag.getKeys(); for (String key : keys) { -@@ -528,6 +576,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -529,6 +577,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { setDamage(damage); } @@ -153,7 +153,7 @@ index a8b267487f..c175c20a95 100644 String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.decodeBase64(internal)); -@@ -656,6 +732,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -657,6 +733,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (hasDamage()) { itemTag.setInt(DAMAGE.NBT, damage); } @@ -177,7 +177,7 @@ index a8b267487f..c175c20a95 100644 for (Map.Entry e : unhandledTags.entrySet()) { itemTag.set(e.getKey(), e.getValue()); -@@ -672,6 +765,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -673,6 +766,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -199,7 +199,7 @@ index a8b267487f..c175c20a95 100644 NBTTagList createStringList(List list) { if (list == null || list.isEmpty()) { return null; -@@ -754,7 +862,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -755,7 +863,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -208,7 +208,7 @@ index a8b267487f..c175c20a95 100644 } @Override -@@ -1151,7 +1259,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1152,7 +1260,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hideFlag == that.hideFlag) && (this.isUnbreakable() == that.isUnbreakable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) @@ -221,7 +221,7 @@ index a8b267487f..c175c20a95 100644 } /** -@@ -1186,6 +1298,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1187,6 +1299,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (hasDamage() ? this.damage : 0); hash = 61 * hash + (hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); hash = 61 * hash + version; @@ -232,7 +232,7 @@ index a8b267487f..c175c20a95 100644 return hash; } -@@ -1209,6 +1325,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1210,6 +1326,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.unbreakable = this.unbreakable; clone.damage = this.damage; clone.version = this.version; @@ -247,7 +247,7 @@ index a8b267487f..c175c20a95 100644 return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1266,6 +1390,24 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1267,6 +1391,24 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(DAMAGE.BUKKIT, damage); } @@ -272,7 +272,7 @@ index a8b267487f..c175c20a95 100644 final Map internalTags = new HashMap(unhandledTags); serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1428,7 +1570,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1429,7 +1571,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaArmorStand.NO_BASE_PLATE.NBT, CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, @@ -283,7 +283,7 @@ index a8b267487f..c175c20a95 100644 // Paper end )); } -@@ -1475,4 +1619,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1476,4 +1620,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return spigot; } // Spigot end diff --git a/Spigot-Server-Patches/0320-Add-sun-related-API.patch b/Spigot-Server-Patches/0320-Add-sun-related-API.patch index 84a6890996..a306d6c152 100644 --- a/Spigot-Server-Patches/0320-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0320-Add-sun-related-API.patch @@ -1,11 +1,11 @@ -From 0ddb4dccfa1ed3f5598a1a48100fa1ebcab8ad3f Mon Sep 17 00:00:00 2001 +From b4f22385c9fc8d2910d3edd9b448119953903eb9 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index c20374d77b..5e88367d3c 100644 +index c20374d77..5e88367d3 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1327,6 +1327,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -17,7 +17,7 @@ index c20374d77b..5e88367d3c 100644 if (this.world.J() && !this.world.isClientSide) { float f = this.aF(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7c39846c16..26f3b47208 100644 +index f0332c893..1f28358f9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -705,6 +705,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -29,10 +29,10 @@ index 7c39846c16..26f3b47208 100644 return this.d < 4; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d74b3c42da..8ae1b506f1 100644 +index 2ef965a7d..79aac04ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -738,6 +738,13 @@ public class CraftWorld implements World { +@@ -824,6 +824,13 @@ public class CraftWorld implements World { } } @@ -47,7 +47,7 @@ index d74b3c42da..8ae1b506f1 100644 public boolean createExplosion(double x, double y, double z, float power) { return createExplosion(x, y, z, power, false, true); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 53c2d154ed..56c233872b 100644 +index 53c2d154e..56c233872 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -68,4 +68,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/Spigot-Server-Patches/0333-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/Spigot-Server-Patches/0333-Don-t-sleep-after-profile-lookups-if-not-needed.patch index 0564973b07..7dd304b1df 100644 --- a/Spigot-Server-Patches/0333-Don-t-sleep-after-profile-lookups-if-not-needed.patch +++ b/Spigot-Server-Patches/0333-Don-t-sleep-after-profile-lookups-if-not-needed.patch @@ -1,4 +1,4 @@ -From 59e7d2b7d8e233a0deb8ce95a7fc5b7675a14728 Mon Sep 17 00:00:00 2001 +From 73a47cc046ad4f5356b4122127ad6a3256656efb Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 23 Oct 2018 20:25:05 -0400 Subject: [PATCH] Don't sleep after profile lookups if not needed @@ -7,30 +7,30 @@ Mojang was sleeping even if we had no more requests to go after the current one finished, resulting in 100ms lost per profile lookup diff --git a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java -index 71e48e87b4..23f1447cfc 100644 +index 26a743722..6ed3199c3 100644 --- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java +++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java @@ -42,6 +42,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository { - } - - final int page = 0; + } + + final int page = 0; + boolean hasRequested = false; // Paper - - for (final List request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) { - int failCount = 0; + + for (final List request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) { + int failCount = 0; @@ -67,6 +68,12 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository { - LOGGER.debug("Couldn't find profile {}", name); - callback.onProfileLookupFailed(new GameProfile(null, name), new ProfileNotFoundException("Server did not find the requested profile")); - } + LOGGER.debug("Couldn't find profile {}", name); + callback.onProfileLookupFailed(new GameProfile(null, name), new ProfileNotFoundException("Server did not find the requested profile")); + } + // Paper start + if (!hasRequested) { + hasRequested = true; + continue; + } + // Paper end - - try { - Thread.sleep(DELAY_BETWEEN_PAGES); + + try { + Thread.sleep(DELAY_BETWEEN_PAGES); -- 2.22.0 diff --git a/Spigot-Server-Patches/0380-Add-Heightmap-API.patch b/Spigot-Server-Patches/0380-Add-Heightmap-API.patch index 544eb89ac9..acdf3eda2e 100644 --- a/Spigot-Server-Patches/0380-Add-Heightmap-API.patch +++ b/Spigot-Server-Patches/0380-Add-Heightmap-API.patch @@ -1,11 +1,11 @@ -From a7b1577af9947ef2a35607e66726a6a34b87dcc5 Mon Sep 17 00:00:00 2001 +From d7be329161f59fdbff80bdee18d43e6a1c7133ca Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Tue, 1 Jan 2019 02:22:01 -0800 Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ef080f9571..0acdb527d9 100644 +index b1b276683..2eed9c2ec 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -663,8 +663,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -20,10 +20,10 @@ index ef080f9571..0acdb527d9 100644 if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8ae1b506f1..02098b9cc2 100644 +index 79aac04ff..d792f55fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -316,6 +316,29 @@ public class CraftWorld implements World { +@@ -323,6 +323,29 @@ public class CraftWorld implements World { return world.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, new BlockPosition(x, 0, z)).getY(); } diff --git a/Spigot-Server-Patches/0384-Async-Chunk-placeholder.patch b/Spigot-Server-Patches/0384-Async-Chunk-placeholder.patch index 009e35767f..5aad16154f 100644 --- a/Spigot-Server-Patches/0384-Async-Chunk-placeholder.patch +++ b/Spigot-Server-Patches/0384-Async-Chunk-placeholder.patch @@ -1,4 +1,4 @@ -From bf2cf6fce0635f9d5e7c70254df2d8e87d20bd2b Mon Sep 17 00:00:00 2001 +From b96f6c349b21a28bfa6e27696bcde0cbef8cfc32 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 6 May 2019 12:29:24 -0700 Subject: [PATCH] Async Chunk placeholder @@ -6,18 +6,18 @@ Subject: [PATCH] Async Chunk placeholder Until we figure out Mojang's ticket system. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 02098b9cc2..af1f1c2d62 100644 +index d792f55fc..b1ce7e095 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -16,6 +16,7 @@ import java.util.Objects; +@@ -18,6 +18,7 @@ import java.util.Objects; import java.util.Random; import java.util.Set; import java.util.UUID; +import java.util.concurrent.CompletableFuture; import java.util.function.Predicate; - import net.minecraft.server.AxisAlignedBB; - import net.minecraft.server.BiomeBase; -@@ -2155,6 +2156,40 @@ public class CraftWorld implements World { + import it.unimi.dsi.fastutil.longs.Long2ObjectMap; + import it.unimi.dsi.fastutil.objects.ObjectSortedSet; +@@ -2241,6 +2242,40 @@ public class CraftWorld implements World { return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); } diff --git a/Spigot-Server-Patches/0391-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0391-improve-CraftWorld-isChunkLoaded.patch index 408c182938..d103ce022c 100644 --- a/Spigot-Server-Patches/0391-improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/0391-improve-CraftWorld-isChunkLoaded.patch @@ -1,4 +1,4 @@ -From ed20d3017f7a979ae81b57a087119147df5b27a5 Mon Sep 17 00:00:00 2001 +From 9ce159915da547f8cf749c4dfe600ab4920a3965 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 21 May 2019 02:34:04 +0100 Subject: [PATCH] improve CraftWorld#isChunkLoaded @@ -9,10 +9,10 @@ waiting for the execution queue to get to our request; We can just query the chunk status and get a response now, vs having to wait diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index af1f1c2d62..57071e84fc 100644 +index b1ce7e095..3fc81657f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -381,14 +381,13 @@ public class CraftWorld implements World { +@@ -388,14 +388,13 @@ public class CraftWorld implements World { @Override public boolean isChunkLoaded(int x, int z) { diff --git a/Spigot-Server-Patches/0392-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0392-Configurable-Keep-Spawn-Loaded-range-per-world.patch index e9de06355b..75d2a4edec 100644 --- a/Spigot-Server-Patches/0392-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0392-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 6ccb99a5f6c86956c086076fc925b579fcd07da7 Mon Sep 17 00:00:00 2001 +From 1fa3ddc303c246d774f2c9f7c3547bb5e419a55a Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index d8bb13693d..de11a91af6 100644 +index d8bb13693..de11a91af 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -483,4 +483,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index d8bb13693d..de11a91af6 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8136a97f44..d6c99ce897 100644 +index 8136a97f4..d6c99ce89 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -569,6 +569,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 1 Jun 2019 13:00:55 -0700 Subject: [PATCH] Chunk debug command @@ -32,7 +32,7 @@ https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528273&page=com.atlass https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528577&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-528577 diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 391726d99c..8db92edc36 100644 +index 391726d99..8db92edc3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -28,14 +28,14 @@ public class PaperCommand extends Command { @@ -184,21 +184,8 @@ index 391726d99c..8db92edc36 100644 /* * Ported from MinecraftForge - author: LexManos - License: LGPLv2.1 */ -diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index a116826490..f51bda68a8 100644 ---- a/src/main/java/net/minecraft/server/ChunkMapDistance.java -+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java -@@ -32,7 +32,7 @@ public abstract class ChunkMapDistance { - private static final Logger LOGGER = LogManager.getLogger(); - private static final int b = 33 + ChunkStatus.a(ChunkStatus.FULL) - 2; - private final Long2ObjectMap> c = new Long2ObjectOpenHashMap(); -- private final Long2ObjectOpenHashMap>> tickets = new Long2ObjectOpenHashMap(); -+ final Long2ObjectOpenHashMap>> tickets = new Long2ObjectOpenHashMap(); // Paper -> private -> package - private final ChunkMapDistance.a e = new ChunkMapDistance.a(); - private final ChunkMapDistance.b f = new ChunkMapDistance.b(8); - private final ChunkMapDistance.c g = new ChunkMapDistance.c(33); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4c3bcb63d9..630feec163 100644 +index 4c3bcb63d..630feec16 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -21,7 +21,7 @@ import org.apache.logging.log4j.Logger; @@ -211,7 +198,7 @@ index 4c3bcb63d9..630feec163 100644 public final ChunkGenerator chunkGenerator; private final WorldServer world; diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index ec3732193f..23d1935dd5 100644 +index ec3732193..23d1935dd 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -4,7 +4,13 @@ import com.destroystokyo.paper.block.TargetBlockInfo; @@ -412,7 +399,7 @@ index ec3732193f..23d1935dd5 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 5599d0e71f..0daf5f99e3 100644 +index 5599d0e71..0daf5f99e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -26,7 +26,7 @@ public class PlayerChunk { @@ -425,7 +412,7 @@ index 5599d0e71f..0daf5f99e3 100644 private int dirtyCount; private int r; diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 9102bf8b60..d85220b66c 100644 +index 171c3b4b1..a259f3582 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -52,7 +52,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -441,22 +428,22 @@ index 9102bf8b60..d85220b66c 100644 private final Mailbox> mailboxWorldGen; private final Mailbox> mailboxMain; public final WorldLoadListener worldLoadListener; -- private final PlayerChunkMap.a u; -+ private final PlayerChunkMap.a u; public final PlayerChunkMap.a getChunkMapDistanceManager() { return this.u; } // Paper - OBFHELPER +- public final PlayerChunkMap.a u; // CraftBukkit - private -> public // PAIL chunkDistanceManager ++ public final PlayerChunkMap.a u; public final PlayerChunkMap.a getChunkMapDistanceManager() { return this.u; } // Paper - OBFHELPER // CraftBukkit - private -> public // PAIL chunkDistanceManager private final AtomicInteger v; private final DefinedStructureManager definedStructureManager; private final File x; diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java -index 74d6e3d2f5..4a1ba0dd80 100644 +index 16e3114bc..efc89c537 100644 --- a/src/main/java/net/minecraft/server/Ticket.java +++ b/src/main/java/net/minecraft/server/Ticket.java @@ -6,8 +6,8 @@ public final class Ticket implements Comparable> { private final TicketType a; private final int b; -- private final T c; +- public final T c; // CraftBukkit - private -> public // PAIL identifier - private final long d; -+ private final T c; public final T getObjectReason() { return this.c; } // Paper - OBFHELPER ++ public final T c; public final T getObjectReason() { return this.c; } // Paper - OBFHELPER // CraftBukkit - private -> public // PAIL identifier + private final long d; public final long getCreationTick() { return this.d; } // Paper - OBFHELPER protected Ticket(TicketType tickettype, int i, T t0, long j) { diff --git a/Spigot-Server-Patches/0401-Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/0401-Fix-World-isChunkGenerated-calls.patch index 8e38277cb9..b85781b0cf 100644 --- a/Spigot-Server-Patches/0401-Fix-World-isChunkGenerated-calls.patch +++ b/Spigot-Server-Patches/0401-Fix-World-isChunkGenerated-calls.patch @@ -1,4 +1,4 @@ -From 8ec38f6eb4de25ddb05562621e41e3abb073b949 Mon Sep 17 00:00:00 2001 +From a5c71a512c5ef631b69251c06cb5f4e1d3deedda Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 15 Jun 2019 08:54:33 -0700 Subject: [PATCH] Fix World#isChunkGenerated calls @@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that its only purpose is to cache the status on DISK) diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 630feec163..42b97ba86b 100644 +index 630feec16..42b97ba86 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -27,7 +27,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -58,7 +58,7 @@ index 630feec163..42b97ba86b 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index cf33965082..287f113581 100644 +index cf3396508..287f11358 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -410,6 +410,17 @@ public class ChunkRegionLoader { @@ -80,7 +80,7 @@ index cf33965082..287f113581 100644 if (nbttagcompound != null) { ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status")); diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index dd1822d6ff..e324989b46 100644 +index dd1822d6f..e324989b4 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -176,6 +176,7 @@ public class ChunkStatus { @@ -110,7 +110,7 @@ index dd1822d6ff..e324989b46 100644 return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s)); } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 0daf5f99e3..761cd1355b 100644 +index 0daf5f99e..761cd1355 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -70,6 +70,19 @@ public class PlayerChunk { @@ -134,7 +134,7 @@ index 0daf5f99e3..761cd1355b 100644 public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index c4ad039ffd..3f41072f72 100644 +index be707d820..6775175d1 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -802,10 +802,23 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -164,7 +164,7 @@ index c4ad039ffd..3f41072f72 100644 // Spigot Start diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 2e14d84657..d610253b95 100644 +index 2e14d8465..d610253b9 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -31,6 +31,47 @@ public class RegionFile implements AutoCloseable { @@ -232,7 +232,7 @@ index 2e14d84657..d610253b95 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 6f34d8aea0..d2b3289450 100644 +index 6f34d8aea..d2b328945 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -47,6 +47,12 @@ public abstract class RegionFileCache implements AutoCloseable { @@ -265,10 +265,10 @@ index 6f34d8aea0..d2b3289450 100644 printOversizedLog("ChunkTooLarge even after reduction. Trying in overzealous mode.", regionfile.file, chunkX, chunkZ); // Eek, major fail. We have retry logic, so reduce threshholds and fall back diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3444c19b0f..3e55033d3c 100644 +index bb0f75f52..ece1a68c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -386,8 +386,20 @@ public class CraftWorld implements World { +@@ -393,8 +393,20 @@ public class CraftWorld implements World { @Override public boolean isChunkGenerated(int x, int z) { @@ -290,7 +290,7 @@ index 3444c19b0f..3e55033d3c 100644 } catch (IOException ex) { throw new RuntimeException(ex); } -@@ -499,20 +511,24 @@ public class CraftWorld implements World { +@@ -506,20 +518,24 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp( "chunk load"); // Spigot @@ -327,7 +327,7 @@ index 3444c19b0f..3e55033d3c 100644 } @Override -@@ -2163,21 +2179,20 @@ public class CraftWorld implements World { +@@ -2249,21 +2265,20 @@ public class CraftWorld implements World { // Paper start private Chunk getChunkAtGen(int x, int z, boolean gen) { diff --git a/Spigot-Server-Patches/0403-Fix-MC-154214.patch b/Spigot-Server-Patches/0403-Fix-MC-154214.patch index 35bb465171..eaefd8465d 100644 --- a/Spigot-Server-Patches/0403-Fix-MC-154214.patch +++ b/Spigot-Server-Patches/0403-Fix-MC-154214.patch @@ -1,4 +1,4 @@ -From 3e1658a1def891bc65cfbe2bd636ef84dca1cacd Mon Sep 17 00:00:00 2001 +From 258e62129db2aeb3cdabadfeaf0baf682ab9d983 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 16 Jun 2019 23:30:25 -0700 Subject: [PATCH] Fix MC-154214 @@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-154214 Avoid adding player tickets when they're out of range of the closest player diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index f51bda68a8..9bb711a9db 100644 +index 99c7537ef..757b505ea 100644 --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java -@@ -330,12 +330,18 @@ public abstract class ChunkMapDistance { +@@ -359,12 +359,18 @@ public abstract class ChunkMapDistance { } private void a(long i, int j, boolean flag, boolean flag1) { @@ -18,7 +18,7 @@ index f51bda68a8..9bb711a9db 100644 Ticket ticket = new Ticket<>(TicketType.PLAYER, ChunkMapDistance.b, new ChunkCoordIntPair(i), ChunkMapDistance.this.currentTick); if (flag1) { - ChunkMapDistance.this.j.a(ChunkTaskQueueSorter.a(() -> { // Paper - decompile fix + ChunkMapDistance.this.j.a(ChunkTaskQueueSorter.a(() -> { // Craftbukkit - decompile error ChunkMapDistance.this.m.execute(() -> { + // Paper start - Fix MC-154214 + if (!this.inRange(this.getNearestDistanceFromPlayerMap().get(chunkPosition))) { @@ -28,7 +28,7 @@ index f51bda68a8..9bb711a9db 100644 ChunkMapDistance.this.a(i, ticket); ChunkMapDistance.this.l.add(i); }); -@@ -379,6 +385,7 @@ public abstract class ChunkMapDistance { +@@ -408,6 +414,7 @@ public abstract class ChunkMapDistance { } @@ -36,7 +36,7 @@ index f51bda68a8..9bb711a9db 100644 private boolean c(int i) { return i <= this.e - 2; } -@@ -386,7 +393,7 @@ public abstract class ChunkMapDistance { +@@ -415,7 +422,7 @@ public abstract class ChunkMapDistance { class b extends ChunkMap { diff --git a/Spigot-Server-Patches/0407-Anti-Xray.patch b/Spigot-Server-Patches/0406-Anti-Xray.patch similarity index 98% rename from Spigot-Server-Patches/0407-Anti-Xray.patch rename to Spigot-Server-Patches/0406-Anti-Xray.patch index 4c33ef8423..8b83635aab 100644 --- a/Spigot-Server-Patches/0407-Anti-Xray.patch +++ b/Spigot-Server-Patches/0406-Anti-Xray.patch @@ -1,11 +1,11 @@ -From 5b18d35d10af4ba8c655f65dc378abf8c1d81c98 Mon Sep 17 00:00:00 2001 +From dd8ece01e600a532f79f4182d89965ac6eb9cfd6 Mon Sep 17 00:00:00 2001 From: stonar96 Date: Mon, 20 Aug 2018 03:03:58 +0200 Subject: [PATCH] Anti-Xray diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 81987e4ad9..5942c3438e 100644 +index 81987e4ad..5942c3438 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -71,8 +71,8 @@ public class PaperConfig { @@ -20,7 +20,7 @@ index 81987e4ad9..5942c3438e 100644 } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 58109e1308..b03d3ee84b 100644 +index 4d3c6c6b4..929f5c303 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -1,7 +1,11 @@ @@ -35,7 +35,7 @@ index 58109e1308..b03d3ee84b 100644 import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.spigotmc.SpigotWorldConfig; -@@ -509,4 +513,43 @@ public class PaperWorldConfig { +@@ -504,4 +508,43 @@ public class PaperWorldConfig { private void maxAutoSaveChunksPerTick() { maxAutoSaveChunksPerTick = getInt("max-auto-save-chunks-per-tick", 24); } @@ -81,7 +81,7 @@ index 58109e1308..b03d3ee84b 100644 } diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java new file mode 100644 -index 0000000000..f7e376ce6a +index 000000000..f7e376ce6 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java @@ -0,0 +1,46 @@ @@ -133,7 +133,7 @@ index 0000000000..f7e376ce6a +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java new file mode 100644 -index 0000000000..9d8bee5cac +index 000000000..9d8bee5ca --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java @@ -0,0 +1,777 @@ @@ -916,7 +916,7 @@ index 0000000000..9d8bee5cac +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java new file mode 100644 -index 0000000000..a68bace353 +index 000000000..a68bace35 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java @@ -0,0 +1,81 @@ @@ -1003,7 +1003,7 @@ index 0000000000..a68bace353 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java new file mode 100644 -index 0000000000..067dfb2f14 +index 000000000..067dfb2f1 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java @@ -0,0 +1,31 @@ @@ -1040,7 +1040,7 @@ index 0000000000..067dfb2f14 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java new file mode 100644 -index 0000000000..cc586827aa +index 000000000..cc586827a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java @@ -0,0 +1,56 @@ @@ -1102,7 +1102,7 @@ index 0000000000..cc586827aa +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java new file mode 100644 -index 0000000000..37093419cf +index 000000000..37093419c --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java @@ -0,0 +1,84 @@ @@ -1191,7 +1191,7 @@ index 0000000000..37093419cf + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e2a48695df..d19412f186 100644 +index e2a48695d..d19412f18 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -315,7 +315,7 @@ public class Chunk implements IChunkAccess { @@ -1204,7 +1204,7 @@ index e2a48695df..d19412f186 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 287f113581..f88e3d957f 100644 +index 287f11358..f88e3d957 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -74,7 +74,7 @@ public class ChunkRegionLoader { @@ -1226,7 +1226,7 @@ index 287f113581..f88e3d957f 100644 object = protochunk; protochunk.a(abiomebase); diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index c4c181c1d5..d6b327eff2 100644 +index c4c181c1d..d6b327eff 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -6,21 +6,31 @@ public class ChunkSection { @@ -1265,7 +1265,7 @@ index c4c181c1d5..d6b327eff2 100644 public IBlockData getType(int i, int j, int k) { diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index e05b9d606a..cbc9dc902e 100644 +index e05b9d606..cbc9dc902 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -1,5 +1,6 @@ @@ -1386,7 +1386,7 @@ index e05b9d606a..cbc9dc902e 100644 if (this.h == this.b) { diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index ba23d28335..8dcaaf8676 100644 +index ba23d2833..8dcaaf867 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -166,8 +166,8 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -1447,7 +1447,7 @@ index ba23d28335..8dcaaf8676 100644 public void a() { this.o(); diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index ef71a1feb3..483317608c 100644 +index ef71a1feb..483317608 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -1,5 +1,6 @@ @@ -1540,7 +1540,7 @@ index ef71a1feb3..483317608c 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 761cd1355b..956a47132f 100644 +index 761cd1355..956a47132 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -154,6 +154,11 @@ public class PlayerChunk { @@ -1565,7 +1565,7 @@ index 761cd1355b..956a47132f 100644 this.a(new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, chunk), false); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 8e16d6ac87..f486331118 100644 +index 1b18505e0..7e8b0811b 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -491,7 +491,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -1587,7 +1587,7 @@ index 8e16d6ac87..f486331118 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 83b36b3e7f..8fef6008d1 100644 +index 83b36b3e7..8fef6008d 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -207,6 +207,8 @@ public class PlayerInteractManager { @@ -1600,7 +1600,7 @@ index 83b36b3e7f..8fef6008d1 100644 public void a(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java -index 6bdd7dda04..7bad12eb00 100644 +index 6bdd7dda0..7bad12eb0 100644 --- a/src/main/java/net/minecraft/server/ProtoChunk.java +++ b/src/main/java/net/minecraft/server/ProtoChunk.java @@ -44,16 +44,28 @@ public class ProtoChunk implements IChunkAccess { @@ -1643,19 +1643,19 @@ index 6bdd7dda04..7bad12eb00 100644 return this.j[i]; diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java -index d2bf158a91..2eeae60d52 100644 +index e66af33c1..5acb0732c 100644 --- a/src/main/java/net/minecraft/server/TicketType.java +++ b/src/main/java/net/minecraft/server/TicketType.java -@@ -20,6 +20,7 @@ public class TicketType { - public static final TicketType POST_TELEPORT = a("post_teleport", Integer::compareTo, 5); +@@ -21,6 +21,7 @@ public class TicketType { public static final TicketType UNKNOWN = a("unknown", Comparator.comparingLong(ChunkCoordIntPair::pair), 1); public static final TicketType PLUGIN = a("plugin", (a, b) -> 0); // CraftBukkit + public static final TicketType PLUGIN_TICKET = a("plugin_ticket", (plugin1, plugin2) -> plugin1.getClass().getName().compareTo(plugin2.getClass().getName())); // Craftbukkit + public static final TicketType ANTIXRAY = a("antixray", Integer::compareTo); // Paper - Anti-Xray public static TicketType a(String s, Comparator comparator) { return new TicketType<>(s, comparator, 0L); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 11113c9614..ae286aaf29 100644 +index f0e8acdd1..ee6474b18 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -1692,7 +1692,7 @@ index 11113c9614..ae286aaf29 100644 if (iblockdata1 == null) { // CraftBukkit start - remove blockstate if failed diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index 7772d59005..4570ed9991 100644 +index 7772d5900..4570ed999 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java @@ -21,9 +21,11 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { diff --git a/Spigot-Server-Patches/0406-Fix-tracker-desync-issue.patch b/Spigot-Server-Patches/0406-Fix-tracker-desync-issue.patch deleted file mode 100644 index ca9dc2211a..0000000000 --- a/Spigot-Server-Patches/0406-Fix-tracker-desync-issue.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8e3c5764f6a63ca9302d36608291a1f7afd77bc1 Mon Sep 17 00:00:00 2001 -From: Spottedleaf -Date: Sun, 23 Jun 2019 19:11:27 -0700 -Subject: [PATCH] Fix tracker desync issue - - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b2a2090e79..0a2c9a9f85 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -3258,6 +3258,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - return this.f.j(); - } - -+ public Vec3D getPositionVector() { return this.ci(); } // Paper - OBFHELPER - public Vec3D ci() { - return new Vec3D(this.locX, this.locY, this.locZ); - } -diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index f34d7d0dad..8e16d6ac87 100644 ---- a/src/main/java/net/minecraft/server/PlayerChunkMap.java -+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -1238,7 +1238,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { - public void updatePlayer(EntityPlayer entityplayer) { - org.spigotmc.AsyncCatcher.catchOp( "player tracker update"); // Spigot - if (entityplayer != this.tracker) { -- Vec3D vec3d = (new Vec3D(entityplayer.locX, entityplayer.locY, entityplayer.locZ)).d(this.trackerEntry.b()); -+ Vec3D vec3d = (new Vec3D(entityplayer.locX, entityplayer.locY, entityplayer.locZ)).d(this.tracker.getPositionVector()); // Paper - prevent de-sync issues - int i = Math.min(this.trackingDistance, (PlayerChunkMap.this.viewDistance - 1) * 16); - boolean flag = vec3d.x >= (double) (-i) && vec3d.x <= (double) i && vec3d.z >= (double) (-i) && vec3d.z <= (double) i && this.tracker.a(entityplayer); - --- -2.22.0 - diff --git a/work/Bukkit b/work/Bukkit index c2d72c82fb..e99c944401 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit c2d72c82fb49c5093c84c3a14eb410beab6fa412 +Subproject commit e99c94440124f246a75f080cce7e2338d5e669db diff --git a/work/CraftBukkit b/work/CraftBukkit index fca41573a3..5f88938850 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit fca41573a3481c1d84b0b892970e8d15dd9d778a +Subproject commit 5f88938850e45ce8e79160dd229bcf90681c6ab7 diff --git a/work/Spigot b/work/Spigot index d05d3c1f87..5e4e7f32bc 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit d05d3c1f87cd25f52a8b0813f96d529eec98bd2b +Subproject commit 5e4e7f32bcc0af285ad143816949eab877d1f148