Updated Upstream (Bukkit/CraftBukkit/Spigot)

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
93e39ce1 Clarify documentation regarding getMaterial with legacyName = true
c3aeaea0 Improve dependency tracker
14c9d275 Add support for transitive depends in load access warning
c8afe560 SPIGOT-5526: Add EntityEnterBlockEvent
6bb6f07d SPIGOT-5548: Show error that hints towards plugins misusing reflection
ed75537d SPIGOT-5546: Fix bad depend access using wrong provider in message
4e4c0ee9 Fix buggy classloader warning triggering for all classes
89586a4c Print warning when loading classes from depends that have not been specified
d4fe9680 Fix bug where disablePlugin could remove ConfigurationSerializable classes from other plugins
85e683b7 Add additional checkstyle checks
612fd8e1 Correct max page count in BookMeta docs
fa8a9781 Correct max title length in BookMeta docs

CraftBukkit Changes:
ab13a117 SPIGOT-5550: Cancelled ProjectileLaunchEvent still plays sound for eggs
44016b1d SPIGOT-5538: Using javaw to run GUI prints input error
e653ae76 SPIGOT-5526: Call EntityEnterBlockEvent for bees trying to enter hives
6515ea49 SPIGOT-5537: Bee nests generated by growing trees near flower have no bees
d82b3149 Remove unused CraftWorld.getId method
10763a88 Change some block == AIR checks to isAir to catch CAVE_AIR

Spigot Changes:
f2c1cd15 Rebuild patches
bcd458ad Reformat patches
This commit is contained in:
Shane Freeder 2020-01-28 19:43:57 +00:00
parent c9eebbb802
commit 5792c8626a
No known key found for this signature in database
GPG key ID: A3F61EA5A085289C
74 changed files with 596 additions and 597 deletions

View file

@ -1,4 +1,4 @@
From f6e991d49e6476fb94781ddaa0ec805bdd354243 Mon Sep 17 00:00:00 2001
From 060742f1c76bdb9323a7208250965788502ad043 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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( "<spigotConfig>" );
- fileTimings.println( Bukkit.spigot().getConfig().saveToString() );
- fileTimings.println( "</spigotConfig>" );
- fileTimings.println("<spigotConfig>");
- fileTimings.println(Bukkit.spigot().getConfig().saveToString());
- fileTimings.println("</spigotConfig>");
-
- 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<String, Class<?>> classes = new ConcurrentHashMap<String, Class<?>>();
private final List<PluginClassLoader> loaders = new CopyOnWriteArrayList<PluginClassLoader>();
- 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<CustomTimingsHandler> HANDLERS = new ConcurrentLinkedQueue<CustomTimingsHandler>();
- /*========================================================================*/
- 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

View file

@ -1,14 +1,14 @@
From 7b2e3ac64e82aa6b5d59c0e89989b8a21cf767e2 Mon Sep 17 00:00:00 2001
From 827f8b1953bf6c84be103bcebd58f25914563b5d Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
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

View file

@ -1,14 +1,14 @@
From e1e9d92d79906e193a159ecad87a1f2afd8ff06c Mon Sep 17 00:00:00 2001
From 2987610783b80ca353e9c6a6e4e463114c9d85ee Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View file

@ -1,11 +1,11 @@
From d411f2a704717d2fbb816b27fe96f7632abf64a3 Mon Sep 17 00:00:00 2001
From 7664bee9fabc104e5e97b7122e1e60bd112e747b Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
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

View file

@ -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 <zach.brown@destroystokyo.com>
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

View file

@ -1,14 +1,14 @@
From 8ecc2f468db20ab448dffd9684f101f3c2e3fa83 Mon Sep 17 00:00:00 2001
From 049f07e456fd74dff34a47eef4ffaa10706c8dbf Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
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

View file

@ -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 <jedediah@silencegreys.com>
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

View file

@ -1,4 +1,4 @@
From d3d0edba86d8318435145cb01dc7e8a9c7900d1a Mon Sep 17 00:00:00 2001
From 756aea639de4f25d902ce0c2fc794d3d4d1265d3 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
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

View file

@ -1,4 +1,4 @@
From 5b3f635c4a9f2014dfd33488958413331194b9f8 Mon Sep 17 00:00:00 2001
From b3b57a6566f5e8177cbbb4ee15fd5898a05feb42 Mon Sep 17 00:00:00 2001
From: William <admin@domnian.com>
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

View file

@ -1,4 +1,4 @@
From e947d31d9b14ec3f5e6ec961737a801429728238 Mon Sep 17 00:00:00 2001
From 716d04a625ad53d7c23629e6b0d9e169fcc3878e Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
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

View file

@ -1,11 +1,11 @@
From 5494d9b77576cb7705c385f9ce247ff1772fda1a Mon Sep 17 00:00:00 2001
From 6e5d036ae3b3f7115a03dba6e5cb6350a87c49d3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View file

@ -1,4 +1,4 @@
From 151c09ccc86062ae1d57ba7de2f37e27389888d3 Mon Sep 17 00:00:00 2001
From a8e01b9271318336993e03ebd734cf22ec5472a6 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
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

View file

@ -1,4 +1,4 @@
From 10fb919b099319913ad3b39f2ae5b3533fb0273a Mon Sep 17 00:00:00 2001
From 9cf9ffe4e56840183e198f65002c4d260a422437 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View file

@ -1,14 +1,14 @@
From 3508113428e6d92f80a705827efc4290fb961602 Mon Sep 17 00:00:00 2001
From 5c5b505bed7e25ccca0603f053eb434501af7f47 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
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

View file

@ -1,4 +1,4 @@
From d5c1e782cc2702e6378bd565345ed520567c6ce2 Mon Sep 17 00:00:00 2001
From c8c8741ee68669f675d4cb4dc5abc430d289bcf1 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
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<String> 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

View file

@ -1,4 +1,4 @@
From bc1c2155484fd5942bac31d5c13cd77777245af1 Mon Sep 17 00:00:00 2001
From 9e0104613a45d118b2cfb5f2d3440b4767bc3f0f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View file

@ -1,4 +1,4 @@
From 62b86fe6a124b31a9f3b3fdb75f33f77d65d2123 Mon Sep 17 00:00:00 2001
From efac18b9f2572a808c18cd111e0468d9a3e4be52 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View file

@ -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 <zach.brown@destroystokyo.com>
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

View file

@ -1,4 +1,4 @@
From 1977dda6546322ca3782b8ae3a4951690d74c696 Mon Sep 17 00:00:00 2001
From e7fbc30984f676f22c203d4a1eff91ae30f9e9dc Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<Command> 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

View file

@ -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 <theboyetronic@gmail.com>
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>", permission).split("\n")) {
target.sendMessage(line);
--
2.25.0.windows.1
2.25.0

View file

@ -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 <theboyetronic@gmail.com>
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

View file

@ -1,4 +1,4 @@
From 9ec32ef81405280984d6b00aecc95b492a2cc93e Mon Sep 17 00:00:00 2001
From 42fc4b022ca608cf75b768be5569d073156087e0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View file

@ -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 <blake.galbreath@gmail.com>
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