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