From 5792c8626a190993d0a5bf52368d014d0fef4d1d Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 28 Jan 2020 19:43:57 +0000 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 93e39ce1 Clarify documentation regarding getMaterial with legacyName = true c3aeaea0 Improve dependency tracker 14c9d275 Add support for transitive depends in load access warning c8afe560 SPIGOT-5526: Add EntityEnterBlockEvent 6bb6f07d SPIGOT-5548: Show error that hints towards plugins misusing reflection ed75537d SPIGOT-5546: Fix bad depend access using wrong provider in message 4e4c0ee9 Fix buggy classloader warning triggering for all classes 89586a4c Print warning when loading classes from depends that have not been specified d4fe9680 Fix bug where disablePlugin could remove ConfigurationSerializable classes from other plugins 85e683b7 Add additional checkstyle checks 612fd8e1 Correct max page count in BookMeta docs fa8a9781 Correct max title length in BookMeta docs CraftBukkit Changes: ab13a117 SPIGOT-5550: Cancelled ProjectileLaunchEvent still plays sound for eggs 44016b1d SPIGOT-5538: Using javaw to run GUI prints input error e653ae76 SPIGOT-5526: Call EntityEnterBlockEvent for bees trying to enter hives 6515ea49 SPIGOT-5537: Bee nests generated by growing trees near flower have no bees d82b3149 Remove unused CraftWorld.getId method 10763a88 Change some block == AIR checks to isAir to catch CAVE_AIR Spigot Changes: f2c1cd15 Rebuild patches bcd458ad Reformat patches --- Spigot-API-Patches/0004-Timings-v2.patch | 236 ++++++++---------- .../0007-Entity-Origin-API.patch | 8 +- ...ly-disable-plugins-that-fail-to-load.patch | 8 +- .../0014-Expose-server-CommandMap.patch | 12 +- .../0017-Add-exception-reporting-event.patch | 16 +- ...t-sendMessage-methods-to-CommandSend.patch | 8 +- .../0021-Complete-resource-pack-API.patch | 10 +- .../0022-Use-ASM-for-event-executors.patch | 8 +- ...eload-permissions.yml-and-require-co.patch | 14 +- ...9-Allow-Reloading-of-Command-Aliases.patch | 10 +- ...0042-Add-String-based-Action-Bar-API.patch | 10 +- ...n-option-to-prevent-player-names-fro.patch | 10 +- .../0056-Basic-PlayerProfile-API.patch | 10 +- .../0059-Entity-fromMobSpawner.patch | 8 +- ...or-plugins-modifying-the-parent-of-t.patch | 14 +- ...lose-Plugin-Class-Loaders-on-Disable.patch | 20 +- .../0118-Entity-getChunk-API.patch | 8 +- ...dd-an-asterisk-to-legacy-API-plugins.patch | 8 +- ...deadlock-risk-in-firing-async-events.patch | 22 +- ...ault-permission-message-configurable.patch | 10 +- ...tion-supression-of-EntityDismount-Ve.patch | 26 +- .../0174-Entity-getEntitySpawnReason.patch | 8 +- ...187-Expose-the-internal-current-tick.patch | 10 +- .../0002-Paper-config-files.patch | 30 +-- Spigot-Server-Patches/0004-MC-Utils.patch | 27 +- Spigot-Server-Patches/0009-Timings-v2.patch | 31 +-- ...5-Allow-for-toggling-of-spawn-chunks.patch | 10 +- ...d-version-history-to-version-command.patch | 12 +- ...event-tile-entity-and-entity-crashes.patch | 12 +- .../0032-Optimize-explosions.patch | 22 +- .../0041-Disable-spigot-tick-limiters.patch | 8 +- ...entation-of-tile-entity-removal-list.patch | 8 +- .../0054-Add-exception-reporting-event.patch | 10 +- .../0066-Add-World-Util-Methods.patch | 10 +- ...Location-getType-and-getBlockData-fo.patch | 8 +- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 18 +- ...g-BlockPlaceEvent-triggering-physics.patch | 8 +- ...Remove-unused-World-Tile-Entity-List.patch | 18 +- ...r-redstone-torch-rapid-clock-removal.patch | 10 +- ...imize-World.isLoaded-BlockPosition-Z.patch | 8 +- ...PI-for-Reason-Source-Triggering-play.patch | 38 +-- ...oleAppender-for-console-improvements.patch | 40 +-- ...68-Fix-MC-117075-TE-Unload-Lag-Spike.patch | 8 +- ...ams-to-redirect-System.out-err-to-lo.patch | 10 +- ...dEffects-only-to-players-who-can-see.patch | 10 +- ...e-implementations-for-captured-block.patch | 36 ++- ...ld.spawnParticle-API-and-add-Builder.patch | 8 +- ...Item-entities-with-World.spawnEntity.patch | 8 +- .../0237-Expand-Explosions-API.patch | 8 +- ...1-Implement-World.getEntity-UUID-API.patch | 8 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 10 +- ...t-armor-stands-from-doing-entity-loo.patch | 10 +- ...7-Vanished-players-don-t-have-rights.patch | 20 +- ...ead-Entities-in-entityList-iteration.patch | 16 +- ...76-Use-a-Queue-for-Queueing-Commands.patch | 8 +- ...ets-from-world-player-list-not-serve.patch | 8 +- .../0311-Add-sun-related-API.patch | 12 +- .../0331-Optimize-redstone-algorithm.patch | 16 +- .../0346-BlockDestroyEvent.patch | 8 +- ...-Optimize-Captured-TileEntity-Lookup.patch | 8 +- .../0367-Add-Heightmap-API.patch | 10 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 8 +- ...x-some-generation-concurrency-issues.patch | 12 +- Spigot-Server-Patches/0388-Anti-Xray.patch | 12 +- ...95-Asynchronous-chunk-IO-and-loading.patch | 8 +- ...etChunkIfLoadedImmediately-in-places.patch | 16 +- .../0397-Reduce-sync-loads.patch | 12 +- ...hanging-entities-that-are-not-ItemFr.patch | 8 +- .../0414-PlayerLaunchProjectileEvent.patch | 43 ++-- .../0434-Seed-based-feature-search.patch | 16 +- ...-getChunkAt-calls-for-loaded-chunks.patch} | 8 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 74 files changed, 596 insertions(+), 597 deletions(-) rename Spigot-Server-Patches/{0435-Optimise-getChunkAt-calls-for-loaded-chunks.patch => 0436-Optimise-getChunkAt-calls-for-loaded-chunks.patch} (95%) diff --git a/Spigot-API-Patches/0004-Timings-v2.patch b/Spigot-API-Patches/0004-Timings-v2.patch index ed5ce2d7c..fba527b2b 100644 --- a/Spigot-API-Patches/0004-Timings-v2.patch +++ b/Spigot-API-Patches/0004-Timings-v2.patch @@ -1,4 +1,4 @@ -From f6e991d49e6476fb94781ddaa0ec805bdd354243 Mon Sep 17 00:00:00 2001 +From 060742f1c76bdb9323a7208250965788502ad043 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 18:48:17 -0600 Subject: [PATCH] Timings v2 @@ -3139,7 +3139,7 @@ index 00000000..5989ee21 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0822b8e5..940c643d 100644 +index bbc68de0..a85b8b86 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,11 +3151,11 @@ index 0822b8e5..940c643d 100644 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 11c5c205..c197e381 100644 +index 042db4f5..f4f0f3da 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 { - throw new UnsupportedOperationException( "Not supported yet." ); +@@ -1248,6 +1248,26 @@ public interface Server extends PluginMessageRecipient { + throw new UnsupportedOperationException("Not supported yet."); } + // Paper start @@ -3456,10 +3456,10 @@ index 81e4fa57..f020cb04 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 6023e4f6..00000000 +index 2a145d85..00000000 --- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java +++ /dev/null -@@ -1,253 +0,0 @@ +@@ -1,250 +0,0 @@ -package org.bukkit.command.defaults; - -import com.google.common.collect.ImmutableList; @@ -3506,26 +3506,23 @@ index 6023e4f6..00000000 - - // Spigot start - redesigned Timings Command - public void executeSpigotTimings(@NotNull CommandSender sender, @NotNull String[] args) { -- if ( "on".equals( args[0] ) ) -- { -- ( (SimplePluginManager) Bukkit.getPluginManager() ).useTimings( true ); +- if ("on".equals(args[0])) { +- ((SimplePluginManager) Bukkit.getPluginManager()).useTimings(true); - CustomTimingsHandler.reload(); -- sender.sendMessage( "Enabled Timings & Reset" ); +- sender.sendMessage("Enabled Timings & Reset"); - return; -- } else if ( "off".equals( args[0] ) ) -- { -- ( (SimplePluginManager) Bukkit.getPluginManager() ).useTimings( false ); -- sender.sendMessage( "Disabled Timings" ); +- } else if ("off".equals(args[0])) { +- ((SimplePluginManager) Bukkit.getPluginManager()).useTimings(false); +- sender.sendMessage("Disabled Timings"); - return; - } - -- if ( !Bukkit.getPluginManager().useTimings() ) -- { -- sender.sendMessage( "Please enable timings by typing /timings on" ); +- if (!Bukkit.getPluginManager().useTimings()) { +- sender.sendMessage("Please enable timings by typing /timings on"); - return; - } - -- boolean paste = "paste".equals( args[0] ); +- boolean paste = "paste".equals(args[0]); - if ("reset".equals(args[0])) { - CustomTimingsHandler.reload(); - sender.sendMessage("Timings reset"); @@ -3535,27 +3532,26 @@ index 6023e4f6..00000000 - File timingFolder = new File("timings"); - timingFolder.mkdirs(); - File timings = new File(timingFolder, "timings.txt"); -- ByteArrayOutputStream bout = ( paste ) ? new ByteArrayOutputStream() : null; +- ByteArrayOutputStream bout = (paste) ? new ByteArrayOutputStream() : null; - while (timings.exists()) timings = new File(timingFolder, "timings" + (++index) + ".txt"); - PrintStream fileTimings = null; - try { -- fileTimings = ( paste ) ? new PrintStream( bout ) : new PrintStream( timings ); +- fileTimings = (paste) ? new PrintStream(bout) : new PrintStream(timings); - - CustomTimingsHandler.printTimings(fileTimings); -- fileTimings.println( "Sample time " + sampleTime + " (" + sampleTime / 1E9 + "s)" ); +- fileTimings.println("Sample time " + sampleTime + " (" + sampleTime / 1E9 + "s)"); - -- fileTimings.println( "" ); -- fileTimings.println( Bukkit.spigot().getConfig().saveToString() ); -- fileTimings.println( "" ); +- fileTimings.println(""); +- fileTimings.println(Bukkit.spigot().getConfig().saveToString()); +- fileTimings.println(""); - -- if ( paste ) -- { -- new PasteThread( sender, bout ).start(); +- if (paste) { +- new PasteThread(sender, bout).start(); - return; - } - - sender.sendMessage("Timings written to " + timings.getPath()); -- sender.sendMessage( "Paste contents of file into form at http://www.spigotmc.org/go/timings to read results." ); +- sender.sendMessage("Paste contents of file into form at http://www.spigotmc.org/go/timings to read results."); - - } catch (IOException e) { - } finally { @@ -3570,11 +3566,16 @@ index 6023e4f6..00000000 - @Override - public boolean execute(@NotNull CommandSender sender, @NotNull String currentAlias, @NotNull String[] args) { - if (!testPermission(sender)) return true; -- if (args.length < 1) { // Spigot +- if (args.length < 1) { // Spigot - sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); - return false; - } -- if (true) { executeSpigotTimings(sender, args); return true; } // Spigot +- // Spigot start +- if (true) { +- executeSpigotTimings(sender, args); +- return true; +- } +- // Spigot end - if (!sender.getServer().getPluginManager().useTimings()) { - sender.sendMessage("Please enable timings by setting \"settings.plugin-profiling\" to true in bukkit.yml"); - return true; @@ -3613,8 +3614,9 @@ index 6023e4f6..00000000 - if (separate) { - fileNames.println(pluginIdx + " " + plugin.getDescription().getFullName()); - fileTimings.println("Plugin " + pluginIdx); +- } else { +- fileTimings.println(plugin.getDescription().getFullName()); - } -- else fileTimings.println(plugin.getDescription().getFullName()); - for (RegisteredListener listener : HandlerList.getRegisteredListeners(plugin)) { - if (listener instanceof TimedRegisteredListener) { - TimedRegisteredListener trl = (TimedRegisteredListener) listener; @@ -3663,15 +3665,13 @@ index 6023e4f6..00000000 - } - - // Spigot start -- private static class PasteThread extends Thread -- { +- private static class PasteThread extends Thread { - - private final CommandSender sender; - private final ByteArrayOutputStream bout; - -- public PasteThread(@NotNull CommandSender sender, @NotNull ByteArrayOutputStream bout) -- { -- super( "Timings paste thread" ); +- public PasteThread(@NotNull CommandSender sender, @NotNull ByteArrayOutputStream bout) { +- super("Timings paste thread"); - this.sender = sender; - this.bout = bout; - } @@ -3686,38 +3686,35 @@ index 6023e4f6..00000000 - } - - @Override -- public void run() -- { -- try -- { -- HttpURLConnection con = (HttpURLConnection) new URL( "https://timings.spigotmc.org/paste" ).openConnection(); -- con.setDoOutput( true ); -- con.setRequestMethod( "POST" ); -- con.setInstanceFollowRedirects( false ); +- public void run() { +- try { +- HttpURLConnection con = (HttpURLConnection) new URL("https://timings.spigotmc.org/paste").openConnection(); +- con.setDoOutput(true); +- con.setRequestMethod("POST"); +- con.setInstanceFollowRedirects(false); - - OutputStream out = con.getOutputStream(); -- out.write( bout.toByteArray() ); +- out.write(bout.toByteArray()); - out.close(); - - com.google.gson.JsonObject location = new com.google.gson.Gson().fromJson(new java.io.InputStreamReader(con.getInputStream()), com.google.gson.JsonObject.class); - con.getInputStream().close(); - -- String pasteID = location.get( "key" ).getAsString(); -- sender.sendMessage( ChatColor.GREEN + "Timings results can be viewed at https://www.spigotmc.org/go/timings?url=" + pasteID ); -- } catch ( IOException ex ) -- { -- sender.sendMessage( ChatColor.RED + "Error pasting timings, check your console for more information" ); -- Bukkit.getServer().getLogger().log( Level.WARNING, "Could not paste timings", ex ); +- String pasteID = location.get("key").getAsString(); +- sender.sendMessage(ChatColor.GREEN + "Timings results can be viewed at https://www.spigotmc.org/go/timings?url=" + pasteID); +- } catch (IOException ex) { +- sender.sendMessage(ChatColor.RED + "Error pasting timings, check your console for more information"); +- Bukkit.getServer().getLogger().log(Level.WARNING, "Could not paste timings", ex); - } - } - } - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0052cc71..4d9ed678 100644 +index 9b0153f7..9d82a691 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1579,6 +1579,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1573,6 +1573,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } @@ -3730,10 +3727,10 @@ index 0052cc71..4d9ed678 100644 @NotNull diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 2dfb8529..53e5045f 100644 +index c4ef983e..3c5d8a0e 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -298,7 +298,6 @@ public final class SimplePluginManager implements PluginManager { +@@ -313,7 +313,6 @@ public final class SimplePluginManager implements PluginManager { } } @@ -3741,7 +3738,7 @@ index 2dfb8529..53e5045f 100644 return result.toArray(new Plugin[result.size()]); } -@@ -337,7 +336,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -352,7 +351,7 @@ public final class SimplePluginManager implements PluginManager { if (result != null) { plugins.add(result); @@ -3750,7 +3747,7 @@ index 2dfb8529..53e5045f 100644 } return result; -@@ -365,7 +364,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -380,7 +379,7 @@ public final class SimplePluginManager implements PluginManager { @Override @Nullable public synchronized Plugin getPlugin(@NotNull String name) { @@ -3759,7 +3756,7 @@ index 2dfb8529..53e5045f 100644 } @Override -@@ -586,7 +585,8 @@ public final class SimplePluginManager implements PluginManager { +@@ -602,7 +601,8 @@ public final class SimplePluginManager implements PluginManager { throw new IllegalPluginAccessException("Plugin attempted to register " + event + " while not enabled"); } @@ -3769,7 +3766,7 @@ index 2dfb8529..53e5045f 100644 getEventListeners(event).register(new TimedRegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); } else { getEventListeners(event).register(new RegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); -@@ -783,7 +783,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -806,7 +806,7 @@ public final class SimplePluginManager implements PluginManager { @Override public boolean useTimings() { @@ -3778,7 +3775,7 @@ index 2dfb8529..53e5045f 100644 } /** -@@ -792,6 +792,6 @@ public final class SimplePluginManager implements PluginManager { +@@ -815,6 +815,6 @@ public final class SimplePluginManager implements PluginManager { * @param use True if per event timing code should be used */ public void useTimings(boolean use) { @@ -3787,22 +3784,22 @@ index 2dfb8529..53e5045f 100644 } } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 1173e433..82e379d1 100644 +index df8a5dcb..50a51394 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 { - private final Pattern[] fileFilters = new Pattern[] { Pattern.compile("\\.jar$"), }; + private final Pattern[] fileFilters = new Pattern[]{Pattern.compile("\\.jar$")}; private final Map> classes = new ConcurrentHashMap>(); private final List loaders = new CopyOnWriteArrayList(); - public static final CustomTimingsHandler pluginParentTimer = new CustomTimingsHandler("** Plugins"); // Spigot /** * This class was not meant to be constructed explicitly -@@ -302,27 +301,21 @@ public final class JavaPluginLoader implements PluginLoader { +@@ -301,27 +300,21 @@ public final class JavaPluginLoader implements PluginLoader { } } -- final CustomTimingsHandler timings = new CustomTimingsHandler("Plugin: " + plugin.getDescription().getFullName() + " Event: " + listener.getClass().getName() + "::" + method.getName()+"("+eventClass.getSimpleName()+")", pluginParentTimer); // Spigot +- final CustomTimingsHandler timings = new CustomTimingsHandler("Plugin: " + plugin.getDescription().getFullName() + " Event: " + listener.getClass().getName() + "::" + method.getName() + "(" + eventClass.getSimpleName() + ")", pluginParentTimer); // Spigot - EventExecutor executor = new EventExecutor() { + EventExecutor executor = new co.aikar.timings.TimedEventExecutor(new EventExecutor() { // Paper @Override @@ -3830,10 +3827,10 @@ index 1173e433..82e379d1 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 a0551225..7133be0a 100644 +index 5830e8b9..36f542a8 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -@@ -25,7 +25,8 @@ import org.jetbrains.annotations.Nullable; +@@ -28,7 +28,8 @@ import org.jetbrains.annotations.Nullable; /** * A ClassLoader for plugins, to allow shared classes across multiple plugins */ @@ -3867,7 +3864,7 @@ index 5ca863b3..612958a3 100644 + +} diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java -index b71235f6..3cbe5c2b 100644 +index 44badfed..3cbe5c2b 100644 --- a/src/main/java/org/spigotmc/CustomTimingsHandler.java +++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java @@ -1,3 +1,26 @@ @@ -3897,7 +3894,7 @@ index b71235f6..3cbe5c2b 100644 package org.spigotmc; import java.io.PrintStream; -@@ -5,155 +28,84 @@ import java.util.Queue; +@@ -5,133 +28,84 @@ import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import org.bukkit.Bukkit; import org.bukkit.World; @@ -3923,14 +3920,8 @@ index b71235f6..3cbe5c2b 100644 + * @deprecated + * @see co.aikar.timings.Timings#of */ --public class CustomTimingsHandler --{ -+@Deprecated -+public final class CustomTimingsHandler { -+ private final Timing handler; -+ private static Boolean sunReflectAvailable; -+ private static Method getCallerClass; - +-public class CustomTimingsHandler { +- - private static Queue HANDLERS = new ConcurrentLinkedQueue(); - /*========================================================================*/ - private final String name; @@ -3941,21 +3932,23 @@ index b71235f6..3cbe5c2b 100644 - private long totalTime = 0; - private long curTickTotal = 0; - private long violations = 0; -+ public CustomTimingsHandler(@NotNull String name) { ++@Deprecated ++public final class CustomTimingsHandler { ++ private final Timing handler; ++ private static Boolean sunReflectAvailable; ++ private static Method getCallerClass; + + public CustomTimingsHandler(@NotNull String name) { +- this(name, null); +- } + if (sunReflectAvailable == null) { + String javaVer = System.getProperty("java.version"); + String[] elements = javaVer.split("\\."); -- public CustomTimingsHandler(@NotNull String name) -- { -- this( name, null ); -- } -- -- public CustomTimingsHandler(@NotNull String name, @Nullable CustomTimingsHandler parent) -- { +- public CustomTimingsHandler(@NotNull String name, @Nullable CustomTimingsHandler parent) { - this.name = name; - this.parent = parent; -- HANDLERS.add( this ); +- HANDLERS.add(this); - } + int major = Integer.parseInt(elements.length >= 2 ? elements[1] : javaVer); + if (major <= 8) { @@ -3966,15 +3959,12 @@ index b71235f6..3cbe5c2b 100644 - * - * @param printStream output stream - */ -- public static void printTimings(@NotNull PrintStream printStream) -- { -- printStream.println( "Minecraft" ); -- for ( CustomTimingsHandler timings : HANDLERS ) -- { +- public static void printTimings(@NotNull PrintStream printStream) { +- printStream.println("Minecraft"); +- for (CustomTimingsHandler timings : HANDLERS) { - long time = timings.totalTime; - long count = timings.count; -- if ( count == 0 ) -- { +- if (count == 0) { - continue; + try { + Class reflection = Class.forName("sun.reflect.Reflection"); @@ -3986,29 +3976,25 @@ index b71235f6..3cbe5c2b 100644 } - long avg = time / count; - -- printStream.println( " " + timings.name + " Time: " + time + " Count: " + count + " Avg: " + avg + " Violations: " + timings.violations ); +- printStream.println(" " + timings.name + " Time: " + time + " Count: " + count + " Avg: " + avg + " Violations: " + timings.violations); - } -- printStream.println( "# Version " + Bukkit.getVersion() ); +- printStream.println("# Version " + Bukkit.getVersion()); - int entities = 0; - int livingEntities = 0; -- for ( World world : Bukkit.getWorlds() ) -- { +- for (World world : Bukkit.getWorlds()) { - entities += world.getEntities().size(); - livingEntities += world.getLivingEntities().size(); } -- printStream.println( "# Entities " + entities ); -- printStream.println( "# LivingEntities " + livingEntities ); +- printStream.println("# Entities " + entities); +- printStream.println("# LivingEntities " + livingEntities); - } - /** - * Resets all timings. - */ -- public static void reload() -- { -- if ( Bukkit.getPluginManager().useTimings() ) -- { -- for ( CustomTimingsHandler timings : HANDLERS ) -- { +- public static void reload() { +- if (Bukkit.getPluginManager().useTimings()) { +- for (CustomTimingsHandler timings : HANDLERS) { - timings.reset(); + Class calling = null; + if (sunReflectAvailable) { @@ -4024,15 +4010,11 @@ index b71235f6..3cbe5c2b 100644 - * Ticked every tick by CraftBukkit to count the number of times a timer - * caused TPS loss. - */ -- public static void tick() -- { -- if ( Bukkit.getPluginManager().useTimings() ) -- { -- for ( CustomTimingsHandler timings : HANDLERS ) -- { -- if ( timings.curTickTotal > 50000000 ) -- { -- timings.violations += Math.ceil( timings.curTickTotal / 50000000 ); +- public static void tick() { +- if (Bukkit.getPluginManager().useTimings()) { +- for (CustomTimingsHandler timings : HANDLERS) { +- if (timings.curTickTotal > 50000000) { +- timings.violations += Math.ceil(timings.curTickTotal / 50000000); - } - timings.curTickTotal = 0; - timings.timingDepth = 0; // incase reset messes this up @@ -4044,14 +4026,11 @@ index b71235f6..3cbe5c2b 100644 - /** - * Starts timing to track a section of code. - */ -- public void startTiming() -- { +- public void startTiming() { - // If second condtion fails we are already timing -- if ( Bukkit.getPluginManager().useTimings() && ++timingDepth == 1 ) -- { +- if (Bukkit.getPluginManager().useTimings() && ++timingDepth == 1) { - start = System.nanoTime(); -- if ( parent != null && ++parent.timingDepth == 1 ) -- { +- if (parent != null && ++parent.timingDepth == 1) { - parent.start = start; - } - } @@ -4064,12 +4043,9 @@ index b71235f6..3cbe5c2b 100644 - /** - * Stops timing a section of code. - */ -- public void stopTiming() -- { -- if ( Bukkit.getPluginManager().useTimings() ) -- { -- if ( --timingDepth != 0 || start == 0 ) -- { +- public void stopTiming() { +- if (Bukkit.getPluginManager().useTimings()) { +- if (--timingDepth != 0 || start == 0) { - return; - } - long diff = System.nanoTime() - start; @@ -4077,8 +4053,7 @@ index b71235f6..3cbe5c2b 100644 - curTickTotal += diff; - count++; - start = 0; -- if ( parent != null ) -- { +- if (parent != null) { - parent.stopTiming(); + new AuthorNagException("Deprecated use of CustomTimingsHandler. Please Switch to Timings.of ASAP").printStackTrace(); + if (plugin != null) { @@ -4100,8 +4075,7 @@ index b71235f6..3cbe5c2b 100644 - /** - * Reset this timer, setting all values to zero. - */ -- public void reset() -- { +- public void reset() { - count = 0; - violations = 0; - curTickTotal = 0; @@ -4114,5 +4088,5 @@ index b71235f6..3cbe5c2b 100644 + } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0007-Entity-Origin-API.patch b/Spigot-API-Patches/0007-Entity-Origin-API.patch index ba1ede1d7..7a492d159 100644 --- a/Spigot-API-Patches/0007-Entity-Origin-API.patch +++ b/Spigot-API-Patches/0007-Entity-Origin-API.patch @@ -1,14 +1,14 @@ -From 7b2e3ac64e82aa6b5d59c0e89989b8a21cf767e2 Mon Sep 17 00:00:00 2001 +From 827f8b1953bf6c84be103bcebd58f25914563b5d Mon Sep 17 00:00:00 2001 From: Byteflux Date: Mon, 29 Feb 2016 17:50:31 -0600 Subject: [PATCH] Entity Origin API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index d708d62b..8cfcc3a5 100644 +index 6b550dda..4e4445d1 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -599,4 +599,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -598,4 +598,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @Override Spigot spigot(); // Spigot end @@ -66,5 +66,5 @@ index 5a878932..3022b4a2 100644 + } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch b/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch index c9553109d..d6ae4c820 100644 --- a/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch +++ b/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch @@ -1,14 +1,14 @@ -From e1e9d92d79906e193a159ecad87a1f2afd8ff06c Mon Sep 17 00:00:00 2001 +From 2987610783b80ca353e9c6a6e4e463114c9d85ee Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 19:45:21 -0600 Subject: [PATCH] Automatically disable plugins that fail to load diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 82e379d1..12601db6 100644 +index 50a51394..5cc37eee 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -@@ -345,6 +345,10 @@ public final class JavaPluginLoader implements PluginLoader { +@@ -344,6 +344,10 @@ public final class JavaPluginLoader implements PluginLoader { jPlugin.setEnabled(true); } catch (Throwable ex) { server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex); @@ -20,5 +20,5 @@ index 82e379d1..12601db6 100644 // Perhaps abort here, rather than continue going, but as it stands, -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0014-Expose-server-CommandMap.patch b/Spigot-API-Patches/0014-Expose-server-CommandMap.patch index a2d69b2f6..a8291c2d7 100644 --- a/Spigot-API-Patches/0014-Expose-server-CommandMap.patch +++ b/Spigot-API-Patches/0014-Expose-server-CommandMap.patch @@ -1,11 +1,11 @@ -From d411f2a704717d2fbb816b27fe96f7632abf64a3 Mon Sep 17 00:00:00 2001 +From 7664bee9fabc104e5e97b7122e1e60bd112e747b Mon Sep 17 00:00:00 2001 From: kashike Date: Mon, 29 Feb 2016 19:48:59 -0600 Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 9f87f333..63e48ef3 100644 +index f712d27b..487ecdad 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1485,6 +1485,19 @@ public final class Bukkit { @@ -26,10 +26,10 @@ index 9f87f333..63e48ef3 100644 + // Paper end + @NotNull - public static Server.Spigot spigot() - { + public static Server.Spigot spigot() { + return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e1dfa92a..87300a5d 100644 +index be17dcc6..425d8781 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1106,6 +1106,15 @@ public interface Server extends PluginMessageRecipient { @@ -49,5 +49,5 @@ index e1dfa92a..87300a5d 100644 * Get the advancement specified by this key. * -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch b/Spigot-API-Patches/0017-Add-exception-reporting-event.patch index b1868f3ce..0e2f905a8 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 a838f3134bc88bddefc502559b123c6ce1e39bab Mon Sep 17 00:00:00 2001 +From f29af31242cefc4315ca2a927877402fdb573e7b 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 @@ -506,10 +506,10 @@ index f020cb04..adfc7aae 100644 } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 53e5045f..9a09b4d2 100644 +index 3c5d8a0e..861d808c 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; +@@ -23,6 +23,10 @@ import java.util.WeakHashMap; import java.util.logging.Level; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -520,7 +520,7 @@ index 53e5045f..9a09b4d2 100644 import org.apache.commons.lang.Validate; import org.bukkit.Server; import org.bukkit.World; -@@ -415,7 +419,8 @@ public final class SimplePluginManager implements PluginManager { +@@ -430,7 +434,8 @@ public final class SimplePluginManager implements PluginManager { try { plugin.getPluginLoader().enablePlugin(plugin); } catch (Throwable ex) { @@ -530,7 +530,7 @@ index 53e5045f..9a09b4d2 100644 } HandlerList.bakeAll(); -@@ -436,32 +441,37 @@ public final class SimplePluginManager implements PluginManager { +@@ -451,32 +456,37 @@ public final class SimplePluginManager implements PluginManager { try { plugin.getPluginLoader().disablePlugin(plugin); } catch (Throwable ex) { @@ -573,7 +573,7 @@ index 53e5045f..9a09b4d2 100644 } try { -@@ -474,6 +484,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -489,6 +499,13 @@ public final class SimplePluginManager implements PluginManager { } } @@ -587,7 +587,7 @@ index 53e5045f..9a09b4d2 100644 @Override public void clearPlugins() { synchronized (this) { -@@ -540,7 +557,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -556,7 +573,13 @@ public final class SimplePluginManager implements PluginManager { )); } } catch (Throwable ex) { @@ -603,5 +603,5 @@ index 53e5045f..9a09b4d2 100644 } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch b/Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch index f8deb9232..1076002dc 100644 --- a/Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch +++ b/Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch @@ -1,14 +1,14 @@ -From 8ecc2f468db20ab448dffd9684f101f3c2e3fa83 Mon Sep 17 00:00:00 2001 +From 049f07e456fd74dff34a47eef4ffaa10706c8dbf Mon Sep 17 00:00:00 2001 From: kashike Date: Tue, 8 Mar 2016 13:05:59 -0800 Subject: [PATCH] Add BaseComponent sendMessage methods to CommandSender diff --git a/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java -index 74816c63..be11d52a 100644 +index a9020ecc..d3b3a8bf 100644 --- a/src/main/java/org/bukkit/command/CommandSender.java +++ b/src/main/java/org/bukkit/command/CommandSender.java -@@ -62,4 +62,30 @@ public interface CommandSender extends Permissible { +@@ -61,4 +61,30 @@ public interface CommandSender extends Permissible { @NotNull Spigot spigot(); // Spigot end @@ -40,5 +40,5 @@ index 74816c63..be11d52a 100644 + // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0021-Complete-resource-pack-API.patch b/Spigot-API-Patches/0021-Complete-resource-pack-API.patch index dc26067ad..5600b7e42 100644 --- a/Spigot-API-Patches/0021-Complete-resource-pack-API.patch +++ b/Spigot-API-Patches/0021-Complete-resource-pack-API.patch @@ -1,11 +1,11 @@ -From 984cee00d239d54cbff29eb607aee7ec665bc07e Mon Sep 17 00:00:00 2001 +From f2621f0d4acb9489a76dea81ddf20287d8351561 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 4 Apr 2015 22:59:54 -0400 Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 2017a51d..307e5568 100644 +index f0f02c32..943e6a64 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -1225,7 +1225,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -79,8 +79,8 @@ index 2017a51d..307e5568 100644 + // Paper end + // Spigot start - public class Spigot extends Entity.Spigot - { + public class Spigot extends Entity.Spigot { + diff --git a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java index b9819565..4c2102a1 100644 --- a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java @@ -119,5 +119,5 @@ index b9819565..4c2102a1 100644 * Gets the status of this pack. * -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch index 259efe87e..fb089591a 100644 --- a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch +++ b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch @@ -1,4 +1,4 @@ -From d3d0edba86d8318435145cb01dc7e8a9c7900d1a Mon Sep 17 00:00:00 2001 +From 756aea639de4f25d902ce0c2fc794d3d4d1265d3 Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 3 Mar 2016 13:20:33 -0700 Subject: [PATCH] Use ASM for event executors. @@ -412,10 +412,10 @@ index a850f078..9026e108 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 12601db6..06b6724f 100644 +index 5cc37eee..e72cbde4 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -@@ -301,21 +301,7 @@ public final class JavaPluginLoader implements PluginLoader { +@@ -300,21 +300,7 @@ public final class JavaPluginLoader implements PluginLoader { } } @@ -439,5 +439,5 @@ index 12601db6..06b6724f 100644 eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled())); } else { -- -2.25.0.windows.1 +2.25.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 8ea49dd85..7f1e3496c 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 5b3f635c4a9f2014dfd33488958413331194b9f8 Mon Sep 17 00:00:00 2001 +From b3b57a6566f5e8177cbbb4ee15fd5898a05feb42 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 b92304e9..a3682b29 100644 +index f152a60f..58a183b9 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,10 +24,10 @@ index b92304e9..a3682b29 100644 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d35d2def..18faba0e 100644 +index 74f9d2bb..ca0b63fa 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 { +@@ -1336,4 +1336,6 @@ public interface Server extends PluginMessageRecipient { @NotNull Spigot spigot(); // Spigot end @@ -85,10 +85,10 @@ index 50cc311b..c62da413 100644 } } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 9a09b4d2..c7388d51 100644 +index 861d808c..1c355a75 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -817,4 +817,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -840,4 +840,13 @@ public final class SimplePluginManager implements PluginManager { public void useTimings(boolean use) { co.aikar.timings.Timings.setTimingsEnabled(use); // Paper } @@ -103,5 +103,5 @@ index 9a09b4d2..c7388d51 100644 + } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch b/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch index f3b9246b1..8cff9aaac 100644 --- a/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From e947d31d9b14ec3f5e6ec961737a801429728238 Mon Sep 17 00:00:00 2001 +From 716d04a625ad53d7c23629e6b0d9e169fcc3878e Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:16:39 -0500 Subject: [PATCH] Allow Reloading of Command Aliases @@ -6,7 +6,7 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a3682b29..a0a8b540 100644 +index 58a183b9..a8fe9925 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1523,6 +1523,15 @@ public final class Bukkit { @@ -26,10 +26,10 @@ index a3682b29..a0a8b540 100644 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 18faba0e..d20e044d 100644 +index ca0b63fa..9e59c9bf 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1340,4 +1340,6 @@ public interface Server extends PluginMessageRecipient { +@@ -1338,4 +1338,6 @@ public interface Server extends PluginMessageRecipient { // Spigot end void reloadPermissions(); // Paper @@ -99,5 +99,5 @@ index c62da413..af8ab73f 100644 confirmed = true; } else { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch b/Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch index 12cb7f4c2..ff6b5d2c2 100644 --- a/Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch +++ b/Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch @@ -1,11 +1,11 @@ -From 5494d9b77576cb7705c385f9ce247ff1772fda1a Mon Sep 17 00:00:00 2001 +From 6e5d036ae3b3f7115a03dba6e5cb6350a87c49d3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:55:55 -0500 Subject: [PATCH] Add String based Action Bar API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 307e5568..85a5637f 100644 +index 943e6a64..58a6795d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -444,6 +444,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -47,7 +47,7 @@ index 307e5568..85a5637f 100644 public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } -@@ -1794,9 +1816,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1788,9 +1810,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends the component to the specified screen position of this player * @@ -59,7 +59,7 @@ index 307e5568..85a5637f 100644 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1804,9 +1828,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1798,9 +1822,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * @@ -72,5 +72,5 @@ index 307e5568..85a5637f 100644 throw new UnsupportedOperationException("Not supported yet."); } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch index 7919fe745..a395087c1 100644 --- a/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From 151c09ccc86062ae1d57ba7de2f37e27389888d3 Mon Sep 17 00:00:00 2001 +From a8e01b9271318336993e03ebd734cf22ec5472a6 Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:24 -0700 Subject: [PATCH] Add configuration option to prevent player names from being @@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a0a8b540..b5b77b2d 100644 +index a8fe9925..b4fef76b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1532,6 +1532,16 @@ public final class Bukkit { @@ -27,10 +27,10 @@ index a0a8b540..b5b77b2d 100644 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d20e044d..103897fb 100644 +index 9e59c9bf..c108478a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1342,4 +1342,14 @@ public interface Server extends PluginMessageRecipient { +@@ -1340,4 +1340,14 @@ public interface Server extends PluginMessageRecipient { void reloadPermissions(); // Paper boolean reloadCommandAliases(); // Paper @@ -58,5 +58,5 @@ index 7f153000..1e126487 100644 } return completions; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch b/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch index a65d51792..942085f69 100644 --- a/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch +++ b/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 10fb919b099319913ad3b39f2ae5b3533fb0273a Mon Sep 17 00:00:00 2001 +From 9cf9ffe4e56840183e198f65002c4d260a422437 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 21:46:46 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -235,7 +235,7 @@ index 00000000..7b3b6ef5 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b5b77b2d..161a714e 100644 +index b4fef76b..c3bcc653 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1542,6 +1542,40 @@ public final class Bukkit { @@ -280,10 +280,10 @@ index b5b77b2d..161a714e 100644 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 103897fb..463724e4 100644 +index c108478a..48d8c967 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1351,5 +1351,33 @@ public interface Server extends PluginMessageRecipient { +@@ -1349,5 +1349,33 @@ public interface Server extends PluginMessageRecipient { * @return true if player names should be suggested */ boolean suggestPlayerNamesWhenNullTabCompletions(); @@ -318,5 +318,5 @@ index 103897fb..463724e4 100644 // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0059-Entity-fromMobSpawner.patch b/Spigot-API-Patches/0059-Entity-fromMobSpawner.patch index 1c931b815..3daf06a90 100644 --- a/Spigot-API-Patches/0059-Entity-fromMobSpawner.patch +++ b/Spigot-API-Patches/0059-Entity-fromMobSpawner.patch @@ -1,14 +1,14 @@ -From 3508113428e6d92f80a705827efc4290fb961602 Mon Sep 17 00:00:00 2001 +From 5c5b505bed7e25ccca0603f053eb434501af7f47 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 8cfcc3a5..bd8507f6 100644 +index 4e4445d1..e2952209 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -610,5 +610,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -609,5 +609,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ @Nullable Location getOrigin(); @@ -22,5 +22,5 @@ index 8cfcc3a5..bd8507f6 100644 // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch b/Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch index e2d50a448..e6318ccea 100644 --- a/Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch +++ b/Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch @@ -1,4 +1,4 @@ -From d5c1e782cc2702e6378bd565345ed520567c6ce2 Mon Sep 17 00:00:00 2001 +From c8c8741ee68669f675d4cb4dc5abc430d289bcf1 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 19:41:20 +0200 Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin @@ -87,18 +87,18 @@ index bb2e55e9..04fa3991 100644 /** diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index 7133be0a..9924780d 100644 +index 36f542a8..3a02dbe9 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -@@ -38,6 +38,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot - final JavaPlugin plugin; +@@ -42,6 +42,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot private JavaPlugin pluginInit; private IllegalStateException pluginState; + private final Set seenIllegalAccess = Collections.newSetFromMap(new ConcurrentHashMap<>()); + private java.util.logging.Logger logger; // Paper - add field static { ClassLoader.registerAsParallelCapable(); -@@ -55,6 +56,8 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot +@@ -59,6 +60,8 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot this.manifest = jar.getManifest(); this.url = file.toURI().toURL(); @@ -107,7 +107,7 @@ index 7133be0a..9924780d 100644 try { Class jarClass; try { -@@ -182,6 +185,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot +@@ -203,6 +206,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot pluginState = new IllegalStateException("Initial initialization"); this.pluginInit = javaPlugin; @@ -116,5 +116,5 @@ index 7133be0a..9924780d 100644 } } -- -2.25.0.windows.1 +2.25.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 7796f7ab8..4c07f0b7c 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 bc1c2155484fd5942bac31d5c13cd77777245af1 Mon Sep 17 00:00:00 2001 +From 9e0104613a45d118b2cfb5f2d3440b4767bc3f0f 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 @@ -53,10 +53,10 @@ index 41e26451..86cc5025 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 c7388d51..132c861c 100644 +index 1c355a75..7453230c 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -429,17 +429,28 @@ public final class SimplePluginManager implements PluginManager { +@@ -444,17 +444,28 @@ public final class SimplePluginManager implements PluginManager { @Override public void disablePlugins() { @@ -87,7 +87,7 @@ index c7388d51..132c861c 100644 } catch (Throwable ex) { handlePluginException("Error occurred (in the plugin loader) while disabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex, plugin); // Paper -@@ -494,7 +505,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -509,7 +520,7 @@ public final class SimplePluginManager implements PluginManager { @Override public void clearPlugins() { synchronized (this) { @@ -95,12 +95,12 @@ index c7388d51..132c861c 100644 + disablePlugins(true); // Paper - close Classloader on disable plugins.clear(); lookupNames.clear(); - HandlerList.unregisterAll(); + dependencyGraph = GraphBuilder.directed().build(); diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 06b6724f..bc7bf6a3 100644 +index e72cbde4..32ec68b4 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 { +@@ -331,7 +331,7 @@ public final class JavaPluginLoader implements PluginLoader { } catch (Throwable ex) { server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex); // Paper start - Disable plugins that fail to load @@ -109,7 +109,7 @@ index 06b6724f..bc7bf6a3 100644 return; // Paper end } -@@ -345,6 +345,12 @@ public final class JavaPluginLoader implements PluginLoader { +@@ -344,6 +344,12 @@ public final class JavaPluginLoader implements PluginLoader { @Override public void disablePlugin(@NotNull Plugin plugin) { @@ -122,7 +122,7 @@ index 06b6724f..bc7bf6a3 100644 Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader"); if (plugin.isEnabled()) { -@@ -371,6 +377,16 @@ public final class JavaPluginLoader implements PluginLoader { +@@ -370,6 +376,16 @@ public final class JavaPluginLoader implements PluginLoader { for (String name : names) { removeClass(name); } @@ -140,5 +140,5 @@ index 06b6724f..bc7bf6a3 100644 } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0118-Entity-getChunk-API.patch b/Spigot-API-Patches/0118-Entity-getChunk-API.patch index 2a52d50a1..bbb63fd2e 100644 --- a/Spigot-API-Patches/0118-Entity-getChunk-API.patch +++ b/Spigot-API-Patches/0118-Entity-getChunk-API.patch @@ -1,4 +1,4 @@ -From 62b86fe6a124b31a9f3b3fdb75f33f77d65d2123 Mon Sep 17 00:00:00 2001 +From efac18b9f2572a808c18cd111e0468d9a3e4be52 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:25:48 -0400 Subject: [PATCH] Entity#getChunk API @@ -6,7 +6,7 @@ Subject: [PATCH] Entity#getChunk API Get the chunk the entity is currently registered to diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index bd8507f6..79b94800 100644 +index e2952209..a8dbf282 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -3,6 +3,7 @@ package org.bukkit.entity; @@ -17,7 +17,7 @@ index bd8507f6..79b94800 100644 import org.bukkit.EntityEffect; import org.bukkit.Location; import org.bukkit.Nameable; -@@ -617,5 +618,13 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -616,5 +617,13 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if entity spawned from a mob spawner */ boolean fromMobSpawner(); @@ -32,5 +32,5 @@ index bd8507f6..79b94800 100644 // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0119-Add-an-asterisk-to-legacy-API-plugins.patch b/Spigot-API-Patches/0119-Add-an-asterisk-to-legacy-API-plugins.patch index 8acbf2d46..f5f00d64c 100644 --- a/Spigot-API-Patches/0119-Add-an-asterisk-to-legacy-API-plugins.patch +++ b/Spigot-API-Patches/0119-Add-an-asterisk-to-legacy-API-plugins.patch @@ -1,4 +1,4 @@ -From 813ce8218fdf13b0b06e2524ce7fb885b1d2de28 Mon Sep 17 00:00:00 2001 +From 877ce2e74abfa464cdf8952f5c8ec5dd18d779da Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 19 Jul 2018 22:07:02 +0200 Subject: [PATCH] Add an asterisk to legacy API plugins @@ -43,10 +43,10 @@ index d4e74d29..6cfd9f3c 100644 StringBuilder pluginList = new StringBuilder(); diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index bc7bf6a3..31a70b29 100644 +index 32ec68b4..8ff228ce 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -@@ -316,7 +316,14 @@ public final class JavaPluginLoader implements PluginLoader { +@@ -315,7 +315,14 @@ public final class JavaPluginLoader implements PluginLoader { Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader"); if (!plugin.isEnabled()) { @@ -63,5 +63,5 @@ index bc7bf6a3..31a70b29 100644 JavaPlugin jPlugin = (JavaPlugin) plugin; -- -2.25.0.windows.1 +2.25.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 5402649c6..97515d462 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 1977dda6546322ca3782b8ae3a4951690d74c696 Mon Sep 17 00:00:00 2001 +From e7fbc30984f676f22c203d4a1eff91ae30f9e9dc 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 79b94800..04365232 100644 +index a8dbf282..b4069dbf 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 79b94800..04365232 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 132c861c..d0e735bc 100644 +index 7453230c..634e51d5 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -399,7 +399,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -414,7 +414,7 @@ public final class SimplePluginManager implements PluginManager { * @return true if the plugin is enabled, otherwise false */ @Override @@ -41,7 +41,7 @@ index 132c861c..d0e735bc 100644 if ((plugin != null) && (plugins.contains(plugin))) { return plugin.isEnabled(); } else { -@@ -408,7 +408,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -423,7 +423,7 @@ public final class SimplePluginManager implements PluginManager { } @Override @@ -50,7 +50,7 @@ index 132c861c..d0e735bc 100644 if (!plugin.isEnabled()) { List pluginCommands = PluginCommandYamlParser.parse(plugin); -@@ -446,7 +446,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -461,7 +461,7 @@ public final class SimplePluginManager implements PluginManager { } @Override @@ -59,7 +59,7 @@ index 132c861c..d0e735bc 100644 // Paper end - close Classloader on disable if (plugin.isEnabled()) { try { -@@ -515,6 +515,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -531,6 +531,7 @@ public final class SimplePluginManager implements PluginManager { defaultPerms.get(false).clear(); } } @@ -67,7 +67,7 @@ index 132c861c..d0e735bc 100644 /** * Calls an event with the given details. -@@ -525,25 +526,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -541,25 +542,13 @@ public final class SimplePluginManager implements PluginManager { */ @Override public void callEvent(@NotNull Event event) { @@ -99,7 +99,7 @@ index 132c861c..d0e735bc 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 17dbe913..bae26ce7 100644 +index f188cd4f..1941c9f4 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 { @@ -128,7 +128,7 @@ index 17dbe913..bae26ce7 100644 @Test public void testAsyncLocked() throws InterruptedException { final Event event = new TestEvent(true); -@@ -127,7 +127,7 @@ public class PluginManagerTest { +@@ -129,7 +129,7 @@ public class PluginManagerTest { if (store.value == null) { throw new IllegalStateException("No exception thrown"); } @@ -138,5 +138,5 @@ index 17dbe913..bae26ce7 100644 @Test public void testRemovePermissionByNameLower() { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0164-Make-the-default-permission-message-configurable.patch b/Spigot-API-Patches/0164-Make-the-default-permission-message-configurable.patch index 04151e0cd..b21d9a2ee 100644 --- a/Spigot-API-Patches/0164-Make-the-default-permission-message-configurable.patch +++ b/Spigot-API-Patches/0164-Make-the-default-permission-message-configurable.patch @@ -1,11 +1,11 @@ -From cee1e4c0473f12e2dc86ddefed433fb92443be5c Mon Sep 17 00:00:00 2001 +From eb23a61d24f7150eb24130ce0ac936cb7fd8d93f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 18 Nov 2018 19:44:54 +0000 Subject: [PATCH] Make the default permission message configurable diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0c519c41..2148a3c2 100644 +index d1ac7856..ee03abae 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1557,6 +1557,15 @@ public final class Bukkit { @@ -25,10 +25,10 @@ index 0c519c41..2148a3c2 100644 * Creates a PlayerProfile for the specified uuid, with name as null * @param uuid UUID to create profile for diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 8a76df52..1cbb9bc6 100644 +index 409c1624..e9e64060 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1364,6 +1364,13 @@ public interface Server extends PluginMessageRecipient { +@@ -1362,6 +1362,13 @@ public interface Server extends PluginMessageRecipient { */ boolean suggestPlayerNamesWhenNullTabCompletions(); @@ -56,5 +56,5 @@ index 03bdc162..0b0d1bd7 100644 for (String line : permissionMessage.replace("", permission).split("\n")) { target.sendMessage(line); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0165-Support-cancellation-supression-of-EntityDismount-Ve.patch b/Spigot-API-Patches/0165-Support-cancellation-supression-of-EntityDismount-Ve.patch index 1cbb02039..58a266ebc 100644 --- a/Spigot-API-Patches/0165-Support-cancellation-supression-of-EntityDismount-Ve.patch +++ b/Spigot-API-Patches/0165-Support-cancellation-supression-of-EntityDismount-Ve.patch @@ -1,4 +1,4 @@ -From da96969afee7a4b6c69ae1020f4cb5992c95604e Mon Sep 17 00:00:00 2001 +From 92e375b0ae0fbb4d606b7fee7132b646f824c52d Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 18 Nov 2018 15:53:43 +0000 Subject: [PATCH] Support cancellation supression of EntityDismount/VehicleExit @@ -64,34 +64,34 @@ index 963b9ead..a976c32d 100644 @Override public HandlerList getHandlers() { diff --git a/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java b/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java -index a473b2c6..a5b4aed5 100644 +index 00d8ec81..a7632c8f 100644 --- a/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java +++ b/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java -@@ -16,11 +16,20 @@ public class EntityDismountEvent extends EntityEvent implements Cancellable +@@ -14,10 +14,19 @@ public class EntityDismountEvent extends EntityEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean cancelled; private final Entity dismounted; + private final boolean isCancellable; // Paper - public EntityDismountEvent(@NotNull Entity what, @NotNull Entity dismounted) - { + public EntityDismountEvent(@NotNull Entity what, @NotNull Entity dismounted) { +- super(what); + // Paper start + this(what, dismounted, true); + } + -+ public EntityDismountEvent(@NotNull Entity what, @NotNull Entity dismounted, boolean isCancellable) -+ { ++ ++ public EntityDismountEvent(@NotNull Entity what, @NotNull Entity dismounted, boolean isCancellable) { + // Paper end - super( what ); ++ super( what ); this.dismounted = dismounted; + this.isCancellable = isCancellable; // Paper } @NotNull -@@ -38,9 +47,18 @@ public class EntityDismountEvent extends EntityEvent implements Cancellable +@@ -32,9 +41,18 @@ public class EntityDismountEvent extends EntityEvent implements Cancellable { + @Override - public void setCancelled(boolean cancel) - { + public void setCancelled(boolean cancel) { + // Paper start + if (cancel && !isCancellable) { + return; @@ -106,7 +106,7 @@ index a473b2c6..a5b4aed5 100644 + @NotNull @Override - public HandlerList getHandlers() + public HandlerList getHandlers() { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0174-Entity-getEntitySpawnReason.patch b/Spigot-API-Patches/0174-Entity-getEntitySpawnReason.patch index 8cce30401..e293c60b8 100644 --- a/Spigot-API-Patches/0174-Entity-getEntitySpawnReason.patch +++ b/Spigot-API-Patches/0174-Entity-getEntitySpawnReason.patch @@ -1,4 +1,4 @@ -From 9ec32ef81405280984d6b00aecc95b492a2cc93e Mon Sep 17 00:00:00 2001 +From 42fc4b022ca608cf75b768be5569d073156087e0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 00:21:23 -0400 Subject: [PATCH] Entity#getEntitySpawnReason @@ -10,10 +10,10 @@ persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 83e02aea..60dbfab0 100644 +index 45e0dffe..5518ecd2 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -650,5 +650,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -649,5 +649,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ @NotNull Chunk getChunk(); @@ -26,5 +26,5 @@ index 83e02aea..60dbfab0 100644 // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-API-Patches/0187-Expose-the-internal-current-tick.patch b/Spigot-API-Patches/0187-Expose-the-internal-current-tick.patch index 03d3adf88..d035891a4 100644 --- a/Spigot-API-Patches/0187-Expose-the-internal-current-tick.patch +++ b/Spigot-API-Patches/0187-Expose-the-internal-current-tick.patch @@ -1,11 +1,11 @@ -From c50ead5ff128e961fe1f3b8e823a0f3a2036f08b Mon Sep 17 00:00:00 2001 +From 4684a91a8eb0975c778bf782b33c512fc9b8aeb9 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 20 Apr 2019 19:47:29 -0500 Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 6db69159..231bc6e3 100644 +index 570c5bc8..388c2bbf 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1599,6 +1599,10 @@ public final class Bukkit { @@ -20,10 +20,10 @@ index 6db69159..231bc6e3 100644 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 27d3b5ad..31470479 100644 +index 5e94b2b0..a1371730 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1398,5 +1398,12 @@ public interface Server extends PluginMessageRecipient { +@@ -1396,5 +1396,12 @@ public interface Server extends PluginMessageRecipient { */ @NotNull com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name); @@ -37,5 +37,5 @@ index 27d3b5ad..31470479 100644 // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index fb2aff993..6f902cce6 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -1,4 +1,4 @@ -From acebed7739beb3bd86a6a94278fca6a8ad6401bc Mon Sep 17 00:00:00 2001 +From 3ed4ec15e40b966cf7f295587891181cdc06efec Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:02:09 -0600 Subject: [PATCH] Paper config files @@ -6,7 +6,7 @@ Subject: [PATCH] Paper config files diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java new file mode 100644 -index 000000000..db899937b +index 0000000000..db899937be --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -0,0 +1,247 @@ @@ -259,7 +259,7 @@ index 000000000..db899937b +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java new file mode 100644 -index 000000000..273cdb598 +index 0000000000..273cdb598b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -0,0 +1,184 @@ @@ -449,7 +449,7 @@ index 000000000..273cdb598 +} diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java new file mode 100644 -index 000000000..a73865739 +index 0000000000..a738657394 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -0,0 +1,67 @@ @@ -521,10 +521,10 @@ index 000000000..a73865739 + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index ba24b738d..1cde6fc9c 100644 +index 136d1b50f1..9eed98e379 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -163,6 +163,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -170,6 +170,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer org.spigotmc.SpigotConfig.init((File) options.valueOf("spigot-settings")); org.spigotmc.SpigotConfig.registerCommands(); // Spigot end @@ -541,7 +541,7 @@ index ba24b738d..1cde6fc9c 100644 this.setSpawnAnimals(dedicatedserverproperties.spawnAnimals); this.setSpawnNPCs(dedicatedserverproperties.spawnNpcs); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4c802459d..c07284d35 100644 +index f14b37e51a..34cb00b0ba 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -135,9 +135,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { @@ -558,7 +558,7 @@ index 4c802459d..c07284d35 100644 public long aa; public long ab; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ddca89a13..f937b7294 100644 +index ddca89a132..f937b72945 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -581,10 +581,10 @@ index ddca89a13..f937b7294 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a1ee67b30..692f8e4b7 100644 +index cdd254a7e5..f0deeb3d28 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -85,6 +85,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -68,6 +68,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public boolean populating; public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot @@ -593,7 +593,7 @@ index a1ee67b30..692f8e4b7 100644 public final SpigotTimings.WorldTimingsHandler timings; // Spigot public static BlockPosition lastPhysicsProblem; // Spigot private org.spigotmc.TickLimiter entityLimiter; -@@ -105,6 +107,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -88,6 +90,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) { this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot @@ -602,7 +602,7 @@ index a1ee67b30..692f8e4b7 100644 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4243460e4..57ad50403 100644 +index 4243460e4d..57ad50403b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -757,6 +757,7 @@ public final class CraftServer implements Server { @@ -666,7 +666,7 @@ index 4243460e4..57ad50403 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 766e0f6b1..3a0c01852 100644 +index 766e0f6b1d..3a0c01852d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -129,6 +129,14 @@ public class Main { @@ -685,7 +685,7 @@ index 766e0f6b1..3a0c01852 100644 }; diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 34964d285..5686a4f1a 100644 +index 34964d2853..5686a4f1a0 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -39,36 +39,36 @@ public class SpigotWorldConfig @@ -732,5 +732,5 @@ index 34964d285..5686a4f1a 100644 config.addDefault( "world-settings.default." + path, def ); return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) ); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index b32312c00..cb282d5a0 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,4 +1,4 @@ -From 8e4c5038f8c176fa625f4b32082042fb790494c5 Mon Sep 17 00:00:00 2001 +From 49bcf6b220a0a6ab0d6a7fbbc54953b15e81a467 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils @@ -2236,7 +2236,7 @@ index ba315131e1..cbe2aa4c0a 100644 IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index b5d45b43ce..766b1fe13c 100644 +index 75308712d0..aa7501d366 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -37,10 +37,19 @@ import org.bukkit.event.world.StructureGrowEvent; @@ -3147,10 +3147,18 @@ index 7b92ecfff9..7e224ebeff 100644 public static long getTimeMillis() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 692f8e4b71..8fc88f162c 100644 +index f0deeb3d28..304dfac061 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -196,6 +196,40 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -22,6 +22,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot + import org.bukkit.craftbukkit.CraftServer; + import org.bukkit.craftbukkit.CraftWorld; + import org.bukkit.craftbukkit.block.CapturedBlockState; ++import org.bukkit.craftbukkit.block.CraftBlockState; + import org.bukkit.craftbukkit.block.data.CraftBlockData; + import org.bukkit.event.block.BlockPhysicsEvent; + // CraftBukkit end +@@ -179,6 +180,39 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return (Chunk) this.getChunkAt(i, j, ChunkStatus.FULL); } @@ -3165,10 +3173,9 @@ index 692f8e4b71..8fc88f162c 100644 + public IBlockData getTypeIfLoaded(BlockPosition blockposition) { + // CraftBukkit start - tree generation + if (captureTreeGeneration) { -+ for (CraftBlockState previous : capturedBlockStates) { -+ if (previous.getX() == blockposition.getX() && previous.getY() == blockposition.getY() && previous.getZ() == blockposition.getZ()) { -+ return previous.getHandle(); -+ } ++ CraftBlockState previous = capturedBlockStates.get(blockposition); ++ if (previous != null) { ++ return previous.getHandle(); + } + } + // CraftBukkit end @@ -3191,7 +3198,7 @@ index 692f8e4b71..8fc88f162c 100644 @Override public IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag) { IChunkAccess ichunkaccess = this.chunkProvider.getChunkAt(i, j, chunkstatus, flag); -@@ -357,8 +391,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -330,8 +364,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public void a(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) {} @@ -3276,5 +3283,5 @@ index 1aec70a1f1..f72c13beda 100644 private int initialCapacity; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 269c81a25..3a9a6708c 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 0bc5c16d73d2e593416aef85336d9d001a29c0e7 Mon Sep 17 00:00:00 2001 +From 58a9ac42261c7614a19aef2e5303912a59027b5d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -565,7 +565,7 @@ index ba40d5fbb5..ee42e1dfa4 100644 int k = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 1cde6fc9c1..e636433b11 100644 +index 9eed98e379..d6646d7e61 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -20,6 +20,8 @@ import java.util.List; @@ -586,7 +586,7 @@ index 1cde6fc9c1..e636433b11 100644 import org.bukkit.event.server.ServerCommandEvent; import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.server.RemoteServerCommandEvent; -@@ -431,7 +433,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -438,7 +440,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } public void handleCommandQueue() { @@ -595,7 +595,7 @@ index 1cde6fc9c1..e636433b11 100644 while (!this.serverCommandQueue.isEmpty()) { ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0); -@@ -446,7 +448,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -453,7 +455,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer // CraftBukkit end } @@ -604,7 +604,7 @@ index 1cde6fc9c1..e636433b11 100644 } @Override -@@ -672,6 +674,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -679,6 +681,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @Override public String executeRemoteCommand(String s) { @@ -612,7 +612,7 @@ index 1cde6fc9c1..e636433b11 100644 this.remoteControlCommandListener.clearMessages(); this.executeSync(() -> { // CraftBukkit start - fire RemoteServerCommandEvent -@@ -680,10 +683,39 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -687,10 +690,39 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer if (event.isCancelled()) { return; } @@ -653,7 +653,7 @@ index 1cde6fc9c1..e636433b11 100644 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3a969d92e0..2d8c37d73b 100644 +index 306724e693..5635192f7c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -1202,7 +1202,7 @@ index 820180ab3f..fa6400dccd 100644 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8fc88f162c..0087bd9b1c 100644 +index 304dfac061..da3eb20d45 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -1213,15 +1213,16 @@ index 8fc88f162c..0087bd9b1c 100644 import com.google.common.collect.Lists; import java.io.IOException; import java.util.Collection; -@@ -20,7 +22,6 @@ import java.util.ArrayList; +@@ -18,7 +20,7 @@ import org.apache.logging.log4j.util.Supplier; + import java.util.HashMap; import java.util.Map; import org.bukkit.Bukkit; - import org.bukkit.block.BlockState; -import org.bukkit.craftbukkit.SpigotTimings; // Spigot ++import org.bukkit.block.BlockState; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftWorld; - import org.bukkit.craftbukkit.block.CraftBlockState; -@@ -87,7 +88,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { + import org.bukkit.craftbukkit.block.CapturedBlockState; +@@ -71,7 +73,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper @@ -1230,7 +1231,7 @@ index 8fc88f162c..0087bd9b1c 100644 public static BlockPosition lastPhysicsProblem; // Spigot private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter tileLimiter; -@@ -150,7 +151,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -134,7 +136,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public void c(WorldBorder worldborder, double d0) {} }); // CraftBukkit end @@ -1239,7 +1240,7 @@ index 8fc88f162c..0087bd9b1c 100644 this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } -@@ -746,15 +747,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -716,15 +718,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } timings.tileEntityPending.stopTiming(); // Spigot @@ -1847,5 +1848,5 @@ index ca7789b5e0..4423839697 100644 } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch index e688e6643..87cb94f66 100644 --- a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch +++ b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch @@ -1,11 +1,11 @@ -From e94943ac122bf5ad88188d2154869dd248cf4e3b Mon Sep 17 00:00:00 2001 +From a1b740262a5cde6f25349879fad15a4c26e450c0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 3 Mar 2016 03:53:43 -0600 Subject: [PATCH] Allow for toggling of spawn chunks diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 284568641..8ee2b9bb1 100644 +index 2845686411..8ee2b9bb1b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -113,4 +113,10 @@ public class PaperWorldConfig { @@ -20,10 +20,10 @@ index 284568641..8ee2b9bb1 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 0087bd9b1..28e67245a 100644 +index da3eb20d45..dfca06cf7c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -152,6 +152,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -137,6 +137,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { }); // CraftBukkit end timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings @@ -32,5 +32,5 @@ index 0087bd9b1..28e67245a 100644 this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0019-Add-version-history-to-version-command.patch b/Spigot-Server-Patches/0019-Add-version-history-to-version-command.patch index e1d47be91..b8efb47e3 100644 --- a/Spigot-Server-Patches/0019-Add-version-history-to-version-command.patch +++ b/Spigot-Server-Patches/0019-Add-version-history-to-version-command.patch @@ -1,11 +1,11 @@ -From 5afaae6ebc8d1bf522cee00d8cef33821bcad970 Mon Sep 17 00:00:00 2001 +From cf0ac8ca566b804db7eda4798fc0582bad42f01d Mon Sep 17 00:00:00 2001 From: Kyle Wood Date: Thu, 1 Mar 2018 19:37:52 -0600 Subject: [PATCH] Add version history to version command diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java -index 5deed3e25..49a38c660 100644 +index 5deed3e25f..49a38c6608 100644 --- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java +++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java @@ -25,7 +25,10 @@ public class PaperVersionFetcher implements VersionFetcher { @@ -42,7 +42,7 @@ index 5deed3e25..49a38c660 100644 } diff --git a/src/main/java/com/destroystokyo/paper/VersionHistoryManager.java b/src/main/java/com/destroystokyo/paper/VersionHistoryManager.java new file mode 100644 -index 000000000..aac3f66cb +index 0000000000..aac3f66cb2 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/VersionHistoryManager.java @@ -0,0 +1,145 @@ @@ -192,10 +192,10 @@ index 000000000..aac3f66cb + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index e636433b1..a78896dc8 100644 +index d6646d7e61..4b1f8c5373 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -173,6 +173,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -180,6 +180,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer return false; } com.destroystokyo.paper.PaperConfig.registerCommands(); @@ -204,5 +204,5 @@ index e636433b1..a78896dc8 100644 this.setSpawnAnimals(dedicatedserverproperties.spawnAnimals); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch index bd2ffd380..a6a877efa 100644 --- a/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch +++ b/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch @@ -1,11 +1,11 @@ -From 2065a0021b8e509b2b91bb778ff36e7164470362 Mon Sep 17 00:00:00 2001 +From f52fb22b301460d966ba0fce4f61a16411181bc0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:52:34 -0600 Subject: [PATCH] Prevent tile entity and entity crashes diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index fa6400dcc..e2f3cec74 100644 +index fa6400dccd..e2f3cec742 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -194,7 +194,12 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -23,10 +23,10 @@ index fa6400dcc..e2f3cec74 100644 } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 28e67245a..806768aeb 100644 +index dfca06cf7c..a7eb3e54e9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -687,11 +687,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -658,11 +658,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { gameprofilerfiller.exit(); } catch (Throwable throwable) { @@ -45,7 +45,7 @@ index 28e67245a..806768aeb 100644 } // Spigot start finally { -@@ -757,11 +759,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -728,11 +730,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable { try { consumer.accept(entity); } catch (Throwable throwable) { @@ -64,5 +64,5 @@ index 28e67245a..806768aeb 100644 } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0032-Optimize-explosions.patch b/Spigot-Server-Patches/0032-Optimize-explosions.patch index ae5a69ae7..b7bf4e836 100644 --- a/Spigot-Server-Patches/0032-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From b75d6749802e94b6b8699d9513fe0a111d373ab6 Mon Sep 17 00:00:00 2001 +From f29befd27959d00e4d67f2056b2a97458291ffab Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 11:59:48 -0600 Subject: [PATCH] Optimize explosions @@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving an entity's exposure during an explosion. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 50dec5cb5..f038d3f7d 100644 +index 50dec5cb5e..f038d3f7dc 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -150,4 +150,10 @@ public class PaperWorldConfig { @@ -25,7 +25,7 @@ index 50dec5cb5..f038d3f7d 100644 + } } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index d2c31ac1f..64cf5a29c 100644 +index a063d1bfaa..5583860f15 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -177,7 +177,7 @@ public class Explosion { @@ -123,7 +123,7 @@ index d2c31ac1f..64cf5a29c 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7b8c523e6..3d580a666 100644 +index 7b8c523e6d..3d580a666b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1176,6 +1176,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Wed, 2 Mar 2016 23:45:17 -0600 Subject: [PATCH] Disable spigot tick limiters diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 94eceac2f..634ec82b1 100644 +index ea86476ea5..ef00928466 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -658,9 +658,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -628,9 +628,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { // Spigot start // Iterator iterator = this.tileEntityListTick.iterator(); int tilesThisCycle = 0; @@ -20,5 +20,5 @@ index 94eceac2f..634ec82b1 100644 TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition); // Spigot start -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch index ffd390582..501f9ceaa 100644 --- a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch +++ b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch @@ -1,4 +1,4 @@ -From a34e81c451d01fbd7f311f3795b76f30a71cce1b Mon Sep 17 00:00:00 2001 +From 1e5c06435b406b7856ec9527fb7ebb607293a3e2 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:39:54 -0600 Subject: [PATCH] Change implementation of (tile)entity removal list @@ -6,10 +6,10 @@ Subject: [PATCH] Change implementation of (tile)entity removal list use sets for faster removal diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 634ec82b1..cb369665c 100644 +index ef00928466..caead09a64 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -40,7 +40,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public final List tileEntityList = Lists.newArrayList(); public final List tileEntityListTick = Lists.newArrayList(); protected final List tileEntityListPending = Lists.newArrayList(); @@ -19,5 +19,5 @@ index 634ec82b1..cb369665c 100644 private int c; protected int i = (new Random()).nextInt(); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch index b00d8df33..78bf05bd8 100644 --- a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From b257a14b9a64d819e39d4128d92c262b38087324 Mon Sep 17 00:00:00 2001 +From 058e5298ae051aef1224425039ae5e6042a61679 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -209,7 +209,7 @@ index d5e9bae709..1bcf01c09a 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index cb369665c4..0260078911 100644 +index caead09a64..bf20ce9341 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -222,7 +222,7 @@ index cb369665c4..0260078911 100644 import com.google.common.collect.Lists; import java.io.IOException; import java.util.Collection; -@@ -688,8 +691,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -658,8 +661,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { gameprofilerfiller.exit(); } catch (Throwable throwable) { // Paper start - Prevent tile entity and entity crashes @@ -235,7 +235,7 @@ index cb369665c4..0260078911 100644 tilesThisCycle--; this.tileEntityListTick.remove(tileTickPosition--); continue; -@@ -760,8 +766,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -730,8 +736,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { consumer.accept(entity); } catch (Throwable throwable) { // Paper start - Prevent tile entity and entity crashes @@ -306,5 +306,5 @@ index 8823f94f7b..552daf4376 100644 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch index a6a7c1ab5..a984d4738 100644 --- a/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From 4f88e97498979375c61bbe0c22b24ada9606dd6f Mon Sep 17 00:00:00 2001 +From 51f19a3999d3395db37833951feac5620f9ee18d Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 20:16:03 -0400 Subject: [PATCH] Add World Util Methods @@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 026007891..37914c2f5 100644 +index bf20ce9341..0d403ec707 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -235,6 +235,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -218,6 +218,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return chunk == null ? null : chunk.getFluid(blockposition); } @@ -29,7 +29,7 @@ index 026007891..37914c2f5 100644 @Override diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index 020e5c171..4ee13ac45 100644 +index 020e5c171a..4ee13ac454 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -19,6 +19,7 @@ public class WorldBorder { @@ -41,5 +41,5 @@ index 020e5c171..4ee13ac45 100644 return (double) (blockposition.getX() + 1) > this.c() && (double) blockposition.getX() < this.e() && (double) (blockposition.getZ() + 1) > this.d() && (double) blockposition.getZ() < this.f(); } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 093cc9382..1b36aec32 100644 --- a/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 36a26b5d1886726fd705a5d5fff6c85f3e568c2a Mon Sep 17 00:00:00 2001 +From d4364f50671372762e805a576f9d1ac2c43add24 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -77,10 +77,10 @@ index 652067757a..0d5deee365 100644 public ChunkSection(int i) { this(i, (short) 0, (short) 0, (short) 0); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 37914c2f53..18ee29e507 100644 +index 0d403ec707..d81178d26d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -183,11 +183,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -167,11 +167,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } public static boolean isValidLocation(BlockPosition blockposition) { @@ -95,5 +95,5 @@ index 37914c2f53..18ee29e507 100644 public static boolean b(int i) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 4042b4581..7ec501108 100644 --- a/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -1,4 +1,4 @@ -From 67c11042b01cdc1657b9e6701d6572ae0a7a8760 Mon Sep 17 00:00:00 2001 +From bfa1a2ec2f12d7b6b530b3742b20a3f91f02b5db Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 19:55:45 -0400 Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener @@ -6,7 +6,7 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener Saves on some object allocation and processing when no plugin listens to this diff --git a/src/main/java/net/minecraft/server/BlockPlant.java b/src/main/java/net/minecraft/server/BlockPlant.java -index ed1da4f4b..a6891b9fa 100644 +index ed1da4f4ba..a6891b9fa7 100644 --- a/src/main/java/net/minecraft/server/BlockPlant.java +++ b/src/main/java/net/minecraft/server/BlockPlant.java @@ -16,7 +16,7 @@ public class BlockPlant extends Block { @@ -19,7 +19,7 @@ index ed1da4f4b..a6891b9fa 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockTallPlant.java b/src/main/java/net/minecraft/server/BlockTallPlant.java -index 42e86881b..6cdce1158 100644 +index 42e86881bd..6cdce11581 100644 --- a/src/main/java/net/minecraft/server/BlockTallPlant.java +++ b/src/main/java/net/minecraft/server/BlockTallPlant.java @@ -55,7 +55,7 @@ public class BlockTallPlant extends BlockPlant { @@ -32,7 +32,7 @@ index 42e86881b..6cdce1158 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3d580a666..3094f763b 100644 +index 3d580a666b..3094f763ba 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1142,6 +1142,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 18ee29e50..824a3513a 100644 +index d81178d26d..528e53fc42 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -390,7 +390,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -363,7 +363,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { // CraftBukkit start iblockdata1.b(this, blockposition, j); // Don't call an event for the old block to limit event spam CraftWorld world = ((WorldServer) this).getWorld(); @@ -56,7 +56,7 @@ index 18ee29e50..824a3513a 100644 BlockPhysicsEvent event = new BlockPhysicsEvent(world.getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()), CraftBlockData.fromData(iblockdata)); this.getServer().getPluginManager().callEvent(event); -@@ -502,7 +502,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -475,7 +475,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { try { // CraftBukkit start CraftWorld world = ((WorldServer) this).getWorld(); @@ -66,7 +66,7 @@ index 18ee29e50..824a3513a 100644 this.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0146573a3..9161d6fd6 100644 +index 6c2107bd06..4e29746c14 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -75,6 +75,7 @@ public class WorldServer extends World { @@ -78,5 +78,5 @@ index 0146573a3..9161d6fd6 100644 // Add env and gen to constructor public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/Spigot-Server-Patches/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index cd7e22e45..b65361b69 100644 --- a/Spigot-Server-Patches/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/Spigot-Server-Patches/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch @@ -1,14 +1,14 @@ -From 19db856846c074e7895453150b99b54385fe9392 Mon Sep 17 00:00:00 2001 +From ae6ae40b92f953a6b03d912c7e06595d8b70c437 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 3 Apr 2016 17:48:50 -0400 Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 824a3513a..e7d441b22 100644 +index 528e53fc42..1323d1959a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -460,6 +460,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -433,6 +433,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public void b(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) {} public void applyPhysics(BlockPosition blockposition, Block block) { @@ -17,5 +17,5 @@ index 824a3513a..e7d441b22 100644 this.a(blockposition.east(), block, blockposition); this.a(blockposition.down(), block, blockposition); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch index a90a99736..a37810e25 100644 --- a/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0087-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From a5671d9f986739e5b97273f3f6941e89b30ba5b6 Mon Sep 17 00:00:00 2001 +From 79a49715c5dcc16c725461a67d2c2f3ef2be20d8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 00:25:28 -0400 Subject: [PATCH] Remove unused World Tile Entity List @@ -6,10 +6,10 @@ Subject: [PATCH] Remove unused World Tile Entity List Massive hit to performance and it is completely unnecessary. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e7d441b22b..50c138d06d 100644 +index 1323d1959a..5a80f35c91 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -40,7 +40,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { protected static final Logger LOGGER = LogManager.getLogger(); private static final EnumDirection[] a = EnumDirection.values(); @@ -18,7 +18,7 @@ index e7d441b22b..50c138d06d 100644 public final List tileEntityListTick = Lists.newArrayList(); protected final List tileEntityListPending = Lists.newArrayList(); protected final java.util.Set tileEntityListUnload = com.google.common.collect.Sets.newHashSet(); -@@ -628,9 +628,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -598,9 +598,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { }, tileentity::getPosition}); } @@ -30,7 +30,7 @@ index e7d441b22b..50c138d06d 100644 this.tileEntityListTick.add(tileentity); } -@@ -666,7 +666,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -636,7 +636,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { timings.tileEntityTick.startTiming(); // Spigot if (!this.tileEntityListUnload.isEmpty()) { this.tileEntityListTick.removeAll(this.tileEntityListUnload); @@ -39,7 +39,7 @@ index e7d441b22b..50c138d06d 100644 this.tileEntityListUnload.clear(); } -@@ -727,7 +727,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -697,7 +697,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { tilesThisCycle--; this.tileEntityListTick.remove(tileTickPosition--); // Spigot end @@ -48,7 +48,7 @@ index e7d441b22b..50c138d06d 100644 if (this.isLoaded(tileentity.getPosition())) { this.getChunkAtWorldCoords(tileentity.getPosition()).removeTileEntity(tileentity.getPosition()); } -@@ -757,7 +757,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -727,7 +727,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3); // CraftBukkit start // From above, don't screw this up - SPIGOT-1746 @@ -57,7 +57,7 @@ index e7d441b22b..50c138d06d 100644 this.a(tileentity1); } // CraftBukkit end -@@ -1024,7 +1024,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -993,7 +993,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } else { if (tileentity != null) { this.tileEntityListPending.remove(tileentity); @@ -89,5 +89,5 @@ index dac6e10d25..7b3e3487fa 100644 while (iterator.hasNext()) { TileEntity tileentity = (TileEntity) iterator.next(); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch b/Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch index 5adea761e..ee205970b 100644 --- a/Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch +++ b/Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch @@ -1,4 +1,4 @@ -From 8ee359809fdfa59eb43c143b10ffd3693f238ce2 Mon Sep 17 00:00:00 2001 +From 3d92fba8c3d4117c565260429c47727bb900de5d Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Mon, 23 May 2016 12:12:37 +0200 Subject: [PATCH] Faster redstone torch rapid clock removal @@ -6,7 +6,7 @@ Subject: [PATCH] Faster redstone torch rapid clock removal Only resize the the redstone torch list once, since resizing arrays / lists is costly diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java -index 98a255ae5..4c3062ece 100644 +index 98a255ae57..4c3062ece9 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java @@ -11,7 +11,7 @@ import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit @@ -77,10 +77,10 @@ index 98a255ae5..4c3062ece 100644 public RedstoneUpdateInfo(BlockPosition blockposition, long i) { this.a = blockposition; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 50c138d06..c7a4fab1c 100644 +index 5a80f35c91..3898010774 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -98,6 +98,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -82,6 +82,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { private org.spigotmc.TickLimiter tileLimiter; private int tileTickPosition; public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions @@ -89,5 +89,5 @@ index 50c138d06..c7a4fab1c 100644 public CraftWorld getWorld() { return this.world; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0129-Optimize-World.isLoaded-BlockPosition-Z.patch b/Spigot-Server-Patches/0129-Optimize-World.isLoaded-BlockPosition-Z.patch index ff9280fb6..a396dd3fb 100644 --- a/Spigot-Server-Patches/0129-Optimize-World.isLoaded-BlockPosition-Z.patch +++ b/Spigot-Server-Patches/0129-Optimize-World.isLoaded-BlockPosition-Z.patch @@ -1,4 +1,4 @@ -From 9b0195f22a3d8c5de5d39de2a01de5335c32c84f Mon Sep 17 00:00:00 2001 +From b8a1a6f9d0ea4937e32897cdd74f09e6e844b8b5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 2 Dec 2016 00:11:43 -0500 Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z Reduce method invocations for World.isLoaded(BlockPosition)Z diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c7a4fab1c..58f1136df 100644 +index 3898010774..f8b2d3abf9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -237,6 +237,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -220,6 +220,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return chunk == null ? null : chunk.getFluid(blockposition); } @@ -22,5 +22,5 @@ index c7a4fab1c..58f1136df 100644 return getWorldBorder().isInBounds(blockposition) && getChunkIfLoadedImmediately(blockposition.getX() >> 4, blockposition.getZ() >> 4) != null; } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 2d9eec037..c27ba5e26 100644 --- a/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0141-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From fd449e849fdc1c5ead4a613a1f56bfe19feba32a Mon Sep 17 00:00:00 2001 +From fdd7f9c24922595b93467af3066548f518ee3e39 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 5de881371..5f261b9b9 100644 +index 5de881371a..5f261b9b92 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 5de881371..5f261b9b9 100644 } diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java -index 2d2cd09ad..ed88e208d 100644 +index 2d2cd09ad1..ed88e208d0 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 2d2cd09ad..ed88e208d 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 e0d240a89..07abcc1e2 100644 +index 8762577696..138e2ea56a 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -616,7 +616,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -54,7 +54,7 @@ index e0d240a89..07abcc1e2 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 0447800d9..d4275e733 100644 +index 0447800d9d..d4275e733d 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 0447800d9..d4275e733 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 8ad0d0db1..8d48154e5 100644 +index 8ad0d0db18..8d48154e5b 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -401,7 +401,7 @@ public class EntityFishingHook extends Entity { @@ -147,7 +147,7 @@ index 8ad0d0db1..8d48154e5 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 dd1caec9d..2775afc32 100644 +index dd1caec9da..2775afc327 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1379,7 +1379,8 @@ public abstract class EntityLiving extends Entity { @@ -161,7 +161,7 @@ index dd1caec9d..2775afc32 100644 this.expToDrop = 0; } diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index 0bfc0a773..ba2f90cc6 100644 +index 0bfc0a773d..ba2f90cc6a 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 0bfc0a773..ba2f90cc6 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index c73cc9ae4..76296119a 100644 +index c73cc9ae4b..76296119a1 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -510,7 +510,7 @@ public class EntityTurtle extends EntityAnimal { @@ -187,7 +187,7 @@ index c73cc9ae4..76296119a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 5e3835851..6ca4fa43c 100644 +index 5e3835851d..6ca4fa43c4 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -509,7 +509,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -200,7 +200,7 @@ index 5e3835851..6ca4fa43c 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index 530c69996..2ad8dba5c 100644 +index 530c699964..2ad8dba5c0 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 530c69996..2ad8dba5c 100644 } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 1ab2668e9..2b708761d 100644 +index 1ab2668e91..2b708761d0 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 1ab2668e9..2b708761d 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index f6c6ea4aa..dff3eb118 100644 +index f6c6ea4aaf..dff3eb1188 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -374,7 +374,7 @@ public class PlayerInteractManager { @@ -239,7 +239,7 @@ index f6c6ea4aa..dff3eb118 100644 return true; diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index d2698e847..edc4a5c34 100644 +index d2698e847c..edc4a5c34e 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 d2698e847..edc4a5c34 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 8dc47452a..560e2f42b 100644 +index 8dc47452a4..560e2f42b7 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 8dc47452a..560e2f42b 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ec7396f2a..63b1cb2a4 100644 +index 81fa77946b..cd6cf07f82 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1780,7 +1780,7 @@ public class CraftWorld implements World { +@@ -1775,7 +1775,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 ec7396f2a..63b1cb2a4 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 1b512cc45..fbad04567 100644 +index 1b512cc45c..fbad045675 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 { @@ -301,5 +301,5 @@ index 1b512cc45..fbad04567 100644 public EntityExperienceOrb getHandle() { return (EntityExperienceOrb) entity; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch index f5f35fe47..4865ad031 100644 --- a/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0150-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 33ffa2db7d269531288bfa00c2cda19ae26060f4 Mon Sep 17 00:00:00 2001 +From 8ce843a66ffed6165d5f5b0a90a0c8c6e0bfc5ad Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index ee7d3d521..93c1a04bc 100644 +index ee7d3d521e..93c1a04bc6 100644 --- a/pom.xml +++ b/pom.xml @@ -41,10 +41,27 @@ @@ -75,7 +75,7 @@ index ee7d3d521..93c1a04bc 100644 org.apache.maven.plugins diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 -index 000000000..cd6e25923 +index 0000000000..cd6e259239 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -0,0 +1,40 @@ @@ -121,7 +121,7 @@ index 000000000..cd6e25923 +} diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java new file mode 100644 -index 000000000..685deaa0e +index 0000000000..685deaa0e5 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java @@ -0,0 +1,17 @@ @@ -143,7 +143,7 @@ index 000000000..685deaa0e + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index a78896dc8..886900006 100644 +index 4b1f8c5373..d34f772fae 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -86,6 +86,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -154,9 +154,9 @@ index a78896dc8..886900006 100644 + new com.destroystokyo.paper.console.PaperConsole(DedicatedServer.this).start(); + /* jline.console.ConsoleReader bufferedreader = reader; - // CraftBukkit end -@@ -118,6 +121,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer + // MC-33041, SPIGOT-5538: if System.in is not valid due to javaw, then return +@@ -125,6 +128,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer DedicatedServer.LOGGER.error("Exception handling console input", ioexception); } @@ -165,7 +165,7 @@ index a78896dc8..886900006 100644 } }; -@@ -129,6 +134,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -136,6 +141,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } global.addHandler(new org.bukkit.craftbukkit.util.ForwardLogHandler()); @@ -175,7 +175,7 @@ index a78896dc8..886900006 100644 final org.apache.logging.log4j.core.Logger logger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()); for (org.apache.logging.log4j.core.Appender appender : logger.getAppenders().values()) { if (appender instanceof org.apache.logging.log4j.core.appender.ConsoleAppender) { -@@ -137,6 +145,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -144,6 +152,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer } new org.bukkit.craftbukkit.util.TerminalConsoleWriterThread(System.out, this.reader).start(); @@ -185,7 +185,7 @@ index a78896dc8..886900006 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e41352681..7016dac2d 100644 +index e41352681a..7016dac2d7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate; @@ -244,7 +244,7 @@ index e41352681..7016dac2d 100644 public KeyPair getKeyPair() { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 1eb53f67e..308bc3baf 100644 +index 1eb53f67ef..308bc3baf2 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -76,8 +76,7 @@ public abstract class PlayerList { @@ -258,7 +258,7 @@ index 1eb53f67e..308bc3baf 100644 this.k = new GameProfileBanList(PlayerList.b); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f01d3d382..05efbd67d 100644 +index f01d3d3823..05efbd67d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -41,7 +41,6 @@ import java.util.function.Consumer; @@ -284,7 +284,7 @@ index f01d3d382..05efbd67d 100644 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 40e7c895c..d1636ce21 100644 +index 40e7c895c2..d1636ce218 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -13,7 +13,7 @@ import java.util.logging.Logger; @@ -335,7 +335,7 @@ index 40e7c895c..d1636ce21 100644 } catch (Throwable t) { diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java deleted file mode 100644 -index fdf2f075e..000000000 +index fdf2f075e2..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java +++ /dev/null @@ -1,72 +0,0 @@ @@ -412,7 +412,7 @@ index fdf2f075e..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java -index befcc19f9..5510266fb 100644 +index befcc19f9b..5510266fb1 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java @@ -4,20 +4,31 @@ import java.util.Collections; @@ -495,7 +495,7 @@ index befcc19f9..5510266fb 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java -index 70f8d4299..449e99d1b 100644 +index 70f8d42992..449e99d1b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -17,7 +17,7 @@ public class ServerShutdownThread extends Thread { @@ -509,7 +509,7 @@ index 70f8d4299..449e99d1b 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java deleted file mode 100644 -index 99564fed7..000000000 +index 99564fed7c..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java +++ /dev/null @@ -1,58 +0,0 @@ @@ -573,13 +573,13 @@ index 99564fed7..000000000 -} diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties new file mode 100644 -index 000000000..0694b2146 +index 0000000000..0694b21465 --- /dev/null +++ b/src/main/resources/log4j2.component.properties @@ -0,0 +1 @@ +log4j.skipJansi=true diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 722ca8496..620b9490e 100644 +index 722ca84968..620b9490e5 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -1,17 +1,14 @@ @@ -617,5 +617,5 @@ index 722ca8496..620b9490e 100644 -- -2.24.0 +2.25.0 diff --git a/Spigot-Server-Patches/0168-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0168-Fix-MC-117075-TE-Unload-Lag-Spike.patch index f39a496b3..d8b800127 100644 --- a/Spigot-Server-Patches/0168-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/Spigot-Server-Patches/0168-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -1,14 +1,14 @@ -From 4ce92c4f165f461b8a363f1d3217764144872656 Mon Sep 17 00:00:00 2001 +From 2a92dde62afcd6886d6ef65f028b9453f8df755d Mon Sep 17 00:00:00 2001 From: mezz Date: Wed, 9 Aug 2017 17:51:22 -0500 Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 58f1136df..eb5c95e37 100644 +index f8b2d3abf9..0dd84c0977 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -671,7 +671,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -641,7 +641,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { gameprofilerfiller.enter("blockEntities"); timings.tileEntityTick.startTiming(); // Spigot if (!this.tileEntityListUnload.isEmpty()) { @@ -22,5 +22,5 @@ index 58f1136df..eb5c95e37 100644 this.tileEntityListUnload.clear(); } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0171-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0171-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index 23a8aa865..c3b6e3d6a 100644 --- a/Spigot-Server-Patches/0171-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/Spigot-Server-Patches/0171-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -1,4 +1,4 @@ -From 8e4e7526d65ab60ec0c5b51524448837abe6249d Mon Sep 17 00:00:00 2001 +From 90408a8c1715bee9634ab40f404f1ec16be36062 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Mon, 18 Sep 2017 12:00:03 +0200 Subject: [PATCH] Use Log4j IOStreams to redirect System.out/err to logger @@ -12,7 +12,7 @@ results in a separate line, even though it should not result in a line break. Log4j's implementation handles it correctly. diff --git a/pom.xml b/pom.xml -index 93c1a04bc..663eacfe2 100644 +index 93c1a04bc6..663eacfe27 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,11 @@ @@ -28,10 +28,10 @@ index 93c1a04bc..663eacfe2 100644 org.ow2.asm asm diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 886900006..0411fb3ee 100644 +index d34f772fae..ec257ba31f 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -148,8 +148,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -155,8 +155,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer */ // Paper end @@ -45,5 +45,5 @@ index 886900006..0411fb3ee 100644 thread.setDaemon(true); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0179-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0179-Send-attack-SoundEffects-only-to-players-who-can-see.patch index 24e3a1a6f..a3b490110 100644 --- a/Spigot-Server-Patches/0179-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/Spigot-Server-Patches/0179-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -1,4 +1,4 @@ -From 535cc9801026b2c483133daab0b0da589c002b74 Mon Sep 17 00:00:00 2001 +From af2afc1ededb2a1e727251af12bcca4040c46be4 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 31 Oct 2017 03:26:18 +0100 Subject: [PATCH] Send attack SoundEffects only to players who can see the @@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 9717c40f4..be8b088fc 100644 +index 3bd5ddba68..c86d22e7ae 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1023,6 +1023,15 @@ public abstract class EntityHuman extends EntityLiving { @@ -72,10 +72,10 @@ index 9717c40f4..be8b088fc 100644 entity.extinguish(); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index eb5c95e37..74bb96ebf 100644 +index 0dd84c0977..361cc6a92e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -608,6 +608,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -578,6 +578,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { this.playSound(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1); } @@ -88,5 +88,5 @@ index eb5c95e37..74bb96ebf 100644 public abstract void playSound(@Nullable EntityHuman entityhuman, Entity entity, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0183-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0183-use-CB-BlockState-implementations-for-captured-block.patch index 60d7e8715..d7d391fad 100644 --- a/Spigot-Server-Patches/0183-use-CB-BlockState-implementations-for-captured-block.patch +++ b/Spigot-Server-Patches/0183-use-CB-BlockState-implementations-for-captured-block.patch @@ -1,4 +1,4 @@ -From ae2a08ed40765dbc4a9a32601932d43884796434 Mon Sep 17 00:00:00 2001 +From 3b1555dec9a5b796fc8016f338ffcf0e06c8c38b Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 16 Nov 2017 12:12:41 +0000 Subject: [PATCH] use CB BlockState implementations for captured blocks @@ -18,18 +18,36 @@ the blockstate that will be valid for restoration, as opposed to dropping information on restoration when the event is cancelled. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 74bb96ebf..9987adb6f 100644 +index 361cc6a92e..2bc0368d04 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -299,7 +299,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -66,7 +66,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { + + public boolean captureBlockStates = false; + public boolean captureTreeGeneration = false; +- public Map capturedBlockStates = new HashMap<>(); ++ public Map capturedBlockStates = new HashMap<>(); // Paper + public Map capturedTileEntities = new HashMap<>(); + public List captureDrops; + public long ticksPerAnimalSpawns; +@@ -253,7 +253,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { + public boolean setTypeAndData(BlockPosition blockposition, IBlockData iblockdata, int i) { + // CraftBukkit start - tree generation + if (this.captureTreeGeneration) { +- CapturedBlockState blockstate = capturedBlockStates.get(blockposition); ++ CraftBlockState blockstate = capturedBlockStates.get(blockposition); + if (blockstate == null) { + blockstate = CapturedBlockState.getTreeBlockState(this, blockposition, i); + this.capturedBlockStates.put(blockposition.immutableCopy(), blockstate); +@@ -272,7 +272,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { + // CraftBukkit start - capture blockstates - CraftBlockState blockstate = null; - if (this.captureBlockStates) { -- blockstate = org.bukkit.craftbukkit.block.CraftBlockState.getBlockState(this, blockposition, i); -+ blockstate = (CraftBlockState) world.getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()).getState(); // Paper - use CB getState to get a suitable snapshot - this.capturedBlockStates.add(blockstate); + if (this.captureBlockStates && !this.capturedBlockStates.containsKey(blockposition)) { +- CapturedBlockState blockstate = CapturedBlockState.getBlockState(this, blockposition, i); ++ CraftBlockState blockstate = (CraftBlockState) world.getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()).getState(); // Paper - use CB getState to get a suitable snapshot + this.capturedBlockStates.put(blockposition.immutableCopy(), blockstate); } // CraftBukkit end -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0219-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0219-Expand-World.spawnParticle-API-and-add-Builder.patch index 9abde5fcc..22bd285b8 100644 --- a/Spigot-Server-Patches/0219-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0219-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 2a1b3e555dfff49e833776ac75b648013a211515 Mon Sep 17 00:00:00 2001 +From a7875a15cbd233d4e1ca6768cd6f4a7bfebb779e 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 @@ -43,10 +43,10 @@ index 69d2e2c3b5..62a16173b9 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 63b1cb2a4c..59036635d7 100644 +index cd6cf07f82..bbc338c000 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2250,11 +2250,17 @@ public class CraftWorld implements World { +@@ -2245,11 +2245,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) { @@ -66,5 +66,5 @@ index 63b1cb2a4c..59036635d7 100644 x, y, z, // Position count, // Count -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 7e90fb38e..ecc10c29e 100644 --- a/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0223-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 4f31cdeae215ee9d214801cd8f3403a34423fc49 Mon Sep 17 00:00:00 2001 +From 9ac8394975cb87ea9ddaca287713379d21f5925b 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 59036635d..66026f5a4 100644 +index bbc338c000..7368625685 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1472,6 +1472,10 @@ public class CraftWorld implements World { +@@ -1467,6 +1467,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); @@ -23,5 +23,5 @@ index 59036635d..66026f5a4 100644 entity = new EntityFallingBlock(world, x, y, z, world.getType(new BlockPosition(x, y, z))); } else if (Projectile.class.isAssignableFrom(clazz)) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0237-Expand-Explosions-API.patch b/Spigot-Server-Patches/0237-Expand-Explosions-API.patch index 656b5d26a..55809f656 100644 --- a/Spigot-Server-Patches/0237-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0237-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 7e642c7be08e270da1bf557d38a05ece64c975e1 Mon Sep 17 00:00:00 2001 +From 01f18e0f63089747e2aaba8ca9bde12940b51e84 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 66026f5a4..6b04a031e 100644 +index 7368625685..2aa016921a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -881,6 +881,11 @@ public class CraftWorld implements World { +@@ -876,6 +876,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !world.createExplosion(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled; } @@ -22,5 +22,5 @@ index 66026f5a4..6b04a031e 100644 @Override public boolean createExplosion(Location loc, float power) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch index 59ed5d581..0cf322e8b 100644 --- a/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0241-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 2a7ceb4f880d6a4e1b6f651230e3588a96da4051 Mon Sep 17 00:00:00 2001 +From 008b67783326349d2fa10cc86fb8244b618591ac 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 6b04a031e..a257dce8f 100644 +index 2aa016921a..89705e5ffa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1274,6 +1274,15 @@ public class CraftWorld implements World { +@@ -1269,6 +1269,15 @@ public class CraftWorld implements World { return list; } @@ -25,5 +25,5 @@ index 6b04a031e..a257dce8f 100644 public void save() { org.spigotmc.AsyncCatcher.catchOp("world save"); // Spigot -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 7722b35f0..e6494828a 100644 --- a/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0251-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From 2178fef21e20a74545ee6cb6ab61548a87cd76f3 Mon Sep 17 00:00:00 2001 +From 140f2f8cd05bce6212189c86a58921b55a2d2b0a Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 591e2ad56c..e5987be450 100644 +index 7364b92f41..5ca3233c00 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -40,10 +40,10 @@ index bf80af2354..e93741a8e8 100644 protected void g() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9987adb6f4..9d9e8fed27 100644 +index 2bc0368d04..a5af0f9d35 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -67,6 +67,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -63,6 +63,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public boolean pvpMode; public boolean keepSpawnInMemory = true; public org.bukkit.generator.ChunkGenerator generator; @@ -122,5 +122,5 @@ index d46a664bdb..3d5a50ddcc 100644 // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0256-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0256-Option-to-prevent-armor-stands-from-doing-entity-loo.patch index 1b2876dc9..d5f9efb15 100644 --- a/Spigot-Server-Patches/0256-Option-to-prevent-armor-stands-from-doing-entity-loo.patch +++ b/Spigot-Server-Patches/0256-Option-to-prevent-armor-stands-from-doing-entity-loo.patch @@ -1,11 +1,11 @@ -From dcbdb23f806c68ebb5eff19bd0b90408855c2a6f Mon Sep 17 00:00:00 2001 +From 9b045e16c6c9e4db7d5a27110f5c9cc5710a0c1a Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 12:57:39 +0200 Subject: [PATCH] Option to prevent armor stands from doing entity lookups diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 387e0dcb9..eaaa51e4b 100644 +index 387e0dcb9f..eaaa51e4bf 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -388,4 +388,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index 387e0dcb9..eaaa51e4b 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9d9e8fed2..6b09e2732 100644 +index a5af0f9d35..0d12deeb55 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -805,6 +805,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -775,6 +775,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } } @@ -38,5 +38,5 @@ index 9d9e8fed2..6b09e2732 100644 int i = MathHelper.floor(axisalignedbb.minX); int j = MathHelper.f(axisalignedbb.maxX); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0257-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0257-Vanished-players-don-t-have-rights.patch index 41e3b43d2..28aa8c00e 100644 --- a/Spigot-Server-Patches/0257-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0257-Vanished-players-don-t-have-rights.patch @@ -1,11 +1,11 @@ -From 6f58377aaf6174c5f68b3ec3c2818ef100e0ceea Mon Sep 17 00:00:00 2001 +From 7c3e711274745dd5725d61548466ab75040d6cf6 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 e5987be45..8e23f336a 100644 +index 5ca3233c00..fcc47182c8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -98,7 +98,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,7 +18,7 @@ index e5987be45..8e23f336a 100644 protected int j; @Nullable diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 3a1ad2346..9ab57be85 100644 +index 3a1ad2346b..9ab57be850 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,7 +30,7 @@ index 3a1ad2346..9ab57be85 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 ab875a736..aed353365 100644 +index ab875a7365..aed353365b 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -136,7 +136,8 @@ public class ItemBlock extends Item { @@ -44,7 +44,7 @@ index ab875a736..aed353365 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 0f64a3c05..0f95bcbcc 100644 +index 0f64a3c056..0f95bcbccb 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 0f64a3c05..0f95bcbcc 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 143be566c..08c83c62d 100644 +index 143be566c6..08c83c62df 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,10 +76,10 @@ index 143be566c..08c83c62d 100644 if (operatorboolean.apply(false, false)) { throw (IllegalArgumentException) SystemUtils.c(new IllegalArgumentException()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6b09e2732..eb8cadf5c 100644 +index 0d12deeb55..c7b4734e94 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -164,6 +164,46 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -148,6 +148,46 @@ public abstract class World implements GeneratorAccess, AutoCloseable { this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } @@ -127,7 +127,7 @@ index 6b09e2732..eb8cadf5c 100644 public boolean p_() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f931fa48b..317a5bf4e 100644 +index f931fa48b4..317a5bf4ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1171,6 +1171,14 @@ public class CraftEventFactory { @@ -146,5 +146,5 @@ index f931fa48b..317a5bf4e 100644 return event; } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch index cdc2cd2a2..77b7cddf0 100644 --- a/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0264-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From b6ec7c795015192dd516d7c7cd8a741fbd66b9d7 Mon Sep 17 00:00:00 2001 +From 3993ccb409951da42b475f821c3e6134b3982777 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 @@ -51,7 +51,7 @@ index 2004f7fbe1..7ecff4443a 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 e761f71487..ca794328a7 100644 +index 09ec144eb6..4880ece947 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -196,6 +196,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -92,10 +92,10 @@ index 3d5a50ddcc..12cdb0cc9a 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a257dce8f0..0fb47579f6 100644 +index 89705e5ffa..fe91e08f22 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1010,6 +1010,7 @@ public class CraftWorld implements World { +@@ -1005,6 +1005,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; @@ -103,7 +103,7 @@ index a257dce8f0..0fb47579f6 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1029,6 +1030,7 @@ public class CraftWorld implements World { +@@ -1024,6 +1025,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; @@ -111,7 +111,7 @@ index a257dce8f0..0fb47579f6 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1055,6 +1057,7 @@ public class CraftWorld implements World { +@@ -1050,6 +1052,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -119,7 +119,7 @@ index a257dce8f0..0fb47579f6 100644 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -1078,6 +1081,7 @@ public class CraftWorld implements World { +@@ -1073,6 +1076,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -128,5 +128,5 @@ index a257dce8f0..0fb47579f6 100644 if (bukkitEntity == null) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0276-Use-a-Queue-for-Queueing-Commands.patch b/Spigot-Server-Patches/0276-Use-a-Queue-for-Queueing-Commands.patch index ac14953cd..8a939481a 100644 --- a/Spigot-Server-Patches/0276-Use-a-Queue-for-Queueing-Commands.patch +++ b/Spigot-Server-Patches/0276-Use-a-Queue-for-Queueing-Commands.patch @@ -1,4 +1,4 @@ -From 5632d26dd961b00051930945ccc100df3d16b34f Mon Sep 17 00:00:00 2001 +From 97036c2d66087267395e463dc61d8d31b69f4424 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 12 Aug 2018 02:33:39 -0400 Subject: [PATCH] Use a Queue for Queueing Commands @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Queue for Queueing Commands Lists are bad as Queues mmmkay. diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 0411fb3ee..a74fae9ed 100644 +index ec257ba31f..349a0ea213 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -44,7 +44,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -18,7 +18,7 @@ index 0411fb3ee..a74fae9ed 100644 private RemoteStatusListener remoteStatusListener; public final RemoteControlCommandListener remoteControlCommandListener; private RemoteControlListener remoteControlListener; -@@ -447,8 +447,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -454,8 +454,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer public void handleCommandQueue() { MinecraftTimings.serverCommandTimer.startTiming(); // Spigot @@ -32,5 +32,5 @@ index 0411fb3ee..a74fae9ed 100644 // CraftBukkit start - ServerCommand for preprocessing ServerCommandEvent event = new ServerCommandEvent(console, servercommand.command); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch index 42d8df364..9c9044a80 100644 --- a/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0280-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,4 +1,4 @@ -From 5b1eeb8047141b4b62bdac06095b41e77a9a0f36 Mon Sep 17 00:00:00 2001 +From cb12a917cc83d97e3290ad2ba868745f2f6c3b95 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 @@ -68,10 +68,10 @@ index 12cdb0cc9a..f12cadc735 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0fb47579f6..bc151d8d25 100644 +index fe91e08f22..bb908f0712 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2085,7 +2085,7 @@ public class CraftWorld implements World { +@@ -2080,7 +2080,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); @@ -81,5 +81,5 @@ index 0fb47579f6..bc151d8d25 100644 private static Map> gamerules; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0311-Add-sun-related-API.patch b/Spigot-Server-Patches/0311-Add-sun-related-API.patch index afa5f70d3..9250d0299 100644 --- a/Spigot-Server-Patches/0311-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0311-Add-sun-related-API.patch @@ -1,11 +1,11 @@ -From ef5516debcf0b8fcb094fb0c53fec0a1d1ece2b4 Mon Sep 17 00:00:00 2001 +From 5e08229a2b5be563604c95a6c2dce34720af0964 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 5ca281172..e259c868e 100644 +index 5ca281172d..e259c868e1 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1334,6 +1334,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -17,10 +17,10 @@ index 5ca281172..e259c868e 100644 if (this.world.isDay() && !this.world.isClientSide) { float f = this.aI(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7c7302853..20e4be0e3 100644 +index 9f356e8004..c50301fd8a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -862,6 +862,13 @@ public class CraftWorld implements World { +@@ -857,6 +857,13 @@ public class CraftWorld implements World { } } @@ -35,7 +35,7 @@ index 7c7302853..20e4be0e3 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 53c2d154e..56c233872 100644 +index 53c2d154ed..56c233872b 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 { @@ -51,5 +51,5 @@ index 53c2d154e..56c233872 100644 + // Paper end } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch index 3dccecc4e..25010b114 100644 --- a/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch +++ b/Spigot-Server-Patches/0331-Optimize-redstone-algorithm.patch @@ -1,4 +1,4 @@ -From 1b28776ff4559ef02b0e274969f236b70dfe381a Mon Sep 17 00:00:00 2001 +From 49f6b5e50f8bb65c54272dda0b98f7afa6b8ad18 Mon Sep 17 00:00:00 2001 From: theosib Date: Thu, 27 Sep 2018 01:43:35 -0600 Subject: [PATCH] Optimize redstone algorithm @@ -19,7 +19,7 @@ Aside from making the obvious class/function renames and obfhelpers I didn't nee Just added Bukkit's event system and took a few liberties with dead code and comment misspellings. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0862a1d62..4ba72275b 100644 +index 0862a1d629..4ba72275b9 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -432,4 +432,14 @@ public class PaperWorldConfig { @@ -39,7 +39,7 @@ index 0862a1d62..4ba72275b 100644 } diff --git a/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java new file mode 100644 -index 000000000..b69803cbf +index 0000000000..b69803cbf2 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java @@ -0,0 +1,915 @@ @@ -959,7 +959,7 @@ index 000000000..b69803cbf + } +} diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java -index 5bf2fc0b3..52a4982ec 100644 +index 5bf2fc0b3f..52a4982ecd 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java @@ -1,5 +1,7 @@ @@ -1127,10 +1127,10 @@ index 5bf2fc0b3..52a4982ec 100644 c(iblockdata, world, blockposition); world.a(blockposition, false); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index eb8cadf5c..d62ef02e5 100644 +index c7b4734e94..2a1359f7d9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -543,6 +543,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -516,6 +516,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } @@ -1138,7 +1138,7 @@ index eb8cadf5c..d62ef02e5 100644 public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) { if (!this.isClientSide) { IBlockData iblockdata = this.getType(blockposition); -@@ -1302,6 +1303,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1271,6 +1272,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0)))); } @@ -1147,5 +1147,5 @@ index eb8cadf5c..d62ef02e5 100644 int i = 0; EnumDirection[] aenumdirection = World.a; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0346-BlockDestroyEvent.patch b/Spigot-Server-Patches/0346-BlockDestroyEvent.patch index 09fc88e27..8353fb617 100644 --- a/Spigot-Server-Patches/0346-BlockDestroyEvent.patch +++ b/Spigot-Server-Patches/0346-BlockDestroyEvent.patch @@ -1,4 +1,4 @@ -From 0c99ceec43afdfcac3eb6a5afa3316c0d4a1c790 Mon Sep 17 00:00:00 2001 +From e6732167512195d5173b8bea486fa770551ad295 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 6 Feb 2019 00:20:33 -0500 Subject: [PATCH] BlockDestroyEvent @@ -11,10 +11,10 @@ floating in the air. This can replace many uses of BlockPhysicsEvent diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d62ef02e5..a5b451877 100644 +index 2a1359f7d9..0409d62e71 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -473,8 +473,20 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -446,8 +446,20 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return false; } else { Fluid fluid = this.getFluid(blockposition); @@ -37,5 +37,5 @@ index d62ef02e5..a5b451877 100644 TileEntity tileentity = iblockdata.getBlock().isTileEntity() ? this.getTileEntity(blockposition) : null; -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch b/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch index 3ec61fdf2..12f18d63a 100644 --- a/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch +++ b/Spigot-Server-Patches/0366-Optimize-Captured-TileEntity-Lookup.patch @@ -1,4 +1,4 @@ -From 9ec887b5bd8dd36f90b5163e878a8a26767f4f42 Mon Sep 17 00:00:00 2001 +From c4e2eca4927f4d396d64e5eb88995c9291baa4b2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 6 Apr 2019 10:16:48 -0400 Subject: [PATCH] Optimize Captured TileEntity Lookup @@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to just do a get call since the value can never be null. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a5b451877..13ff6a11f 100644 +index 0409d62e71..065cb3c29a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1023,12 +1023,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -992,12 +992,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return null; } else { // CraftBukkit start @@ -31,5 +31,5 @@ index a5b451877..13ff6a11f 100644 if (this.tickingTileEntities) { tileentity = this.e(blockposition); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0367-Add-Heightmap-API.patch b/Spigot-Server-Patches/0367-Add-Heightmap-API.patch index 346cc2ad3..59ba98628 100644 --- a/Spigot-Server-Patches/0367-Add-Heightmap-API.patch +++ b/Spigot-Server-Patches/0367-Add-Heightmap-API.patch @@ -1,14 +1,14 @@ -From 7b721e8893480246abe64b581c87da17ea868e51 Mon Sep 17 00:00:00 2001 +From e44e10db8320471ccff9da39048391ff83625a25 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 13ff6a11f..6fd6c343d 100644 +index 065cb3c29a..61faf87179 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -594,8 +594,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -567,8 +567,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } } @@ -20,7 +20,7 @@ index 13ff6a11f..6fd6c343d 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 20e4be0e3..007a74f90 100644 +index c50301fd8a..426971b55b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -340,6 +340,29 @@ public class CraftWorld implements World { @@ -54,5 +54,5 @@ index 20e4be0e3..007a74f90 100644 public Location getSpawnLocation() { BlockPosition spawn = world.getSpawn(); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 6886fa330..4461a457e 100644 --- a/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0376-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From c5d691e244cfd8140cea50a7c15406bceceb97c7 Mon Sep 17 00:00:00 2001 +From c99dab6b65809f4e585a9ac14c8b7efd1755edfd 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 @@ -207,10 +207,10 @@ index 36d5466138..32da4eb4e0 100644 public LongSet getForceLoadedChunks() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4287492381..9787d53326 100644 +index 57c9982c75..b742bb7617 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1913,15 +1913,21 @@ public class CraftWorld implements World { +@@ -1908,15 +1908,21 @@ public class CraftWorld implements World { @Override public void setKeepSpawnInMemory(boolean keepLoaded) { @@ -237,5 +237,5 @@ index 4287492381..9787d53326 100644 @Override -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0377-Fix-some-generation-concurrency-issues.patch b/Spigot-Server-Patches/0377-Fix-some-generation-concurrency-issues.patch index 589577e5e..e036a0635 100644 --- a/Spigot-Server-Patches/0377-Fix-some-generation-concurrency-issues.patch +++ b/Spigot-Server-Patches/0377-Fix-some-generation-concurrency-issues.patch @@ -1,14 +1,14 @@ -From c951ac74acbd752fdea1bd1aa958d5a184e78115 Mon Sep 17 00:00:00 2001 +From c560f95e0058d4975a17edee255e9c62f0442d9c Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 24 May 2019 07:53:16 +0100 Subject: [PATCH] Fix some generation concurrency issues diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6fd6c343d..d981dfd43 100644 +index 61faf87179..c089080a90 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -100,6 +100,23 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -84,6 +84,23 @@ public abstract class World implements GeneratorAccess, AutoCloseable { private int tileTickPosition; public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions public java.util.ArrayDeque redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here @@ -33,7 +33,7 @@ index 6fd6c343d..d981dfd43 100644 public CraftWorld getWorld() { return this.world; diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java b/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java -index 22e14fe1e..e2af6d43b 100644 +index 22e14fe1e9..e2af6d43b2 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureStateProviderWeighted.java @@ -23,18 +23,18 @@ public class WorldGenFeatureStateProviderWeighted extends WorldGenFeatureStatePr @@ -59,7 +59,7 @@ index 22e14fe1e..e2af6d43b 100644 builder.put(dynamicops.createString("type"), dynamicops.createString(IRegistry.t.getKey(this.a).toString())).put(dynamicops.createString("entries"), this.b.a(dynamicops, (iblockdata) -> { diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java -index fc4348b60..44be7169f 100644 +index fc4348b602..44be7169ff 100644 --- a/src/main/java/net/minecraft/server/WorldGenStronghold.java +++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java @@ -10,10 +10,12 @@ import javax.annotation.Nullable; @@ -222,5 +222,5 @@ index fc4348b60..44be7169f 100644 } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0388-Anti-Xray.patch b/Spigot-Server-Patches/0388-Anti-Xray.patch index 2dd2164ca..ac6522842 100644 --- a/Spigot-Server-Patches/0388-Anti-Xray.patch +++ b/Spigot-Server-Patches/0388-Anti-Xray.patch @@ -1,4 +1,4 @@ -From 74d8489304e14d2b6ffd00976fc48142492ca132 Mon Sep 17 00:00:00 2001 +From 1774cd5c93235fad7e6f9f9fa318b358f40cb6de Mon Sep 17 00:00:00 2001 From: stonar96 Date: Mon, 20 Aug 2018 03:03:58 +0200 Subject: [PATCH] Anti-Xray @@ -1648,7 +1648,7 @@ index a905a29e75..335b644351 100644 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 d981dfd434..a1b777ac03 100644 +index c089080a90..bcf326c859 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; @@ -1660,7 +1660,7 @@ index d981dfd434..a1b777ac03 100644 import com.destroystokyo.paper.event.server.ServerExceptionEvent; import com.destroystokyo.paper.exception.ServerInternalException; import com.google.common.base.MoreObjects; -@@ -92,6 +94,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -76,6 +78,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper @@ -1668,7 +1668,7 @@ index d981dfd434..a1b777ac03 100644 public final co.aikar.timings.WorldTimingsHandler timings; // Paper public static BlockPosition lastPhysicsProblem; // Spigot -@@ -133,6 +136,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -117,6 +120,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) { this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(worlddata.getName(), this.spigotConfig); // Paper @@ -1676,7 +1676,7 @@ index d981dfd434..a1b777ac03 100644 this.generator = gen; this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit -@@ -363,6 +367,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -336,6 +340,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { // CraftBukkit end IBlockData iblockdata1 = chunk.setType(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag @@ -1710,5 +1710,5 @@ index 7772d59005..4570ed9991 100644 return section; } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch index f25e0fb05..b6074cb91 100644 --- a/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0395-Asynchronous-chunk-IO-and-loading.patch @@ -1,4 +1,4 @@ -From b2c12a10d2992373cd9bb7830bdb876772582175 Mon Sep 17 00:00:00 2001 +From 198c099e09176e239533ad40e814da2ef02dcae1 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 13 Jul 2019 09:23:10 -0700 Subject: [PATCH] Asynchronous chunk IO and loading @@ -4026,7 +4026,7 @@ index 0f652e58e1..5eb52817f1 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f56ec3d341..1a6a88b178 100644 +index c3ee5411c3..9fe9098089 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -555,22 +555,23 @@ public class CraftWorld implements World { @@ -4061,7 +4061,7 @@ index f56ec3d341..1a6a88b178 100644 // fall through to load // we do this so we do not re-read the chunk data on disk -@@ -2395,6 +2396,25 @@ public class CraftWorld implements World { +@@ -2390,6 +2391,25 @@ public class CraftWorld implements World { return persistentRaid.raids.values().stream().map(CraftRaid::new).collect(Collectors.toList()); } @@ -4108,5 +4108,5 @@ index 07936eeba2..5bdcdcf9e8 100644 log.log( Level.SEVERE, "------------------------------" ); // -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch b/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch index a64fe893a..1d4cc8ff6 100644 --- a/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/Spigot-Server-Patches/0396-Use-getChunkIfLoadedImmediately-in-places.patch @@ -1,4 +1,4 @@ -From 3b0d0c226a4f9ef09c808fe10c82420a978a140a Mon Sep 17 00:00:00 2001 +From 0a16c31383daff812445a168e9316b3b7758e80e Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 8 Jul 2019 00:13:36 -0700 Subject: [PATCH] Use getChunkIfLoadedImmediately in places @@ -8,7 +8,7 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk load in that case). diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7c7cd851c..bbfbe4b1e 100644 +index a92f251ca5..2917e1bd42 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -204,7 +204,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -21,7 +21,7 @@ index 7c7cd851c..bbfbe4b1e 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 8c54022e0..f6fbba36f 100644 +index 8c54022e07..f6fbba36f4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -989,7 +989,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -34,10 +34,10 @@ index 8c54022e0..f6fbba36f 100644 return; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a1b777ac0..0944ce045 100644 +index bcf326c859..9f12d765bd 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -130,8 +130,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -114,8 +114,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } public Chunk getChunkIfLoaded(int x, int z) { @@ -55,7 +55,7 @@ index a1b777ac0..0944ce045 100644 protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) { this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot -@@ -1134,14 +1142,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1103,14 +1111,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { } public boolean n(BlockPosition blockposition) { @@ -73,7 +73,7 @@ index a1b777ac0..0944ce045 100644 return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).a((IBlockAccess) this, blockposition, entity); } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index f86404f83..92601c581 100644 +index f86404f83a..92601c581c 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -143,9 +143,10 @@ public class ActivationRange @@ -90,5 +90,5 @@ index f86404f83..92601c581 100644 } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0397-Reduce-sync-loads.patch b/Spigot-Server-Patches/0397-Reduce-sync-loads.patch index 321fb0a23..537889f0c 100644 --- a/Spigot-Server-Patches/0397-Reduce-sync-loads.patch +++ b/Spigot-Server-Patches/0397-Reduce-sync-loads.patch @@ -1,4 +1,4 @@ -From 087ba4eb1b20e81032cb81fd141eedbeae580ded Mon Sep 17 00:00:00 2001 +From 74e2a3bcae10c712efac79d61974edaa0dc5be7e Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 19 Jul 2019 03:29:14 -0700 Subject: [PATCH] Reduce sync loads @@ -280,10 +280,10 @@ index e10035d461..92b22b9996 100644 this.serverThreadQueue.awaitTasks(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 0944ce0458..9df079d8af 100644 +index 9f12d765bd..79175c637c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1198,7 +1198,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1167,7 +1167,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 <= j; ++i1) { for (int j1 = k; j1 <= l; ++j1) { @@ -292,7 +292,7 @@ index 0944ce0458..9df079d8af 100644 if (chunk != null) { chunk.a(entity, axisalignedbb, list, predicate); -@@ -1219,7 +1219,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1188,7 +1188,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -301,7 +301,7 @@ index 0944ce0458..9df079d8af 100644 if (chunk != null) { chunk.a(entitytypes, axisalignedbb, list, predicate); -@@ -1242,7 +1242,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1211,7 +1211,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { for (int i1 = i; i1 < j; ++i1) { for (int j1 = k; j1 < l; ++j1) { @@ -328,5 +328,5 @@ index 5eb52817f1..6d362316f7 100644 // Add env and gen to constructor public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) { -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch index 81f817434..544a9cfa4 100644 --- a/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch +++ b/Spigot-Server-Patches/0409-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch @@ -1,4 +1,4 @@ -From 4e6c0d35f3089a469d2dc5fe45c51a7fccbb0bc2 Mon Sep 17 00:00:00 2001 +From 685a505a55a6d57d1c53d627ccf4559214af98df Mon Sep 17 00:00:00 2001 From: MisterErwin Date: Wed, 30 Oct 2019 16:57:54 +0100 Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and @@ -6,10 +6,10 @@ Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1a6a88b17..be8b617f2 100644 +index 9fe9098089..7654519c9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1831,7 +1831,12 @@ public class CraftWorld implements World { +@@ -1826,7 +1826,12 @@ public class CraftWorld implements World { height = 9; } @@ -24,5 +24,5 @@ index 1a6a88b17..be8b617f2 100644 for (BlockFace dir : faces) { IBlockData nmsBlock = world.getType(pos.shift(CraftBlock.blockFaceToNotch(dir))); -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0414-PlayerLaunchProjectileEvent.patch b/Spigot-Server-Patches/0414-PlayerLaunchProjectileEvent.patch index 1761ea485..f537e249d 100644 --- a/Spigot-Server-Patches/0414-PlayerLaunchProjectileEvent.patch +++ b/Spigot-Server-Patches/0414-PlayerLaunchProjectileEvent.patch @@ -1,11 +1,11 @@ -From ac9aaf1721701a758bb444c38c8ff02b6acd7780 Mon Sep 17 00:00:00 2001 +From 21011ca9f386aea65f2e9c521b391745bc9e9974 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 21 Jul 2018 03:11:03 -0500 Subject: [PATCH] PlayerLaunchProjectileEvent diff --git a/src/main/java/net/minecraft/server/InteractionResultWrapper.java b/src/main/java/net/minecraft/server/InteractionResultWrapper.java -index 5cab47a28..886babdcd 100644 +index 5cab47a282..886babdcda 100644 --- a/src/main/java/net/minecraft/server/InteractionResultWrapper.java +++ b/src/main/java/net/minecraft/server/InteractionResultWrapper.java @@ -10,6 +10,7 @@ public class InteractionResultWrapper { @@ -17,14 +17,15 @@ index 5cab47a28..886babdcd 100644 return this.a; } diff --git a/src/main/java/net/minecraft/server/ItemEgg.java b/src/main/java/net/minecraft/server/ItemEgg.java -index c72f618bb..a41ccc8f6 100644 +index 6fccd70a03..16f1b734e0 100644 --- a/src/main/java/net/minecraft/server/ItemEgg.java +++ b/src/main/java/net/minecraft/server/ItemEgg.java -@@ -16,13 +16,32 @@ public class ItemEgg extends Item { +@@ -16,21 +16,35 @@ public class ItemEgg extends Item { entityegg.setItem(itemstack); entityegg.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, 1.0F); -- world.addEntity(entityegg); +- // CraftBukkit start +- if (!world.addEntity(entityegg)) { + // Paper start + com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityegg.getBukkitEntity()); + if (event.callEvent() && world.addEntity(entityegg)) { @@ -37,13 +38,18 @@ index c72f618bb..a41ccc8f6 100644 + world.playSound((EntityHuman) null, entityhuman.locX(), entityhuman.locY(), entityhuman.locZ(), SoundEffects.ENTITY_EGG_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + entityhuman.b(StatisticList.ITEM_USED.b(this)); + } else { -+ if (entityhuman instanceof EntityPlayer) { -+ ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); -+ } + if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } +- return InteractionResultWrapper.fail(itemstack); + return new InteractionResultWrapper(EnumInteractionResult.FAIL, itemstack); -+ } + } +- // CraftBukkit end + // Paper end ++ ++ } + world.playSound((EntityHuman) null, entityhuman.locX(), entityhuman.locY(), entityhuman.locZ(), SoundEffects.ENTITY_EGG_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (ItemEgg.i.nextFloat() * 0.4F + 0.8F)); // CraftBukkit - from above + /* // Paper start - moved up entityhuman.b(StatisticList.ITEM_USED.b(this)); @@ -55,7 +61,7 @@ index c72f618bb..a41ccc8f6 100644 return InteractionResultWrapper.success(itemstack); } diff --git a/src/main/java/net/minecraft/server/ItemEnderPearl.java b/src/main/java/net/minecraft/server/ItemEnderPearl.java -index cab869e8e..b57e9f7e7 100644 +index cab869e8e9..b57e9f7e72 100644 --- a/src/main/java/net/minecraft/server/ItemEnderPearl.java +++ b/src/main/java/net/minecraft/server/ItemEnderPearl.java @@ -16,22 +16,37 @@ public class ItemEnderPearl extends Item { @@ -107,7 +113,7 @@ index cab869e8e..b57e9f7e7 100644 return InteractionResultWrapper.success(itemstack); } diff --git a/src/main/java/net/minecraft/server/ItemExpBottle.java b/src/main/java/net/minecraft/server/ItemExpBottle.java -index 071688b3a..1d575af52 100644 +index 071688b3ab..1d575af526 100644 --- a/src/main/java/net/minecraft/server/ItemExpBottle.java +++ b/src/main/java/net/minecraft/server/ItemExpBottle.java @@ -15,19 +15,38 @@ public class ItemExpBottle extends Item { @@ -152,7 +158,7 @@ index 071688b3a..1d575af52 100644 return InteractionResultWrapper.success(itemstack); } diff --git a/src/main/java/net/minecraft/server/ItemLingeringPotion.java b/src/main/java/net/minecraft/server/ItemLingeringPotion.java -index c19b678cf..7672e31fc 100644 +index c19b678cfb..7672e31fc0 100644 --- a/src/main/java/net/minecraft/server/ItemLingeringPotion.java +++ b/src/main/java/net/minecraft/server/ItemLingeringPotion.java @@ -8,7 +8,11 @@ public class ItemLingeringPotion extends ItemPotionThrowable { @@ -170,7 +176,7 @@ index c19b678cf..7672e31fc 100644 } } diff --git a/src/main/java/net/minecraft/server/ItemPotionThrowable.java b/src/main/java/net/minecraft/server/ItemPotionThrowable.java -index 5d1f118c5..d1beab1ab 100644 +index 5d1f118c51..d1beab1ab7 100644 --- a/src/main/java/net/minecraft/server/ItemPotionThrowable.java +++ b/src/main/java/net/minecraft/server/ItemPotionThrowable.java @@ -15,13 +15,31 @@ public class ItemPotionThrowable extends ItemPotion { @@ -207,10 +213,10 @@ index 5d1f118c5..d1beab1ab 100644 return InteractionResultWrapper.success(itemstack); } diff --git a/src/main/java/net/minecraft/server/ItemSnowball.java b/src/main/java/net/minecraft/server/ItemSnowball.java -index d38776b7e..e6044e654 100644 +index 56ec508959..e6044e654b 100644 --- a/src/main/java/net/minecraft/server/ItemSnowball.java +++ b/src/main/java/net/minecraft/server/ItemSnowball.java -@@ -17,18 +17,27 @@ public class ItemSnowball extends Item { +@@ -17,19 +17,27 @@ public class ItemSnowball extends Item { entitysnowball.setItem(itemstack); entitysnowball.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, 1.0F); @@ -225,7 +231,8 @@ index d38776b7e..e6044e654 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); } -- world.playSound((EntityHuman) null, entityhuman.locX(), entityhuman.locY(), entityhuman.locZ(), SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemSnowball.i.nextFloat() * 0.4F + 0.8F)); } else if (entityhuman instanceof EntityPlayer) { +- world.playSound((EntityHuman) null, entityhuman.locX(), entityhuman.locY(), entityhuman.locZ(), SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemSnowball.i.nextFloat() * 0.4F + 0.8F)); +- } else if (entityhuman instanceof EntityPlayer) { - ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + world.playSound((EntityHuman) null, entityhuman.locX(), entityhuman.locY(), entityhuman.locZ(), SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + entityhuman.b(StatisticList.ITEM_USED.b(this)); @@ -244,7 +251,7 @@ index d38776b7e..e6044e654 100644 /* if (!entityhuman.abilities.canInstantlyBuild) { diff --git a/src/main/java/net/minecraft/server/ItemSplashPotion.java b/src/main/java/net/minecraft/server/ItemSplashPotion.java -index 18bd846ce..e71e933ff 100644 +index 18bd846cee..e71e933fff 100644 --- a/src/main/java/net/minecraft/server/ItemSplashPotion.java +++ b/src/main/java/net/minecraft/server/ItemSplashPotion.java @@ -8,7 +8,11 @@ public class ItemSplashPotion extends ItemPotionThrowable { @@ -262,5 +269,5 @@ index 18bd846ce..e71e933ff 100644 } } -- -2.25.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0434-Seed-based-feature-search.patch b/Spigot-Server-Patches/0434-Seed-based-feature-search.patch index d31115bc6..34f5d1422 100644 --- a/Spigot-Server-Patches/0434-Seed-based-feature-search.patch +++ b/Spigot-Server-Patches/0434-Seed-based-feature-search.patch @@ -1,4 +1,4 @@ -From f6980b7867cefdfbb83471c04034465e6e3f004e Mon Sep 17 00:00:00 2001 +From d3a017dd1bdedd27276373fc7fe80d677f4a390e Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Mon, 13 Jan 2020 15:40:32 +0100 Subject: [PATCH] Seed based feature search @@ -15,7 +15,7 @@ changes but this should usually not happen. A config option to disable this improvement is added though in case that should ever be necessary. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 3b8488d3f..bce502181 100644 +index 3b8488d3ff..bce502181f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -359,6 +359,12 @@ public class PaperWorldConfig { @@ -32,7 +32,7 @@ index 3b8488d3f..bce502181 100644 private void maxEntityCollision() { maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) ); diff --git a/src/main/java/net/minecraft/server/BiomeManager.java b/src/main/java/net/minecraft/server/BiomeManager.java -index e96f544f1..68423645d 100644 +index e96f544f12..68423645df 100644 --- a/src/main/java/net/minecraft/server/BiomeManager.java +++ b/src/main/java/net/minecraft/server/BiomeManager.java @@ -12,10 +12,12 @@ public class BiomeManager { @@ -49,7 +49,7 @@ index e96f544f1..68423645d 100644 return this.c.a(this.b, blockposition.getX(), blockposition.getY(), blockposition.getZ(), this.a); } diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java -index f2a19acd8..09f1308b0 100644 +index f2a19acd84..09f1308b0d 100644 --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java @@ -64,10 +64,12 @@ public class ChunkCoordIntPair { @@ -66,7 +66,7 @@ index f2a19acd8..09f1308b0 100644 return this.z << 4; } diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java -index e8ce2ecf2..acfe732af 100644 +index e8ce2ecf23..acfe732af5 100644 --- a/src/main/java/net/minecraft/server/StructureGenerator.java +++ b/src/main/java/net/minecraft/server/StructureGenerator.java @@ -109,6 +109,15 @@ public abstract class StructureGenerator @@ -94,10 +94,10 @@ index e8ce2ecf2..acfe732af 100644 public abstract StructureGenerator.a a(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9df079d8a..8a2bb79ad 100644 +index 79175c637c..44fb13f8db 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1588,8 +1588,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1557,8 +1557,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return this.methodProfiler; } @@ -109,5 +109,5 @@ index 9df079d8a..8a2bb79ad 100644 } } -- -2.18.0.windows.1 +2.25.0 diff --git a/Spigot-Server-Patches/0435-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/Spigot-Server-Patches/0436-Optimise-getChunkAt-calls-for-loaded-chunks.patch similarity index 95% rename from Spigot-Server-Patches/0435-Optimise-getChunkAt-calls-for-loaded-chunks.patch rename to Spigot-Server-Patches/0436-Optimise-getChunkAt-calls-for-loaded-chunks.patch index fdbc3afd2..bd66f7e79 100644 --- a/Spigot-Server-Patches/0435-Optimise-getChunkAt-calls-for-loaded-chunks.patch +++ b/Spigot-Server-Patches/0436-Optimise-getChunkAt-calls-for-loaded-chunks.patch @@ -1,4 +1,4 @@ -From 17c2e5b74e4cb8b5317863e8e7b17a96b93efef3 Mon Sep 17 00:00:00 2001 +From 8bc9117823abd132236349acd3e33318571b314b Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 25 Jan 2020 17:04:35 -0800 Subject: [PATCH] Optimise getChunkAt calls for loaded chunks @@ -65,10 +65,10 @@ index 72919e4c64..42c559ad4f 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8a2bb79ad9..abd8b751ba 100644 +index 44fb13f8db..03bd681172 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -271,6 +271,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -255,6 +255,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @Override public Chunk getChunkAt(int i, int j) { @@ -84,5 +84,5 @@ index 8a2bb79ad9..abd8b751ba 100644 } -- -2.25.0.windows.1 +2.25.0 diff --git a/work/Bukkit b/work/Bukkit index e601e7aaa..93e39ce19 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e601e7aaa1372fb30ee4334f446d73273a0a3cd1 +Subproject commit 93e39ce1934a9a7675550c12a7bd4861a2030f2b diff --git a/work/CraftBukkit b/work/CraftBukkit index e911c70f8..ab13a117a 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit e911c70f855e7785f79ffb8b428a12d0e8c31fec +Subproject commit ab13a117a910635638886991a2d77a82261b2cb6 diff --git a/work/Spigot b/work/Spigot index 800b93fb8..f2c1cd15d 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 800b93fb8cfcad0ac393eb401e00a40475722be3 +Subproject commit f2c1cd15d99e523ef21cd1f761914a2b9eb940b8