diff --git a/patches/unapplied/api/0003-Annotation-Test-changes.patch b/patches/api/0003-Annotation-Test-changes.patch similarity index 100% rename from patches/unapplied/api/0003-Annotation-Test-changes.patch rename to patches/api/0003-Annotation-Test-changes.patch diff --git a/patches/unapplied/api/0004-Add-FastUtil-to-Bukkit.patch b/patches/api/0004-Add-FastUtil-to-Bukkit.patch similarity index 82% rename from patches/unapplied/api/0004-Add-FastUtil-to-Bukkit.patch rename to patches/api/0004-Add-FastUtil-to-Bukkit.patch index 0e905b3b3..b6e5276c5 100644 --- a/patches/unapplied/api/0004-Add-FastUtil-to-Bukkit.patch +++ b/patches/api/0004-Add-FastUtil-to-Bukkit.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add FastUtil to Bukkit Doesn't expose to plugins, just allows Paper-API to use it for optimization diff --git a/build.gradle.kts b/build.gradle.kts -index e49f4853e36f493754841231eeb5dd093b3788e0..98afa6a25131dc626ea7a5122f33df6bd2d39178 100644 +index 8372fb4347113bc7dbd1bff738236b388a72e185..c37a91b393c6e64cfe04c7bdd404bc267d1d339e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -19,6 +19,7 @@ dependencies { +@@ -18,6 +18,7 @@ dependencies { api("com.googlecode.json-simple:json-simple:1.1.1") { isTransitive = false // includes junit } diff --git a/patches/unapplied/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch similarity index 99% rename from patches/unapplied/api/0005-Adventure.patch rename to patches/api/0005-Adventure.patch index 98f21f2bc..1703888fa 100644 --- a/patches/unapplied/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -7,10 +7,10 @@ Co-authored-by: zml Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index 98afa6a25131dc626ea7a5122f33df6bd2d39178..eefc024acc3e14ae21855df7f2f358bd1e0a9e38 100644 +index c37a91b393c6e64cfe04c7bdd404bc267d1d339e..9b3621a09bd37945877752c801cdd9283017522c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -8,18 +8,37 @@ java { +@@ -8,17 +8,36 @@ java { withJavadocJar() } @@ -29,7 +29,6 @@ index 98afa6a25131dc626ea7a5122f33df6bd2d39178..eefc024acc3e14ae21855df7f2f358bd + dependencies { // api dependencies are listed transitively to API consumers - api("commons-lang:commons-lang:2.6") api("com.google.guava:guava:31.0.1-jre") api("com.google.code.gson:gson:2.8.9") - api("net.md-5:bungeecord-chat:1.16-R0.4") @@ -49,7 +48,7 @@ index 98afa6a25131dc626ea7a5122f33df6bd2d39178..eefc024acc3e14ae21855df7f2f358bd // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.4") -@@ -77,9 +96,24 @@ tasks.withType { +@@ -76,9 +95,24 @@ tasks.withType { "https://guava.dev/releases/31.0.1-jre/api/docs/", "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/", "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations @@ -1046,7 +1045,7 @@ index cf53aead2eb5a52f1505ca694e95108fce28aa18..14b078e8fa4347dd0e186e5847693904 throw new UnsupportedOperationException("Not supported yet."); } diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index 77553fe2e7c1b6a4a9c566e663beffd85bdbd21d..c6d09a8bf2157d4c1c8c40fbb78ddcbbef8b762a 100644 +index 21b95d404fbdf7f972f8a13ecd07dc28481f2286..da844079a9d3efd1a92c892de79fc7b3aeecaf4b 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; @@ -1058,7 +1057,7 @@ index 77553fe2e7c1b6a4a9c566e663beffd85bdbd21d..c6d09a8bf2157d4c1c8c40fbb78ddcbb AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"), AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"), -@@ -1227,4 +1227,12 @@ public enum Sound implements Keyed { +@@ -1345,4 +1345,12 @@ public enum Sound implements Keyed { public NamespacedKey getKey() { return key; } @@ -1284,7 +1283,7 @@ index ab6b0ec328e94bf65a0dafd0403e5ee3b870296c..c8d37184d8e882a4084a1bfef85faa33 /** diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java -index 4bfc214685164a38ba4261b2bae7faa8a3bd297e..11af71edd7eaefb3cce3c2b59d390ff92e95ec64 100644 +index 80209bb88a0294d4eedc78509533a6257315d856..57ade3963faae3724d9a01eeeb6d02168acb567e 100644 --- a/src/main/java/org/bukkit/command/Command.java +++ b/src/main/java/org/bukkit/command/Command.java @@ -32,8 +32,7 @@ public abstract class Command { @@ -1549,10 +1548,10 @@ index fcc34b640265f4dccb46b9f09466ab8e1d96043e..74599b4ee0518481c0e3a5f6ab2f5302 + // Paper end } diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index b833ef63fbe01271ceb2bd83a9eb4a84c9912761..8eb0497c81744874809ebc4bc2e28b128e66a926 100644 +index e2800dc97af5bbb02c555069285a0fa155a9799d..5744a9f432ec75f6b6b1991ff488dffb9591c934 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java -@@ -294,6 +294,19 @@ public abstract class Enchantment implements Keyed { +@@ -299,6 +299,19 @@ public abstract class Enchantment implements Keyed { * @return True if the enchantment may be applied, otherwise False */ public abstract boolean canEnchantItem(@NotNull ItemStack item); @@ -2593,7 +2592,7 @@ index 9866c07c999f46cb585709804aaad710c3031d5a..c7c45e2de8cca1bf8b8e12752e08db62 /** diff --git a/src/main/java/org/bukkit/event/player/PlayerChatEvent.java b/src/main/java/org/bukkit/event/player/PlayerChatEvent.java -index 8ea56aac752544f798728b429e7152afbee497e4..213837794c603cb9f152f917941b912326a08030 100644 +index a1f4261eaa1497554f1e51d1d5a072c2eb9226df..3a1da86e3dbf18c6e1040086c1df4b8976bc2b9d 100644 --- a/src/main/java/org/bukkit/event/player/PlayerChatEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerChatEvent.java @@ -18,6 +18,7 @@ import org.jetbrains.annotations.NotNull; @@ -3219,7 +3218,7 @@ index 03bfca9d368bbe4b7c1353d52c883e756bf69bda..943d324435350d3f16fad3e21cb472a0 /** diff --git a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java -index cc5e2fef75736e56420df4cf4f83152fa97926df..172697ac5dc0ea3551a61b5589416ac68f372cd1 100644 +index b9abfdc61f76c5562de6649f8440aeaab536b3be..12cdae95c338d21684991d34aea5a643f4b4bcd3 100644 --- a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java +++ b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java @@ -21,15 +21,16 @@ public class ServerListPingEvent extends ServerEvent implements Iterable @@ -3234,7 +3233,7 @@ index cc5e2fef75736e56420df4cf4f83152fa97926df..172697ac5dc0ea3551a61b5589416ac6 + @Deprecated // Paper public ServerListPingEvent(@NotNull final InetAddress address, @NotNull final String motd, final int numPlayers, final int maxPlayers) { super(true); - Validate.isTrue(numPlayers >= 0, "Cannot have negative number of players online", numPlayers); + Preconditions.checkArgument(numPlayers >= 0, "Cannot have negative number of players online", numPlayers); this.address = address; - this.motd = motd; + this.motd = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(motd); // Paper @@ -3249,9 +3248,9 @@ index cc5e2fef75736e56420df4cf4f83152fa97926df..172697ac5dc0ea3551a61b5589416ac6 */ + @Deprecated // Paper protected ServerListPingEvent(@NotNull final InetAddress address, @NotNull final String motd, final int maxPlayers) { -+ super(true); -+ this.numPlayers = MAGIC_PLAYER_COUNT; -+ this.address = address; + super(true); + this.numPlayers = MAGIC_PLAYER_COUNT; + this.address = address; + this.motd = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(motd); // Paper + this.maxPlayers = maxPlayers; + } @@ -3260,10 +3259,10 @@ index cc5e2fef75736e56420df4cf4f83152fa97926df..172697ac5dc0ea3551a61b5589416ac6 + super(true); + Validate.isTrue(numPlayers >= 0, "Cannot have negative number of players online", numPlayers); + this.address = address; -+ this.motd = motd; + this.motd = motd; + this.numPlayers = numPlayers; -+ this.maxPlayers = maxPlayers; -+ } + this.maxPlayers = maxPlayers; + } + /** + * This constructor is intended for implementations that provide the + * {@link #iterator()} method, thus provided the {@link #getNumPlayers()} @@ -3274,12 +3273,12 @@ index cc5e2fef75736e56420df4cf4f83152fa97926df..172697ac5dc0ea3551a61b5589416ac6 + * @param maxPlayers the max number of players + */ + protected ServerListPingEvent(@NotNull final InetAddress address, @NotNull final net.kyori.adventure.text.Component motd, final int maxPlayers) { - super(true); - this.numPlayers = MAGIC_PLAYER_COUNT; - this.address = address; - this.motd = motd; - this.maxPlayers = maxPlayers; - } ++ super(true); ++ this.numPlayers = MAGIC_PLAYER_COUNT; ++ this.address = address; ++ this.motd = motd; ++ this.maxPlayers = maxPlayers; ++ } + /** + * Get the message of the day message. + * @@ -3386,7 +3385,7 @@ index f89d71b77d1200314df6ca23614d5ca6fb15ceb3..af4a7ce37eb10bab06eadb6583c7894b + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index f70a6a22b85ff0da76e67e9b223ad4e0b020b5c4..a15abec467bac70116a6fc21a300d4930b909f15 100644 +index 7b904dd2c0a660df8874d4800919e16981877163..d168a836d655b369f67200d7afe101b56ff815b1 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/unapplied/api/0006-Paper-Utils.patch b/patches/api/0006-Paper-Utils.patch similarity index 100% rename from patches/unapplied/api/0006-Paper-Utils.patch rename to patches/api/0006-Paper-Utils.patch diff --git a/patches/unapplied/api/0007-Timings-v2.patch b/patches/api/0007-Timings-v2.patch similarity index 99% rename from patches/unapplied/api/0007-Timings-v2.patch rename to patches/api/0007-Timings-v2.patch index 5f818cb16..befff4d9b 100644 --- a/patches/unapplied/api/0007-Timings-v2.patch +++ b/patches/api/0007-Timings-v2.patch @@ -2888,7 +2888,7 @@ index 0000000000000000000000000000000000000000..f9a00aecca5ec41b460bf41dfe1c6969 + } +} diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java -index 11af71edd7eaefb3cce3c2b59d390ff92e95ec64..8d7a61b711cec7eff0e71b9ae942f3050196d955 100644 +index 57ade3963faae3724d9a01eeeb6d02168acb567e..6fd341482d5250ad814e870360e40b52427f799a 100644 --- a/src/main/java/org/bukkit/command/Command.java +++ b/src/main/java/org/bukkit/command/Command.java @@ -33,6 +33,8 @@ public abstract class Command { @@ -3082,7 +3082,7 @@ index 0000000000000000000000000000000000000000..f8f0aa688e337222f305fb07f57eec47 + +} diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index 81e4fa57337f5a40c4b673136dd5eb595cce4629..f020cb04eba27a2e70fc7cf799ebbfb434b9d974 100644 +index e195e74c48c69047aa825b75fad95419c505b41f..f99d71301ceaa3af07ff0525f7d657ac6253d0e6 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java @@ -15,7 +15,6 @@ import org.bukkit.command.defaults.BukkitCommand; @@ -3139,19 +3139,19 @@ index 81e4fa57337f5a40c4b673136dd5eb595cce4629..f020cb04eba27a2e70fc7cf799ebbfb4 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 2a145d851ce30360aa39549745bd87590c034584..0000000000000000000000000000000000000000 +index 516d7fc7812aac343782861d0d567f54aa578c2a..0000000000000000000000000000000000000000 --- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java +++ /dev/null @@ -1,250 +0,0 @@ -package org.bukkit.command.defaults; - +-import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.List; --import org.apache.commons.lang.Validate; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; @@ -3337,9 +3337,9 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000 - @NotNull - @Override - public List tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) { -- Validate.notNull(sender, "Sender cannot be null"); -- Validate.notNull(args, "Arguments cannot be null"); -- Validate.notNull(alias, "Alias cannot be null"); +- Preconditions.checkArgument(sender != null, "Sender cannot be null"); +- Preconditions.checkArgument(args != null, "Arguments cannot be null"); +- Preconditions.checkArgument(alias != null, "Alias cannot be null"); - - if (args.length == 1) { - return StringUtil.copyPartialMatches(args[0], TIMINGS_SUBCOMMANDS, new ArrayList(TIMINGS_SUBCOMMANDS.size())); @@ -3413,10 +3413,10 @@ index fcab7ff11d06ae712d56d1eead5dca33bde29296..ca678d83218cd3179ebf4a0d0675e643 @NotNull diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833466854c4 100644 +index f5710d53296564eb4cd94382dc79f4c29769b672..fca73778c341df36becbf1ad1ad42ce8d1aa634c 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -358,7 +358,6 @@ public final class SimplePluginManager implements PluginManager { +@@ -357,7 +357,6 @@ public final class SimplePluginManager implements PluginManager { } } @@ -3424,7 +3424,7 @@ index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833 return result.toArray(new Plugin[result.size()]); } -@@ -397,9 +396,9 @@ public final class SimplePluginManager implements PluginManager { +@@ -396,9 +395,9 @@ public final class SimplePluginManager implements PluginManager { if (result != null) { plugins.add(result); @@ -3436,7 +3436,7 @@ index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833 } } -@@ -428,7 +427,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -427,7 +426,7 @@ public final class SimplePluginManager implements PluginManager { @Override @Nullable public synchronized Plugin getPlugin(@NotNull String name) { @@ -3445,7 +3445,7 @@ index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833 } @Override -@@ -646,7 +645,8 @@ public final class SimplePluginManager implements PluginManager { +@@ -645,7 +644,8 @@ public final class SimplePluginManager implements PluginManager { throw new IllegalPluginAccessException("Plugin attempted to register " + event + " while not enabled"); } @@ -3455,7 +3455,7 @@ index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833 getEventListeners(event).register(new TimedRegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); } else { getEventListeners(event).register(new RegisteredListener(listener, executor, priority, plugin, ignoreCancelled)); -@@ -861,7 +861,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -860,7 +860,7 @@ public final class SimplePluginManager implements PluginManager { @Override public boolean useTimings() { @@ -3464,7 +3464,7 @@ index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833 } /** -@@ -870,6 +870,6 @@ public final class SimplePluginManager implements PluginManager { +@@ -869,6 +869,6 @@ public final class SimplePluginManager implements PluginManager { * @param use True if per event timing code should be used */ public void useTimings(boolean use) { @@ -3473,7 +3473,7 @@ index 77dcfe35e6a765c8ccb38bc5d900989dc0456b13..7548e40af8043c1b5716f2d7d0122833 } } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index a09c3f71ca563b6f40a118ce1344d0eb273bed40..cf2f517765d8f2a23cc4a17d9ee2dcd81f841b1b 100644 +index 047c0304fd617cec990f80815b43916c6ef5a94c..5c1b8b05d8a5408bb4830942c74ebfe400ab5a32 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -54,7 +54,6 @@ public final class JavaPluginLoader implements PluginLoader { @@ -3516,7 +3516,7 @@ index a09c3f71ca563b6f40a118ce1344d0eb273bed40..cf2f517765d8f2a23cc4a17d9ee2dcd8 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 930f3fe08c2acd70eaf7850d0b1b2890512defa0..24e3eaa008e53af8d77439e4f2ab9007285d7826 100644 +index 2f74ec96ece706de23156ebabfe493211bc05391..6148b69af39344f758b05a28c7c572befa9b8f3f 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -29,7 +29,8 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/unapplied/api/0008-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/api/0008-Add-command-line-option-to-load-extra-plugin-jars-no.patch similarity index 91% rename from patches/unapplied/api/0008-Add-command-line-option-to-load-extra-plugin-jars-no.patch rename to patches/api/0008-Add-command-line-option-to-load-extra-plugin-jars-no.patch index 26bd9c9e3..50d4749cc 100644 --- a/patches/unapplied/api/0008-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/api/0008-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -55,10 +55,10 @@ index bbb4eb3c4e46ade7dd939c2b0e4436161d6f8a1e..1dedbea03e259679e101a8443b662b20 * Used for all administrative messages, such as an operator using a * command. diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef70f2b67ec 100644 +index fca73778c341df36becbf1ad1ad42ce8d1aa634c..50a2e8c138c677c91dad65c850acf840f7517e86 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -111,6 +111,12 @@ public final class SimplePluginManager implements PluginManager { +@@ -110,6 +110,12 @@ public final class SimplePluginManager implements PluginManager { @Override @NotNull public Plugin[] loadPlugins(@NotNull File directory) { @@ -68,10 +68,10 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 + @NotNull + public Plugin[] loadPlugins(final @NotNull File directory, final @NotNull List extraPluginJars) { + // Paper end - Validate.notNull(directory, "Directory cannot be null"); - Validate.isTrue(directory.isDirectory(), "Directory must be a directory"); + Preconditions.checkArgument(directory != null, "Directory cannot be null"); + Preconditions.checkArgument(directory.isDirectory(), "Directory must be a directory"); -@@ -128,7 +134,11 @@ public final class SimplePluginManager implements PluginManager { +@@ -127,7 +133,11 @@ public final class SimplePluginManager implements PluginManager { Map> softDependencies = new HashMap>(); // This is where it figures out all possible plugins @@ -84,7 +84,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 PluginLoader loader = null; for (Pattern filter : filters) { Matcher match = filter.matcher(file.getName()); -@@ -144,14 +154,14 @@ public final class SimplePluginManager implements PluginManager { +@@ -143,14 +153,14 @@ public final class SimplePluginManager implements PluginManager { description = loader.getPluginDescription(file); String name = description.getName(); if (name.equalsIgnoreCase("bukkit") || name.equalsIgnoreCase("minecraft") || name.equalsIgnoreCase("mojang")) { @@ -102,7 +102,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 continue; } -@@ -162,7 +172,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -161,7 +171,7 @@ public final class SimplePluginManager implements PluginManager { description.getName(), file.getPath(), replacedFile.getPath(), @@ -111,7 +111,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 )); } -@@ -183,7 +193,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -182,7 +192,7 @@ public final class SimplePluginManager implements PluginManager { file.getPath(), provided, pluginFile.getPath(), @@ -120,7 +120,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 )); } else { String replacedPlugin = pluginsProvided.put(provided, description.getName()); -@@ -265,7 +275,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -264,7 +274,7 @@ public final class SimplePluginManager implements PluginManager { server.getLogger().log( Level.SEVERE, @@ -129,7 +129,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 new UnknownDependencyException("Unknown dependency " + dependency + ". Please download and install " + dependency + " to run this plugin.")); break; } -@@ -304,11 +314,11 @@ public final class SimplePluginManager implements PluginManager { +@@ -303,11 +313,11 @@ public final class SimplePluginManager implements PluginManager { loadedPlugins.add(loadedPlugin.getName()); loadedPlugins.addAll(loadedPlugin.getDescription().getProvides()); } else { @@ -143,7 +143,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 } } } -@@ -335,11 +345,11 @@ public final class SimplePluginManager implements PluginManager { +@@ -334,11 +344,11 @@ public final class SimplePluginManager implements PluginManager { loadedPlugins.add(loadedPlugin.getName()); loadedPlugins.addAll(loadedPlugin.getDescription().getProvides()); } else { @@ -157,7 +157,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 } } } -@@ -352,7 +362,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -351,7 +361,7 @@ public final class SimplePluginManager implements PluginManager { while (failedPluginIterator.hasNext()) { File file = failedPluginIterator.next(); failedPluginIterator.remove(); @@ -167,7 +167,7 @@ index 7548e40af8043c1b5716f2d7d0122833466854c4..83d3ee09cc6f91b095f6b8519a431ef7 } } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index cf2f517765d8f2a23cc4a17d9ee2dcd81f841b1b..9700ed558e65260264279b92dc661f39a0d0209c 100644 +index 5c1b8b05d8a5408bb4830942c74ebfe400ab5a32..333c47a1f7e9d7ddf91aad5ec15163427f7b8039 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -91,7 +91,7 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied/api/0009-Player-affects-spawning-API.patch b/patches/api/0009-Player-affects-spawning-API.patch similarity index 100% rename from patches/unapplied/api/0009-Player-affects-spawning-API.patch rename to patches/api/0009-Player-affects-spawning-API.patch diff --git a/patches/unapplied/api/0010-Add-getTPS-method.patch b/patches/api/0010-Add-getTPS-method.patch similarity index 100% rename from patches/unapplied/api/0010-Add-getTPS-method.patch rename to patches/api/0010-Add-getTPS-method.patch diff --git a/patches/unapplied/api/0011-Version-Command-2.0.patch b/patches/api/0011-Version-Command-2.0.patch similarity index 78% rename from patches/unapplied/api/0011-Version-Command-2.0.patch rename to patches/api/0011-Version-Command-2.0.patch index 9d62aa925..50f9cbf8d 100644 --- a/patches/unapplied/api/0011-Version-Command-2.0.patch +++ b/patches/api/0011-Version-Command-2.0.patch @@ -73,7 +73,7 @@ index c9ecd5b1908e05a1b39dadcded27241672adcddf..355c46f1c1f08072446f3cc92c0d2289 // Paper end } diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9be1d3ff9 100644 +index 04b4fb6859df0221f8f9f92c5a7ac2dda1073355..b50f614806f4634960d383e8a33f094c2f46935f 100644 --- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java +++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java @@ -1,5 +1,6 @@ @@ -81,17 +81,9 @@ index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9 +import com.destroystokyo.paper.util.VersionFetcher; // Paper - version supplier import com.google.common.base.Charsets; + import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; - import com.google.common.io.Resources; -@@ -16,6 +17,7 @@ import java.util.HashSet; - import java.util.List; - import java.util.Set; - import java.util.concurrent.locks.ReentrantLock; -+import net.kyori.adventure.text.Component; // Paper - import org.apache.commons.lang.Validate; - import org.bukkit.Bukkit; - import org.bukkit.ChatColor; -@@ -26,6 +28,15 @@ import org.bukkit.util.StringUtil; +@@ -26,6 +27,15 @@ import org.bukkit.util.StringUtil; import org.jetbrains.annotations.NotNull; public class VersionCommand extends BukkitCommand { @@ -107,7 +99,7 @@ index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9 public VersionCommand(@NotNull String name) { super(name); -@@ -40,7 +51,7 @@ public class VersionCommand extends BukkitCommand { +@@ -40,7 +50,7 @@ public class VersionCommand extends BukkitCommand { if (!testPermission(sender)) return true; if (args.length == 0) { @@ -116,12 +108,12 @@ index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9 sendVersion(sender); } else { StringBuilder name = new StringBuilder(); -@@ -146,14 +157,14 @@ public class VersionCommand extends BukkitCommand { +@@ -146,14 +156,14 @@ public class VersionCommand extends BukkitCommand { private final ReentrantLock versionLock = new ReentrantLock(); private boolean hasVersion = false; - private String versionMessage = null; -+ private Component versionMessage = null; // Paper ++ private net.kyori.adventure.text.Component versionMessage = null; // Paper private final Set versionWaiters = new HashSet(); private boolean versionTaskStarted = false; private long lastCheck = 0; @@ -133,22 +125,22 @@ index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9 lastCheck = System.currentTimeMillis(); hasVersion = false; } else { -@@ -168,7 +179,7 @@ public class VersionCommand extends BukkitCommand { +@@ -168,7 +178,7 @@ public class VersionCommand extends BukkitCommand { return; } versionWaiters.add(sender); - sender.sendMessage("Checking version, please wait..."); -+ sender.sendMessage(Component.text("Checking version, please wait...", net.kyori.adventure.text.format.NamedTextColor.WHITE, net.kyori.adventure.text.format.TextDecoration.ITALIC)); // Paper ++ sender.sendMessage(net.kyori.adventure.text.Component.text("Checking version, please wait...", net.kyori.adventure.text.format.NamedTextColor.WHITE, net.kyori.adventure.text.format.TextDecoration.ITALIC)); // Paper if (!versionTaskStarted) { versionTaskStarted = true; new Thread(new Runnable() { -@@ -186,6 +197,13 @@ public class VersionCommand extends BukkitCommand { +@@ -186,6 +196,13 @@ public class VersionCommand extends BukkitCommand { private void obtainVersion() { String version = Bukkit.getVersion(); + // Paper start + if (version.startsWith("null")) { // running from ide? -+ setVersionMessage(Component.text("Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.YELLOW)); ++ setVersionMessage(net.kyori.adventure.text.Component.text("Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.YELLOW)); + return; + } + setVersionMessage(getVersionFetcher().getVersionMessage(version)); @@ -156,7 +148,7 @@ index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9 if (version == null) version = "Custom"; String[] parts = version.substring(0, version.indexOf(' ')).split("-"); if (parts.length == 4) { -@@ -215,11 +233,24 @@ public class VersionCommand extends BukkitCommand { +@@ -215,11 +232,24 @@ public class VersionCommand extends BukkitCommand { } else { setVersionMessage("Unknown version, custom build?"); } @@ -166,17 +158,17 @@ index 2305eb40832a82159cd89162934870cf57e1aa0e..4c2ddc722a9dc4011906ad9530b13fa9 - private void setVersionMessage(@NotNull String msg) { + // Paper start -+ private void setVersionMessage(final @NotNull Component msg) { ++ private void setVersionMessage(final @NotNull net.kyori.adventure.text.Component msg) { lastCheck = System.currentTimeMillis(); - versionMessage = msg; -+ final Component message = net.kyori.adventure.text.TextComponent.ofChildren( -+ Component.text("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")", net.kyori.adventure.text.format.NamedTextColor.WHITE), -+ Component.newline(), ++ final net.kyori.adventure.text.Component message = net.kyori.adventure.text.TextComponent.ofChildren( ++ net.kyori.adventure.text.Component.text("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")", net.kyori.adventure.text.format.NamedTextColor.WHITE), ++ net.kyori.adventure.text.Component.newline(), + msg + ); -+ this.versionMessage = Component.text() ++ this.versionMessage = net.kyori.adventure.text.Component.text() + .append(message) -+ .hoverEvent(Component.text("Click to copy to clipboard", net.kyori.adventure.text.format.NamedTextColor.WHITE)) ++ .hoverEvent(net.kyori.adventure.text.Component.text("Click to copy to clipboard", net.kyori.adventure.text.format.NamedTextColor.WHITE)) + .clickEvent(net.kyori.adventure.text.event.ClickEvent.copyToClipboard(net.kyori.adventure.text.serializer.plain.PlainComponentSerializer.plain().serialize(message))) + .build(); + // Paper end diff --git a/patches/unapplied/api/0012-Entity-Origin-API.patch b/patches/api/0012-Entity-Origin-API.patch similarity index 100% rename from patches/unapplied/api/0012-Entity-Origin-API.patch rename to patches/api/0012-Entity-Origin-API.patch diff --git a/patches/unapplied/api/0013-Add-PlayerLocaleChangeEvent.patch b/patches/api/0013-Add-PlayerLocaleChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0013-Add-PlayerLocaleChangeEvent.patch rename to patches/api/0013-Add-PlayerLocaleChangeEvent.patch diff --git a/patches/unapplied/api/0014-Add-view-distance-API.patch b/patches/api/0014-Add-view-distance-API.patch similarity index 100% rename from patches/unapplied/api/0014-Add-view-distance-API.patch rename to patches/api/0014-Add-view-distance-API.patch diff --git a/patches/unapplied/api/0015-Add-BeaconEffectEvent.patch b/patches/api/0015-Add-BeaconEffectEvent.patch similarity index 100% rename from patches/unapplied/api/0015-Add-BeaconEffectEvent.patch rename to patches/api/0015-Add-BeaconEffectEvent.patch diff --git a/patches/unapplied/api/0016-Add-PlayerInitialSpawnEvent.patch b/patches/api/0016-Add-PlayerInitialSpawnEvent.patch similarity index 100% rename from patches/unapplied/api/0016-Add-PlayerInitialSpawnEvent.patch rename to patches/api/0016-Add-PlayerInitialSpawnEvent.patch diff --git a/patches/unapplied/api/0017-Automatically-disable-plugins-that-fail-to-load.patch b/patches/api/0017-Automatically-disable-plugins-that-fail-to-load.patch similarity index 91% rename from patches/unapplied/api/0017-Automatically-disable-plugins-that-fail-to-load.patch rename to patches/api/0017-Automatically-disable-plugins-that-fail-to-load.patch index 9c2a68222..61b71bb09 100644 --- a/patches/unapplied/api/0017-Automatically-disable-plugins-that-fail-to-load.patch +++ b/patches/api/0017-Automatically-disable-plugins-that-fail-to-load.patch @@ -5,7 +5,7 @@ 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 9700ed558e65260264279b92dc661f39a0d0209c..451fce7223834169751679ce6dc22de3df24eae9 100644 +index 333c47a1f7e9d7ddf91aad5ec15163427f7b8039..5eb24f38f158d43fb42836b83c108f808c89512e 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -335,6 +335,10 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied/api/0018-Expose-server-CommandMap.patch b/patches/api/0018-Expose-server-CommandMap.patch similarity index 100% rename from patches/unapplied/api/0018-Expose-server-CommandMap.patch rename to patches/api/0018-Expose-server-CommandMap.patch diff --git a/patches/unapplied/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch similarity index 100% rename from patches/unapplied/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch rename to patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch diff --git a/patches/unapplied/api/0020-Add-exception-reporting-event.patch b/patches/api/0020-Add-exception-reporting-event.patch similarity index 91% rename from patches/unapplied/api/0020-Add-exception-reporting-event.patch rename to patches/api/0020-Add-exception-reporting-event.patch index 7e3a24229..e094da52c 100644 --- a/patches/unapplied/api/0020-Add-exception-reporting-event.patch +++ b/patches/api/0020-Add-exception-reporting-event.patch @@ -464,63 +464,41 @@ index 0000000000000000000000000000000000000000..5582999fe94c7a3dac655044ccc6d078 + } +} diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index f020cb04eba27a2e70fc7cf799ebbfb434b9d974..adfc7aae2c0f49bbcdd358e83b04a0cf078a7d52 100644 +index f99d71301ceaa3af07ff0525f7d657ac6253d0e6..2e23c124311b38aaea64dd274c33afcd52edcf43 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java -@@ -8,6 +8,10 @@ import java.util.HashMap; - import java.util.Iterator; - import java.util.List; - import java.util.Map; -+ -+import com.destroystokyo.paper.event.server.ServerExceptionEvent; -+import com.destroystokyo.paper.exception.ServerCommandException; -+import com.destroystokyo.paper.exception.ServerTabCompleteException; - import org.apache.commons.lang.Validate; - import org.bukkit.Location; - import org.bukkit.Server; -@@ -155,11 +159,14 @@ public class SimpleCommandMap implements CommandMap { +@@ -155,11 +155,14 @@ public class SimpleCommandMap implements CommandMap { target.execute(sender, sentCommandLabel, Arrays.copyOfRange(args, 1, args.length)); } // target.timings.stopTiming(); // Spigot // Paper } catch (CommandException ex) { -+ server.getPluginManager().callEvent(new ServerExceptionEvent(new ServerCommandException(ex, target, sender, args))); // Paper ++ server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper //target.timings.stopTiming(); // Spigot // Paper throw ex; } catch (Throwable ex) { //target.timings.stopTiming(); // Spigot // Paper - throw new CommandException("Unhandled exception executing '" + commandLine + "' in " + target, ex); + String msg = "Unhandled exception executing '" + commandLine + "' in " + target; -+ server.getPluginManager().callEvent(new ServerExceptionEvent(new ServerCommandException(ex, target, sender, args))); // Paper ++ server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper + throw new CommandException(msg, ex); } // return true as command was handled -@@ -238,7 +245,9 @@ public class SimpleCommandMap implements CommandMap { +@@ -238,7 +241,9 @@ public class SimpleCommandMap implements CommandMap { } catch (CommandException ex) { throw ex; } catch (Throwable ex) { - throw new CommandException("Unhandled exception executing tab-completer for '" + cmdLine + "' in " + target, ex); + String msg = "Unhandled exception executing tab-completer for '" + cmdLine + "' in " + target; -+ server.getPluginManager().callEvent(new ServerExceptionEvent(new ServerTabCompleteException(msg, ex, target, sender, args))); // Paper ++ server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerTabCompleteException(msg, ex, target, sender, args))); // Paper + throw new CommandException(msg, ex); } } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 83d3ee09cc6f91b095f6b8519a431ef70f2b67ec..1fbf690403eefe017b146c141c6d47d9b8d9d4bb 100644 +index 50a2e8c138c677c91dad65c850acf840f7517e86..b7cd4b9e4fd5f98aafbc0fe5ad6883eeb50dea56 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -23,6 +23,10 @@ import java.util.WeakHashMap; - import java.util.logging.Level; - import java.util.regex.Matcher; - import java.util.regex.Pattern; -+ -+import com.destroystokyo.paper.event.server.ServerExceptionEvent; -+import com.destroystokyo.paper.exception.ServerEventException; -+import com.destroystokyo.paper.exception.ServerPluginEnableDisableException; - import org.apache.commons.lang.Validate; - import org.bukkit.Server; - import org.bukkit.World; -@@ -488,7 +492,8 @@ public final class SimplePluginManager implements PluginManager { +@@ -487,7 +487,8 @@ public final class SimplePluginManager implements PluginManager { try { plugin.getPluginLoader().enablePlugin(plugin); } catch (Throwable ex) { @@ -530,7 +508,7 @@ index 83d3ee09cc6f91b095f6b8519a431ef70f2b67ec..1fbf690403eefe017b146c141c6d47d9 } HandlerList.bakeAll(); -@@ -509,32 +514,37 @@ public final class SimplePluginManager implements PluginManager { +@@ -508,32 +509,37 @@ public final class SimplePluginManager implements PluginManager { try { plugin.getPluginLoader().disablePlugin(plugin); } catch (Throwable ex) { @@ -573,21 +551,21 @@ index 83d3ee09cc6f91b095f6b8519a431ef70f2b67ec..1fbf690403eefe017b146c141c6d47d9 } try { -@@ -547,6 +557,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -546,6 +552,13 @@ public final class SimplePluginManager implements PluginManager { } } + // Paper start + private void handlePluginException(String msg, Throwable ex, Plugin plugin) { + server.getLogger().log(Level.SEVERE, msg, ex); -+ callEvent(new ServerExceptionEvent(new ServerPluginEnableDisableException(msg, ex, plugin))); ++ callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerPluginEnableDisableException(msg, ex, plugin))); + } + // Paper end + @Override public void clearPlugins() { synchronized (this) { -@@ -610,7 +627,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -609,7 +622,13 @@ public final class SimplePluginManager implements PluginManager { )); } } catch (Throwable ex) { @@ -595,8 +573,8 @@ index 83d3ee09cc6f91b095f6b8519a431ef70f2b67ec..1fbf690403eefe017b146c141c6d47d9 + // Paper start - error reporting + String msg = "Could not pass event " + event.getEventName() + " to " + registration.getPlugin().getDescription().getFullName(); + server.getLogger().log(Level.SEVERE, msg, ex); -+ if (!(event instanceof ServerExceptionEvent)) { // We don't want to cause an endless event loop -+ callEvent(new ServerExceptionEvent(new ServerEventException(msg, ex, registration.getPlugin(), registration.getListener(), event))); ++ if (!(event instanceof com.destroystokyo.paper.event.server.ServerExceptionEvent)) { // We don't want to cause an endless event loop ++ callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerEventException(msg, ex, registration.getPlugin(), registration.getListener(), event))); + } + // Paper end } diff --git a/patches/unapplied/api/0021-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch b/patches/api/0021-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch similarity index 100% rename from patches/unapplied/api/0021-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch rename to patches/api/0021-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch diff --git a/patches/unapplied/api/0022-Fix-ServerListPingEvent-flagging-as-Async.patch b/patches/api/0022-Fix-ServerListPingEvent-flagging-as-Async.patch similarity index 100% rename from patches/unapplied/api/0022-Fix-ServerListPingEvent-flagging-as-Async.patch rename to patches/api/0022-Fix-ServerListPingEvent-flagging-as-Async.patch diff --git a/patches/unapplied/api/0023-Player-Tab-List-and-Title-APIs.patch b/patches/api/0023-Player-Tab-List-and-Title-APIs.patch similarity index 100% rename from patches/unapplied/api/0023-Player-Tab-List-and-Title-APIs.patch rename to patches/api/0023-Player-Tab-List-and-Title-APIs.patch diff --git a/patches/unapplied/api/0024-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/api/0024-Add-methods-for-working-with-arrows-stuck-in-living-.patch similarity index 100% rename from patches/unapplied/api/0024-Add-methods-for-working-with-arrows-stuck-in-living-.patch rename to patches/api/0024-Add-methods-for-working-with-arrows-stuck-in-living-.patch diff --git a/patches/unapplied/api/0025-Complete-resource-pack-API.patch b/patches/api/0025-Complete-resource-pack-API.patch similarity index 100% rename from patches/unapplied/api/0025-Complete-resource-pack-API.patch rename to patches/api/0025-Complete-resource-pack-API.patch diff --git a/patches/unapplied/api/0026-Use-ASM-for-event-executors.patch b/patches/api/0026-Use-ASM-for-event-executors.patch similarity index 98% rename from patches/unapplied/api/0026-Use-ASM-for-event-executors.patch rename to patches/api/0026-Use-ASM-for-event-executors.patch index 9b6e46aab..b1a9fa945 100644 --- a/patches/unapplied/api/0026-Use-ASM-for-event-executors.patch +++ b/patches/api/0026-Use-ASM-for-event-executors.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Use ASM for event executors. Uses method handles for private or static methods. diff --git a/build.gradle.kts b/build.gradle.kts -index eefc024acc3e14ae21855df7f2f358bd1e0a9e38..da7aa34850b39500f89f01a2969d3a1a5a80f80f 100644 +index 9b3621a09bd37945877752c801cdd9283017522c..9ec782b00f9f2ac5a38a75667d36de4582a25a03 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -39,6 +39,9 @@ dependencies { +@@ -38,6 +38,9 @@ dependencies { apiAndDocs("net.kyori:adventure-text-serializer-gson") apiAndDocs("net.kyori:adventure-text-serializer-legacy") apiAndDocs("net.kyori:adventure-text-serializer-plain") @@ -366,7 +366,7 @@ index a850f0780de05463fc0d3f9e15ff7f19d88b2aed..9026e108ccd3a88aee1267ee275137be + // 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 451fce7223834169751679ce6dc22de3df24eae9..0cbac77e16fc36d805b79dd44837a38a79618c0b 100644 +index 5eb24f38f158d43fb42836b83c108f808c89512e..5d74fab03a15d7099e5dacb780eade4cdc185797 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -291,21 +291,7 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied/api/0027-Add-a-call-helper-to-Event.patch b/patches/api/0027-Add-a-call-helper-to-Event.patch similarity index 100% rename from patches/unapplied/api/0027-Add-a-call-helper-to-Event.patch rename to patches/api/0027-Add-a-call-helper-to-Event.patch diff --git a/patches/unapplied/api/0028-Add-sender-name-to-commands.yml-replacement.patch b/patches/api/0028-Add-sender-name-to-commands.yml-replacement.patch similarity index 100% rename from patches/unapplied/api/0028-Add-sender-name-to-commands.yml-replacement.patch rename to patches/api/0028-Add-sender-name-to-commands.yml-replacement.patch diff --git a/patches/unapplied/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch similarity index 96% rename from patches/unapplied/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch rename to patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch index ef5351eec..a55bb0160 100644 --- a/patches/unapplied/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -85,10 +85,10 @@ index 50cc311be7904cc8fc6070a21c8e4de3a489fd20..5fa9d648bc780e874f658597f1a24715 } } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 1fbf690403eefe017b146c141c6d47d9b8d9d4bb..3ffe519b759f440f56f3054b0d3e4120b59f8c62 100644 +index b7cd4b9e4fd5f98aafbc0fe5ad6883eeb50dea56..efe0e5e6b43c50c6a41ee3baa44beb7d883b551a 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -905,4 +905,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -900,4 +900,13 @@ public final class SimplePluginManager implements PluginManager { public void useTimings(boolean use) { co.aikar.timings.Timings.setTimingsEnabled(use); // Paper } diff --git a/patches/unapplied/api/0030-Custom-replacement-for-eaten-items.patch b/patches/api/0030-Custom-replacement-for-eaten-items.patch similarity index 100% rename from patches/unapplied/api/0030-Custom-replacement-for-eaten-items.patch rename to patches/api/0030-Custom-replacement-for-eaten-items.patch diff --git a/patches/unapplied/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch similarity index 100% rename from patches/unapplied/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch rename to patches/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch diff --git a/patches/unapplied/api/0032-EntityPathfindEvent.patch b/patches/api/0032-EntityPathfindEvent.patch similarity index 100% rename from patches/unapplied/api/0032-EntityPathfindEvent.patch rename to patches/api/0032-EntityPathfindEvent.patch diff --git a/patches/unapplied/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch b/patches/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch similarity index 94% rename from patches/unapplied/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch rename to patches/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch index d4674ca2f..9bc7e49e8 100644 --- a/patches/unapplied/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch +++ b/patches/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch @@ -8,7 +8,7 @@ limited synchronized portions to allow much higher concurrency in MetadataStore as well as far less locking, especially on reads diff --git a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java -index baf850226aed8545a5794deba6dff9603953b4b2..d363d517c05b3335101d829ce4ec22d049059c24 100644 +index 6886a7003fb76d07e0fa9c1c352c56480f08a0db..a0698522f01619c9d37474f4bd55a17de58fff89 100644 --- a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java +++ b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java @@ -12,7 +12,7 @@ import org.bukkit.plugin.Plugin; @@ -61,7 +61,7 @@ index baf850226aed8545a5794deba6dff9603953b4b2..d363d517c05b3335101d829ce4ec22d0 */ - public synchronized void removeMetadata(@NotNull T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin) { + public void removeMetadata(@NotNull T subject, @NotNull String metadataKey, @NotNull Plugin owningPlugin) { // Paper - Validate.notNull(owningPlugin, "Plugin cannot be null"); + Preconditions.checkArgument(owningPlugin != null, "Plugin cannot be null"); String key = disambiguate(subject, metadataKey); Map entry = metadataMap.get(key); if (entry == null) { @@ -85,6 +85,6 @@ index baf850226aed8545a5794deba6dff9603953b4b2..d363d517c05b3335101d829ce4ec22d0 */ - public synchronized void invalidateAll(@NotNull Plugin owningPlugin) { + public void invalidateAll(@NotNull Plugin owningPlugin) { // Paper - Validate.notNull(owningPlugin, "Plugin cannot be null"); + Preconditions.checkArgument(owningPlugin != null, "Plugin cannot be null"); for (Map values : metadataMap.values()) { if (values.containsKey(owningPlugin)) { diff --git a/patches/unapplied/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch b/patches/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch similarity index 92% rename from patches/unapplied/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch rename to patches/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch index d15d19b31..1f2d666fc 100644 --- a/patches/unapplied/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch +++ b/patches/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add MetadataStoreBase.removeAll(Plugin) So that on reload, metadata will be cleared diff --git a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java -index d363d517c05b3335101d829ce4ec22d049059c24..abbe545af572687a0399c2387434863cd2b70f68 100644 +index a0698522f01619c9d37474f4bd55a17de58fff89..dae60d0df3ccb28ab65214e205312afcd04aa770 100644 --- a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java +++ b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java -@@ -4,6 +4,7 @@ import java.util.ArrayList; +@@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; diff --git a/patches/unapplied/api/0035-Add-PlayerUseUnknownEntityEvent.patch b/patches/api/0035-Add-PlayerUseUnknownEntityEvent.patch similarity index 100% rename from patches/unapplied/api/0035-Add-PlayerUseUnknownEntityEvent.patch rename to patches/api/0035-Add-PlayerUseUnknownEntityEvent.patch diff --git a/patches/unapplied/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/api/0037-Arrow-pickup-rule-API.patch b/patches/api/0037-Arrow-pickup-rule-API.patch similarity index 100% rename from patches/unapplied/api/0037-Arrow-pickup-rule-API.patch rename to patches/api/0037-Arrow-pickup-rule-API.patch diff --git a/patches/unapplied/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch similarity index 100% rename from patches/unapplied/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch rename to patches/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch diff --git a/patches/unapplied/api/0039-LootTable-API.patch b/patches/api/0039-LootTable-API.patch similarity index 100% rename from patches/unapplied/api/0039-LootTable-API.patch rename to patches/api/0039-LootTable-API.patch diff --git a/patches/unapplied/api/0040-Add-EntityZapEvent.patch b/patches/api/0040-Add-EntityZapEvent.patch similarity index 100% rename from patches/unapplied/api/0040-Add-EntityZapEvent.patch rename to patches/api/0040-Add-EntityZapEvent.patch diff --git a/patches/unapplied/api/0041-Misc-Utils.patch b/patches/api/0041-Misc-Utils.patch similarity index 100% rename from patches/unapplied/api/0041-Misc-Utils.patch rename to patches/api/0041-Misc-Utils.patch diff --git a/patches/unapplied/api/0042-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch similarity index 96% rename from patches/unapplied/api/0042-Allow-Reloading-of-Command-Aliases.patch rename to patches/api/0042-Allow-Reloading-of-Command-Aliases.patch index af64f14c9..464f1114b 100644 --- a/patches/unapplied/api/0042-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch @@ -56,10 +56,10 @@ index bd2c7a6964722412148fae39e1b4951fc0002b9b..864c263bbd4dd6dd7c37a74b39b1a40a + // Paper end } diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index adfc7aae2c0f49bbcdd358e83b04a0cf078a7d52..460fda05a62b12db2edcfb7ea8b2a5dd8e4b110d 100644 +index 2e23c124311b38aaea64dd274c33afcd52edcf43..950a2d0b3b583c6b9a703190874bbc4df2783ab7 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java -@@ -297,4 +297,11 @@ public class SimpleCommandMap implements CommandMap { +@@ -293,4 +293,11 @@ public class SimpleCommandMap implements CommandMap { } } } diff --git a/patches/unapplied/api/0043-Add-source-to-PlayerExpChangeEvent.patch b/patches/api/0043-Add-source-to-PlayerExpChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0043-Add-source-to-PlayerExpChangeEvent.patch rename to patches/api/0043-Add-source-to-PlayerExpChangeEvent.patch diff --git a/patches/unapplied/api/0044-Add-ProjectileCollideEvent.patch b/patches/api/0044-Add-ProjectileCollideEvent.patch similarity index 100% rename from patches/unapplied/api/0044-Add-ProjectileCollideEvent.patch rename to patches/api/0044-Add-ProjectileCollideEvent.patch diff --git a/patches/unapplied/api/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch similarity index 100% rename from patches/unapplied/api/0045-Add-String-based-Action-Bar-API.patch rename to patches/api/0045-Add-String-based-Action-Bar-API.patch diff --git a/patches/unapplied/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 100% rename from patches/unapplied/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to patches/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch diff --git a/patches/unapplied/api/0047-IllegalPacketEvent.patch b/patches/api/0047-IllegalPacketEvent.patch similarity index 100% rename from patches/unapplied/api/0047-IllegalPacketEvent.patch rename to patches/api/0047-IllegalPacketEvent.patch diff --git a/patches/unapplied/api/0048-Fireworks-API-s.patch b/patches/api/0048-Fireworks-API-s.patch similarity index 100% rename from patches/unapplied/api/0048-Fireworks-API-s.patch rename to patches/api/0048-Fireworks-API-s.patch diff --git a/patches/unapplied/api/0049-PlayerTeleportEndGatewayEvent.patch b/patches/api/0049-PlayerTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/api/0049-PlayerTeleportEndGatewayEvent.patch rename to patches/api/0049-PlayerTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 100% rename from patches/unapplied/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch rename to patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch diff --git a/patches/unapplied/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 100% rename from patches/unapplied/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to patches/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch diff --git a/patches/unapplied/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch b/patches/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch similarity index 100% rename from patches/unapplied/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch rename to patches/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch diff --git a/patches/unapplied/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 90% rename from patches/unapplied/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch index 11a0e7623..802418c5f 100644 --- a/patches/unapplied/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch @@ -46,12 +46,12 @@ index 9c1cd95e125b1d7677daea1575a466a1b955053a..acd69a5d946974e0b50439a987127506 + // Paper end } diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java -index 8d7a61b711cec7eff0e71b9ae942f3050196d955..fc5e398adc8f24187f1ffc0c4b3b429e3c6b25eb 100644 +index 6fd341482d5250ad814e870360e40b52427f799a..a26df5f6341d22ecd5e71da59b8f091848e627ad 100644 --- a/src/main/java/org/bukkit/command/Command.java +++ b/src/main/java/org/bukkit/command/Command.java @@ -99,7 +99,7 @@ public abstract class Command { - Validate.notNull(args, "Arguments cannot be null"); - Validate.notNull(alias, "Alias cannot be null"); + Preconditions.checkArgument(args != null, "Arguments cannot be null"); + Preconditions.checkArgument(alias != null, "Alias cannot be null"); - if (args.length == 0) { + if (args.length == 0 || !sender.getServer().suggestPlayerNamesWhenNullTabCompletions()) { // Paper - allow preventing player name suggestions by default) { diff --git a/patches/unapplied/api/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch similarity index 100% rename from patches/unapplied/api/0054-Fix-upstream-javadocs.patch rename to patches/api/0054-Fix-upstream-javadocs.patch diff --git a/patches/unapplied/api/0055-Item-canEntityPickup.patch b/patches/api/0055-Item-canEntityPickup.patch similarity index 100% rename from patches/unapplied/api/0055-Item-canEntityPickup.patch rename to patches/api/0055-Item-canEntityPickup.patch diff --git a/patches/unapplied/api/0056-PlayerAttemptPickupItemEvent.patch b/patches/api/0056-PlayerAttemptPickupItemEvent.patch similarity index 100% rename from patches/unapplied/api/0056-PlayerAttemptPickupItemEvent.patch rename to patches/api/0056-PlayerAttemptPickupItemEvent.patch diff --git a/patches/unapplied/api/0057-Add-UnknownCommandEvent.patch b/patches/api/0057-Add-UnknownCommandEvent.patch similarity index 100% rename from patches/unapplied/api/0057-Add-UnknownCommandEvent.patch rename to patches/api/0057-Add-UnknownCommandEvent.patch diff --git a/patches/unapplied/api/0058-Basic-PlayerProfile-API.patch b/patches/api/0058-Basic-PlayerProfile-API.patch similarity index 100% rename from patches/unapplied/api/0058-Basic-PlayerProfile-API.patch rename to patches/api/0058-Basic-PlayerProfile-API.patch diff --git a/patches/unapplied/api/0059-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/api/0059-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 100% rename from patches/unapplied/api/0059-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to patches/api/0059-PlayerPickupItemEvent-setFlyAtPlayer.patch diff --git a/patches/unapplied/api/0060-Shoulder-Entities-Release-API.patch b/patches/api/0060-Shoulder-Entities-Release-API.patch similarity index 100% rename from patches/unapplied/api/0060-Shoulder-Entities-Release-API.patch rename to patches/api/0060-Shoulder-Entities-Release-API.patch diff --git a/patches/unapplied/api/0061-Entity-fromMobSpawner.patch b/patches/api/0061-Entity-fromMobSpawner.patch similarity index 100% rename from patches/unapplied/api/0061-Entity-fromMobSpawner.patch rename to patches/api/0061-Entity-fromMobSpawner.patch diff --git a/patches/unapplied/api/0062-Profile-Lookup-Events.patch b/patches/api/0062-Profile-Lookup-Events.patch similarity index 100% rename from patches/unapplied/api/0062-Profile-Lookup-Events.patch rename to patches/api/0062-Profile-Lookup-Events.patch diff --git a/patches/unapplied/api/0063-Improve-the-Saddle-API-for-Horses.patch b/patches/api/0063-Improve-the-Saddle-API-for-Horses.patch similarity index 100% rename from patches/unapplied/api/0063-Improve-the-Saddle-API-for-Horses.patch rename to patches/api/0063-Improve-the-Saddle-API-for-Horses.patch diff --git a/patches/unapplied/api/0064-Add-getI18NDisplayName-API.patch b/patches/api/0064-Add-getI18NDisplayName-API.patch similarity index 96% rename from patches/unapplied/api/0064-Add-getI18NDisplayName-API.patch rename to patches/api/0064-Add-getI18NDisplayName-API.patch index fb8ea0c1b..ea4187110 100644 --- a/patches/unapplied/api/0064-Add-getI18NDisplayName-API.patch +++ b/patches/api/0064-Add-getI18NDisplayName-API.patch @@ -32,7 +32,7 @@ index af4a7ce37eb10bab06eadb6583c7894b3ec55ae6..159e5a908b35b84b7fabc36581e093d9 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index a15abec467bac70116a6fc21a300d4930b909f15..dfd16531926e639231e93cb295de3d802d17413d 100644 +index d168a836d655b369f67200d7afe101b56ff815b1..edf5cd3734011de9130139e542ebc44bcc67f396 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -611,5 +611,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor diff --git a/patches/unapplied/api/0065-ensureServerConversions-API.patch b/patches/api/0065-ensureServerConversions-API.patch similarity index 96% rename from patches/unapplied/api/0065-ensureServerConversions-API.patch rename to patches/api/0065-ensureServerConversions-API.patch index 1b98ab5bf..95f193375 100644 --- a/patches/unapplied/api/0065-ensureServerConversions-API.patch +++ b/patches/api/0065-ensureServerConversions-API.patch @@ -29,7 +29,7 @@ index 159e5a908b35b84b7fabc36581e093d9aa4c4b67..66ffc658dba85942f179760dc6c50258 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index dfd16531926e639231e93cb295de3d802d17413d..2581117ded5d91070bc9416eee53383e915a1564 100644 +index edf5cd3734011de9130139e542ebc44bcc67f396..8b76d7ca596ea261c0ca3b9fe2fbf5507c3883e3 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -536,7 +536,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor diff --git a/patches/unapplied/api/0066-Make-plugins-list-alphabetical.patch b/patches/api/0066-Make-plugins-list-alphabetical.patch similarity index 100% rename from patches/unapplied/api/0066-Make-plugins-list-alphabetical.patch rename to patches/api/0066-Make-plugins-list-alphabetical.patch diff --git a/patches/unapplied/api/0067-LivingEntity-setKiller.patch b/patches/api/0067-LivingEntity-setKiller.patch similarity index 100% rename from patches/unapplied/api/0067-LivingEntity-setKiller.patch rename to patches/api/0067-LivingEntity-setKiller.patch diff --git a/patches/unapplied/api/0068-ProfileWhitelistVerifyEvent.patch b/patches/api/0068-ProfileWhitelistVerifyEvent.patch similarity index 100% rename from patches/unapplied/api/0068-ProfileWhitelistVerifyEvent.patch rename to patches/api/0068-ProfileWhitelistVerifyEvent.patch diff --git a/patches/unapplied/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch similarity index 94% rename from patches/unapplied/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch rename to patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch index aca22014e..8a241a489 100644 --- a/patches/unapplied/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -14,10 +14,10 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/build.gradle.kts b/build.gradle.kts -index da7aa34850b39500f89f01a2969d3a1a5a80f80f..01798255d45f2a642df00156f11dd2bcd8108079 100644 +index 9ec782b00f9f2ac5a38a75667d36de4582a25a03..ac0a4aea48436201b5712b166413bb7dc0d0b9d8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -39,6 +39,8 @@ dependencies { +@@ -38,6 +38,8 @@ dependencies { apiAndDocs("net.kyori:adventure-text-serializer-gson") apiAndDocs("net.kyori:adventure-text-serializer-legacy") apiAndDocs("net.kyori:adventure-text-serializer-plain") diff --git a/patches/unapplied/api/0070-Handle-plugin-prefixes-in-implementation-logging-con.patch b/patches/api/0070-Handle-plugin-prefixes-in-implementation-logging-con.patch similarity index 95% rename from patches/unapplied/api/0070-Handle-plugin-prefixes-in-implementation-logging-con.patch rename to patches/api/0070-Handle-plugin-prefixes-in-implementation-logging-con.patch index 4df160a20..e8b752d9a 100644 --- a/patches/unapplied/api/0070-Handle-plugin-prefixes-in-implementation-logging-con.patch +++ b/patches/api/0070-Handle-plugin-prefixes-in-implementation-logging-con.patch @@ -17,7 +17,7 @@ The implementation should handle plugin prefixes by displaying logger names when appropriate. diff --git a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java -index 50a479488917b4ce019fa71a496c41e843e9c5c4..f99d60ae4003f953b5680a997e9e43e63c035b0c 100644 +index 669a70faa95d0d6525a731d73499ed6fb0b48320..1ff0e0ef1aebec5bbb0a8a09af11d07b2a3220e8 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java @@ -43,7 +43,7 @@ public abstract class JavaPlugin extends PluginBase { diff --git a/patches/unapplied/api/0071-Add-PlayerJumpEvent.patch b/patches/api/0071-Add-PlayerJumpEvent.patch similarity index 100% rename from patches/unapplied/api/0071-Add-PlayerJumpEvent.patch rename to patches/api/0071-Add-PlayerJumpEvent.patch diff --git a/patches/unapplied/api/0072-Add-workaround-for-plugins-modifying-the-parent-of-t.patch b/patches/api/0072-Add-workaround-for-plugins-modifying-the-parent-of-t.patch similarity index 96% rename from patches/unapplied/api/0072-Add-workaround-for-plugins-modifying-the-parent-of-t.patch rename to patches/api/0072-Add-workaround-for-plugins-modifying-the-parent-of-t.patch index bd9484dd8..4b8543b4f 100644 --- a/patches/unapplied/api/0072-Add-workaround-for-plugins-modifying-the-parent-of-t.patch +++ b/patches/api/0072-Add-workaround-for-plugins-modifying-the-parent-of-t.patch @@ -60,7 +60,7 @@ index 0000000000000000000000000000000000000000..76f2cb9cd99cad2a9484eab2becd8c36 + +} diff --git a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java -index f99d60ae4003f953b5680a997e9e43e63c035b0c..c943bd801b54519ba6cf5d45aec593d7b7438f99 100644 +index 1ff0e0ef1aebec5bbb0a8a09af11d07b2a3220e8..3bea5dd67ad0393160ccede4ac99a3c7baa1803b 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java @@ -43,7 +43,7 @@ public abstract class JavaPlugin extends PluginBase { @@ -87,7 +87,7 @@ index f99d60ae4003f953b5680a997e9e43e63c035b0c..c943bd801b54519ba6cf5d45aec593d7 /** diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index 24e3eaa008e53af8d77439e4f2ab9007285d7826..684d7b1105350660fe7fc66f57a49db7f39610b4 100644 +index 6148b69af39344f758b05a28c7c572befa9b8f3f..0db641f5d5e1293b236ad0d2e3a156802ffed839 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -44,6 +44,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot diff --git a/patches/unapplied/api/0073-Add-PlayerArmorChangeEvent.patch b/patches/api/0073-Add-PlayerArmorChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0073-Add-PlayerArmorChangeEvent.patch rename to patches/api/0073-Add-PlayerArmorChangeEvent.patch diff --git a/patches/unapplied/api/0074-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/api/0074-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 100% rename from patches/unapplied/api/0074-API-to-get-a-BlockState-without-a-snapshot.patch rename to patches/api/0074-API-to-get-a-BlockState-without-a-snapshot.patch diff --git a/patches/unapplied/api/0075-AsyncTabCompleteEvent.patch b/patches/api/0075-AsyncTabCompleteEvent.patch similarity index 89% rename from patches/unapplied/api/0075-AsyncTabCompleteEvent.patch rename to patches/api/0075-AsyncTabCompleteEvent.patch index e86dd9b40..b64cdef9d 100644 --- a/patches/unapplied/api/0075-AsyncTabCompleteEvent.patch +++ b/patches/api/0075-AsyncTabCompleteEvent.patch @@ -195,39 +195,24 @@ index 0000000000000000000000000000000000000000..619ed37169c126a8c75d02699a04728b + } +} diff --git a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java -index d1a9956a1573dab54c5ff2e5d67ca86cfe1dc01a..f96c4ba53ab41ea66d4f9a4d54eeabb63f992b58 100644 +index 270e6d8ad4358baa256cee5f16cff281f063ce3b..4a3451af454295ac3e1b688e6665cad9fc594c82 100644 --- a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java +++ b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java -@@ -1,5 +1,6 @@ - package org.bukkit.event.server; - -+import java.util.ArrayList; - import java.util.List; - import org.apache.commons.lang.Validate; - import org.bukkit.command.CommandSender; -@@ -8,6 +9,7 @@ import org.bukkit.event.Event; - import org.bukkit.event.HandlerList; - import org.bukkit.event.player.PlayerCommandSendEvent; - import org.jetbrains.annotations.NotNull; -+import org.jetbrains.annotations.Nullable; - - /** - * Called when a {@link CommandSender} of any description (ie: player or -@@ -29,6 +31,13 @@ public class TabCompleteEvent extends Event implements Cancellable { +@@ -29,6 +29,13 @@ public class TabCompleteEvent extends Event implements Cancellable { private boolean cancelled; public TabCompleteEvent(@NotNull CommandSender sender, @NotNull String buffer, @NotNull List completions) { + // Paper start + this(sender, buffer, completions, sender instanceof org.bukkit.command.ConsoleCommandSender || buffer.startsWith("/"), null); + } -+ public TabCompleteEvent(@NotNull CommandSender sender, @NotNull String buffer, @NotNull List completions, boolean isCommand, @Nullable org.bukkit.Location location) { ++ public TabCompleteEvent(@NotNull CommandSender sender, @NotNull String buffer, @NotNull List completions, boolean isCommand, @org.jetbrains.annotations.Nullable org.bukkit.Location location) { + this.isCommand = isCommand; + this.loc = location; + // Paper end - Validate.notNull(sender, "sender"); - Validate.notNull(buffer, "buffer"); - Validate.notNull(completions, "completions"); -@@ -69,14 +78,35 @@ public class TabCompleteEvent extends Event implements Cancellable { + Preconditions.checkArgument(sender != null, "sender"); + Preconditions.checkArgument(buffer != null, "buffer"); + Preconditions.checkArgument(completions != null, "completions"); +@@ -69,14 +76,35 @@ public class TabCompleteEvent extends Event implements Cancellable { return completions; } @@ -244,7 +229,7 @@ index d1a9956a1573dab54c5ff2e5d67ca86cfe1dc01a..f96c4ba53ab41ea66d4f9a4d54eeabb6 + /** + * @return The position looked at by the sender, or null if none + */ -+ @Nullable ++ @org.jetbrains.annotations.Nullable + public org.bukkit.Location getLocation() { + return loc; + } @@ -258,9 +243,9 @@ index d1a9956a1573dab54c5ff2e5d67ca86cfe1dc01a..f96c4ba53ab41ea66d4f9a4d54eeabb6 * @param completions the new completions */ public void setCompletions(@NotNull List completions) { - Validate.notNull(completions); + Preconditions.checkArgument(completions != null); - this.completions = completions; -+ this.completions = new ArrayList<>(completions); // Paper ++ this.completions = new java.util.ArrayList<>(completions); // Paper } @Override diff --git a/patches/unapplied/api/0076-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch similarity index 100% rename from patches/unapplied/api/0076-Expose-client-protocol-version-and-virtual-host.patch rename to patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch diff --git a/patches/unapplied/api/0077-Display-warning-on-deprecated-recipe-API.patch b/patches/api/0077-Display-warning-on-deprecated-recipe-API.patch similarity index 87% rename from patches/unapplied/api/0077-Display-warning-on-deprecated-recipe-API.patch rename to patches/api/0077-Display-warning-on-deprecated-recipe-API.patch index 2b6c78a2c..48352336b 100644 --- a/patches/unapplied/api/0077-Display-warning-on-deprecated-recipe-API.patch +++ b/patches/api/0077-Display-warning-on-deprecated-recipe-API.patch @@ -10,10 +10,10 @@ on the players login. Plugin authors need to define a key to keep it consistent between server restarts. diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index d74b3114f535e1e5e36ae007f1fe0522916a0362..d742c4058ba9aed4fbe1591fd755a06608b06e98 100644 +index fde34da0f7a13dee06e479fd6c5350a69beb3c95..ad2ab6e97ccf6900d19f8bfbe08181d4c7743a99 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -@@ -25,6 +25,7 @@ public class ShapedRecipe implements Recipe, Keyed { +@@ -24,6 +24,7 @@ public class ShapedRecipe implements Recipe, Keyed { public ShapedRecipe(@NotNull ItemStack result) { Preconditions.checkArgument(result.getType() != Material.AIR, "Recipe must have non-AIR result."); this.key = NamespacedKey.randomKey(); @@ -22,10 +22,10 @@ index d74b3114f535e1e5e36ae007f1fe0522916a0362..d742c4058ba9aed4fbe1591fd755a066 } diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index 68447fb8c12356e779b96ec98c54119045046751..84062dd719cb8a6142dc8c806777cb208c6b42b2 100644 +index cc3f7cccfa06a92f3ca192cb88f30f8929c02dfd..75b47c608d0a902e4ea5f03c395667f47dec8980 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -26,6 +26,7 @@ public class ShapelessRecipe implements Recipe, Keyed { +@@ -25,6 +25,7 @@ public class ShapelessRecipe implements Recipe, Keyed { public ShapelessRecipe(@NotNull ItemStack result) { Preconditions.checkArgument(result.getType() != Material.AIR, "Recipe must have non-AIR result."); this.key = NamespacedKey.randomKey(); diff --git a/patches/unapplied/api/0078-PlayerPickupExperienceEvent.patch b/patches/api/0078-PlayerPickupExperienceEvent.patch similarity index 100% rename from patches/unapplied/api/0078-PlayerPickupExperienceEvent.patch rename to patches/api/0078-PlayerPickupExperienceEvent.patch diff --git a/patches/unapplied/api/0079-ExperienceOrbMergeEvent.patch b/patches/api/0079-ExperienceOrbMergeEvent.patch similarity index 100% rename from patches/unapplied/api/0079-ExperienceOrbMergeEvent.patch rename to patches/api/0079-ExperienceOrbMergeEvent.patch diff --git a/patches/unapplied/api/0080-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch similarity index 100% rename from patches/unapplied/api/0080-Ability-to-apply-mending-to-XP-API.patch rename to patches/api/0080-Ability-to-apply-mending-to-XP-API.patch diff --git a/patches/unapplied/api/0081-PreCreatureSpawnEvent.patch b/patches/api/0081-PreCreatureSpawnEvent.patch similarity index 100% rename from patches/unapplied/api/0081-PreCreatureSpawnEvent.patch rename to patches/api/0081-PreCreatureSpawnEvent.patch diff --git a/patches/unapplied/api/0082-PlayerNaturallySpawnCreaturesEvent.patch b/patches/api/0082-PlayerNaturallySpawnCreaturesEvent.patch similarity index 100% rename from patches/unapplied/api/0082-PlayerNaturallySpawnCreaturesEvent.patch rename to patches/api/0082-PlayerNaturallySpawnCreaturesEvent.patch diff --git a/patches/unapplied/api/0083-Add-setPlayerProfile-API-for-Skulls.patch b/patches/api/0083-Add-setPlayerProfile-API-for-Skulls.patch similarity index 100% rename from patches/unapplied/api/0083-Add-setPlayerProfile-API-for-Skulls.patch rename to patches/api/0083-Add-setPlayerProfile-API-for-Skulls.patch diff --git a/patches/unapplied/api/0084-Fill-Profile-Property-Events.patch b/patches/api/0084-Fill-Profile-Property-Events.patch similarity index 100% rename from patches/unapplied/api/0084-Fill-Profile-Property-Events.patch rename to patches/api/0084-Fill-Profile-Property-Events.patch diff --git a/patches/unapplied/api/0085-PlayerAdvancementCriterionGrantEvent.patch b/patches/api/0085-PlayerAdvancementCriterionGrantEvent.patch similarity index 100% rename from patches/unapplied/api/0085-PlayerAdvancementCriterionGrantEvent.patch rename to patches/api/0085-PlayerAdvancementCriterionGrantEvent.patch diff --git a/patches/unapplied/api/0086-Add-ArmorStand-Item-Meta.patch b/patches/api/0086-Add-ArmorStand-Item-Meta.patch similarity index 100% rename from patches/unapplied/api/0086-Add-ArmorStand-Item-Meta.patch rename to patches/api/0086-Add-ArmorStand-Item-Meta.patch diff --git a/patches/unapplied/api/0087-Optimize-Hoppers.patch b/patches/api/0087-Optimize-Hoppers.patch similarity index 84% rename from patches/unapplied/api/0087-Optimize-Hoppers.patch rename to patches/api/0087-Optimize-Hoppers.patch index 79c141af5..75e6ad8e0 100644 --- a/patches/unapplied/api/0087-Optimize-Hoppers.patch +++ b/patches/api/0087-Optimize-Hoppers.patch @@ -7,7 +7,7 @@ Adds data about what Item related methods were used in InventoryMoveItem event so that the server can improve the performance of this event. diff --git a/src/main/java/org/bukkit/event/inventory/InventoryMoveItemEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryMoveItemEvent.java -index a8c48f5a416326e96c431e5fa22edee04825530e..04d4a83bfc4f86341f9d72128458154d08c8ec43 100644 +index 919cc993e3cb1c14e2a3aebf90e6cc0fa6fbc17f..95e51bcf5dfd27cc9012d7542c4ed1bceca29626 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryMoveItemEvent.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryMoveItemEvent.java @@ -31,6 +31,8 @@ public class InventoryMoveItemEvent extends Event implements Cancellable { @@ -18,7 +18,7 @@ index a8c48f5a416326e96c431e5fa22edee04825530e..04d4a83bfc4f86341f9d72128458154d + public boolean calledSetItem; // Paper public InventoryMoveItemEvent(@NotNull final Inventory sourceInventory, @NotNull final ItemStack itemStack, @NotNull final Inventory destinationInventory, final boolean didSourceInitiate) { - Validate.notNull(itemStack, "ItemStack cannot be null"); + Preconditions.checkArgument(itemStack != null, "ItemStack cannot be null"); @@ -58,7 +60,8 @@ public class InventoryMoveItemEvent extends Event implements Cancellable { */ @NotNull @@ -32,7 +32,7 @@ index a8c48f5a416326e96c431e5fa22edee04825530e..04d4a83bfc4f86341f9d72128458154d @@ -70,6 +73,7 @@ public class InventoryMoveItemEvent extends Event implements Cancellable { */ public void setItem(@NotNull ItemStack itemStack) { - Validate.notNull(itemStack, "ItemStack cannot be null. Cancel the event if you want nothing to be transferred."); + Preconditions.checkArgument(itemStack != null, "ItemStack cannot be null. Cancel the event if you want nothing to be transferred."); + calledSetItem = true; // Paper - record this method was used for auto detection of mode this.itemStack = itemStack.clone(); } diff --git a/patches/unapplied/api/0088-Tameable-getOwnerUniqueId-API.patch b/patches/api/0088-Tameable-getOwnerUniqueId-API.patch similarity index 100% rename from patches/unapplied/api/0088-Tameable-getOwnerUniqueId-API.patch rename to patches/api/0088-Tameable-getOwnerUniqueId-API.patch diff --git a/patches/unapplied/api/0089-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/patches/api/0089-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 100% rename from patches/unapplied/api/0089-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to patches/api/0089-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch diff --git a/patches/unapplied/api/0090-Add-extended-PaperServerListPingEvent.patch b/patches/api/0090-Add-extended-PaperServerListPingEvent.patch similarity index 100% rename from patches/unapplied/api/0090-Add-extended-PaperServerListPingEvent.patch rename to patches/api/0090-Add-extended-PaperServerListPingEvent.patch diff --git a/patches/unapplied/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch similarity index 100% rename from patches/unapplied/api/0091-Player.setPlayerProfile-API.patch rename to patches/api/0091-Player.setPlayerProfile-API.patch diff --git a/patches/unapplied/api/0092-getPlayerUniqueId-API.patch b/patches/api/0092-getPlayerUniqueId-API.patch similarity index 100% rename from patches/unapplied/api/0092-getPlayerUniqueId-API.patch rename to patches/api/0092-getPlayerUniqueId-API.patch diff --git a/patches/unapplied/api/0093-Add-legacy-ping-support-to-PaperServerListPingEvent.patch b/patches/api/0093-Add-legacy-ping-support-to-PaperServerListPingEvent.patch similarity index 100% rename from patches/unapplied/api/0093-Add-legacy-ping-support-to-PaperServerListPingEvent.patch rename to patches/api/0093-Add-legacy-ping-support-to-PaperServerListPingEvent.patch diff --git a/patches/unapplied/api/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/api/0094-Add-openSign-method-to-HumanEntity.patch rename to patches/api/0094-Add-openSign-method-to-HumanEntity.patch diff --git a/patches/unapplied/api/0095-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch similarity index 100% rename from patches/unapplied/api/0095-Add-Ban-Methods-to-Player-Objects.patch rename to patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch diff --git a/patches/unapplied/api/0096-EndermanEscapeEvent.patch b/patches/api/0096-EndermanEscapeEvent.patch similarity index 100% rename from patches/unapplied/api/0096-EndermanEscapeEvent.patch rename to patches/api/0096-EndermanEscapeEvent.patch diff --git a/patches/unapplied/api/0097-Enderman.teleportRandomly.patch b/patches/api/0097-Enderman.teleportRandomly.patch similarity index 100% rename from patches/unapplied/api/0097-Enderman.teleportRandomly.patch rename to patches/api/0097-Enderman.teleportRandomly.patch diff --git a/patches/unapplied/api/0098-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch similarity index 100% rename from patches/unapplied/api/0098-Additional-world.getNearbyEntities-API-s.patch rename to patches/api/0098-Additional-world.getNearbyEntities-API-s.patch diff --git a/patches/unapplied/api/0099-Location.isChunkLoaded-API.patch b/patches/api/0099-Location.isChunkLoaded-API.patch similarity index 100% rename from patches/unapplied/api/0099-Location.isChunkLoaded-API.patch rename to patches/api/0099-Location.isChunkLoaded-API.patch diff --git a/patches/unapplied/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 99% rename from patches/unapplied/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch rename to patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch index 8165c5e87..a7e1fd09e 100644 --- a/patches/unapplied/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -500,10 +500,10 @@ index 0000000000000000000000000000000000000000..f45b8cfd1611345e8d81ecb8297a586f + } +} diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java -index 8d048a8f1446f862dcc61952971b54bab9bb2ac3..60a70b9e7a613e64a31a127264f17485ed2aa76f 100644 +index 9f646171b3ac617fb5217d5ab9c106c3100a8c8d..2315fffc4a1a5bebc50a703e9df59df8121c2200 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java -@@ -155,6 +155,17 @@ public enum Particle { +@@ -160,6 +160,17 @@ public enum Particle { return dataType; } diff --git a/patches/unapplied/api/0101-EndermanAttackPlayerEvent.patch b/patches/api/0101-EndermanAttackPlayerEvent.patch similarity index 100% rename from patches/unapplied/api/0101-EndermanAttackPlayerEvent.patch rename to patches/api/0101-EndermanAttackPlayerEvent.patch diff --git a/patches/unapplied/api/0102-Close-Plugin-Class-Loaders-on-Disable.patch b/patches/api/0102-Close-Plugin-Class-Loaders-on-Disable.patch similarity index 94% rename from patches/unapplied/api/0102-Close-Plugin-Class-Loaders-on-Disable.patch rename to patches/api/0102-Close-Plugin-Class-Loaders-on-Disable.patch index b3ea4ce83..c37902cb6 100644 --- a/patches/unapplied/api/0102-Close-Plugin-Class-Loaders-on-Disable.patch +++ b/patches/api/0102-Close-Plugin-Class-Loaders-on-Disable.patch @@ -66,10 +66,10 @@ index 41e26451fe12d8e6e0ef73c85731b24b4e3f200c..0d1b20f2b5580ea5505ccc2f003925db * 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 3ffe519b759f440f56f3054b0d3e4120b59f8c62..c43d819bae5bc51bcf57a575bc22aee9d501c562 100644 +index efe0e5e6b43c50c6a41ee3baa44beb7d883b551a..6b38b14bfd73f3b7d06b6f747d60373cedf1fa6f 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -508,6 +508,21 @@ public final class SimplePluginManager implements PluginManager { +@@ -503,6 +503,21 @@ public final class SimplePluginManager implements PluginManager { } } @@ -92,7 +92,7 @@ index 3ffe519b759f440f56f3054b0d3e4120b59f8c62..c43d819bae5bc51bcf57a575bc22aee9 public void disablePlugin(@NotNull final Plugin plugin) { if (plugin.isEnabled()) { diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 0cbac77e16fc36d805b79dd44837a38a79618c0b..47b306929654855944b1e95f81c641dea6102096 100644 +index 5d74fab03a15d7099e5dacb780eade4cdc185797..032ed2aba7d47144d241d616ba27489ce22d6fea 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -366,6 +366,7 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied/api/0103-WitchConsumePotionEvent.patch b/patches/api/0103-WitchConsumePotionEvent.patch similarity index 100% rename from patches/unapplied/api/0103-WitchConsumePotionEvent.patch rename to patches/api/0103-WitchConsumePotionEvent.patch diff --git a/patches/unapplied/api/0104-WitchThrowPotionEvent.patch b/patches/api/0104-WitchThrowPotionEvent.patch similarity index 100% rename from patches/unapplied/api/0104-WitchThrowPotionEvent.patch rename to patches/api/0104-WitchThrowPotionEvent.patch diff --git a/patches/unapplied/api/0105-Location.toBlockLocation-toCenterLocation.patch b/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch similarity index 100% rename from patches/unapplied/api/0105-Location.toBlockLocation-toCenterLocation.patch rename to patches/api/0105-Location.toBlockLocation-toCenterLocation.patch diff --git a/patches/unapplied/api/0106-PotionEffect-clone-methods.patch b/patches/api/0106-PotionEffect-clone-methods.patch similarity index 95% rename from patches/unapplied/api/0106-PotionEffect-clone-methods.patch rename to patches/api/0106-PotionEffect-clone-methods.patch index 7f4e064a7..7be547b08 100644 --- a/patches/unapplied/api/0106-PotionEffect-clone-methods.patch +++ b/patches/api/0106-PotionEffect-clone-methods.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PotionEffect clone methods diff --git a/src/main/java/org/bukkit/potion/PotionEffect.java b/src/main/java/org/bukkit/potion/PotionEffect.java -index 60716c627d315b08c3fe03b1a945af60c350711f..74767751199bce03d63f2a9524712656193f850c 100644 +index 1f0faf16071f0be44c87248582ba173e51aafb52..24e36cdf580da885ac64002673a786b9c5a3f787 100644 --- a/src/main/java/org/bukkit/potion/PotionEffect.java +++ b/src/main/java/org/bukkit/potion/PotionEffect.java @@ -101,6 +101,33 @@ public class PotionEffect implements ConfigurationSerializable { diff --git a/patches/unapplied/api/0107-WitchReadyPotionEvent.patch b/patches/api/0107-WitchReadyPotionEvent.patch similarity index 100% rename from patches/unapplied/api/0107-WitchReadyPotionEvent.patch rename to patches/api/0107-WitchReadyPotionEvent.patch diff --git a/patches/unapplied/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch similarity index 91% rename from patches/unapplied/api/0108-ItemStack-getMaxItemUseDuration.patch rename to patches/api/0108-ItemStack-getMaxItemUseDuration.patch index 42247bacb..2335189f4 100644 --- a/patches/unapplied/api/0108-ItemStack-getMaxItemUseDuration.patch +++ b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch @@ -6,7 +6,7 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 2581117ded5d91070bc9416eee53383e915a1564..9376c6a02731c71798aaf3361b2e30c521547874 100644 +index 8b76d7ca596ea261c0ca3b9fe2fbf5507c3883e3..54d7c4b78f7fb01d8c11c19f038642b155334770 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -639,5 +639,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor diff --git a/patches/unapplied/api/0109-Add-EntityTeleportEndGatewayEvent.patch b/patches/api/0109-Add-EntityTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/api/0109-Add-EntityTeleportEndGatewayEvent.patch rename to patches/api/0109-Add-EntityTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/api/0110-Make-shield-blocking-delay-configurable.patch b/patches/api/0110-Make-shield-blocking-delay-configurable.patch similarity index 100% rename from patches/unapplied/api/0110-Make-shield-blocking-delay-configurable.patch rename to patches/api/0110-Make-shield-blocking-delay-configurable.patch diff --git a/patches/unapplied/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/patches/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch similarity index 100% rename from patches/unapplied/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch rename to patches/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch diff --git a/patches/unapplied/api/0112-Add-getNearbyXXX-methods-to-Location.patch b/patches/api/0112-Add-getNearbyXXX-methods-to-Location.patch similarity index 100% rename from patches/unapplied/api/0112-Add-getNearbyXXX-methods-to-Location.patch rename to patches/api/0112-Add-getNearbyXXX-methods-to-Location.patch diff --git a/patches/unapplied/api/0113-PlayerReadyArrowEvent.patch b/patches/api/0113-PlayerReadyArrowEvent.patch similarity index 100% rename from patches/unapplied/api/0113-PlayerReadyArrowEvent.patch rename to patches/api/0113-PlayerReadyArrowEvent.patch diff --git a/patches/unapplied/api/0114-Add-EntityKnockbackByEntityEvent.patch b/patches/api/0114-Add-EntityKnockbackByEntityEvent.patch similarity index 100% rename from patches/unapplied/api/0114-Add-EntityKnockbackByEntityEvent.patch rename to patches/api/0114-Add-EntityKnockbackByEntityEvent.patch diff --git a/patches/unapplied/api/0115-Expand-Explosions-API.patch b/patches/api/0115-Expand-Explosions-API.patch similarity index 100% rename from patches/unapplied/api/0115-Expand-Explosions-API.patch rename to patches/api/0115-Expand-Explosions-API.patch diff --git a/patches/unapplied/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch similarity index 94% rename from patches/unapplied/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch rename to patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch index 0ca985064..d8bba965f 100644 --- a/patches/unapplied/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -5,20 +5,18 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 9376c6a02731c71798aaf3361b2e30c521547874..487e6a6391123a4792c3bdeba869aa2bcb5922cc 100644 +index 54d7c4b78f7fb01d8c11c19f038642b155334770..7559f75dcc6665fa3d19d6e53a141a214407d1c5 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -2,7 +2,9 @@ package org.bukkit.inventory; - +@@ -3,6 +3,7 @@ package org.bukkit.inventory; + import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import java.util.LinkedHashMap; +import java.util.List; // Paper import java.util.Map; -+import java.util.Set; // Paper - import org.apache.commons.lang.Validate; import org.bukkit.Bukkit; import org.bukkit.Material; -@@ -647,5 +649,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -647,5 +648,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor // Requires access to NMS return ensureServerConversions().getMaxItemUseDuration(); } @@ -184,7 +182,7 @@ index 9376c6a02731c71798aaf3361b2e30c521547874..487e6a6391123a4792c3bdeba869aa2b + * @return A set of all itemFlags set + */ + @NotNull -+ public Set getItemFlags() { ++ public java.util.Set getItemFlags() { + ItemMeta itemMeta = getItemMeta(); + if (itemMeta == null) { + return java.util.Collections.emptySet(); diff --git a/patches/unapplied/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 100% rename from patches/unapplied/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch rename to patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch diff --git a/patches/unapplied/api/0118-RangedEntity-API.patch b/patches/api/0118-RangedEntity-API.patch similarity index 100% rename from patches/unapplied/api/0118-RangedEntity-API.patch rename to patches/api/0118-RangedEntity-API.patch diff --git a/patches/unapplied/api/0119-Add-World.getEntity-UUID-API.patch b/patches/api/0119-Add-World.getEntity-UUID-API.patch similarity index 100% rename from patches/unapplied/api/0119-Add-World.getEntity-UUID-API.patch rename to patches/api/0119-Add-World.getEntity-UUID-API.patch diff --git a/patches/unapplied/api/0120-InventoryCloseEvent-Reason-API.patch b/patches/api/0120-InventoryCloseEvent-Reason-API.patch similarity index 100% rename from patches/unapplied/api/0120-InventoryCloseEvent-Reason-API.patch rename to patches/api/0120-InventoryCloseEvent-Reason-API.patch diff --git a/patches/unapplied/api/0121-Allow-setting-the-vex-s-summoner.patch b/patches/api/0121-Allow-setting-the-vex-s-summoner.patch similarity index 100% rename from patches/unapplied/api/0121-Allow-setting-the-vex-s-summoner.patch rename to patches/api/0121-Allow-setting-the-vex-s-summoner.patch diff --git a/patches/unapplied/api/0122-Entity-getChunk-API.patch b/patches/api/0122-Entity-getChunk-API.patch similarity index 100% rename from patches/unapplied/api/0122-Entity-getChunk-API.patch rename to patches/api/0122-Entity-getChunk-API.patch diff --git a/patches/unapplied/api/0123-Add-an-asterisk-to-legacy-API-plugins.patch b/patches/api/0123-Add-an-asterisk-to-legacy-API-plugins.patch similarity index 93% rename from patches/unapplied/api/0123-Add-an-asterisk-to-legacy-API-plugins.patch rename to patches/api/0123-Add-an-asterisk-to-legacy-API-plugins.patch index c0e8088e9..847f6fcfb 100644 --- a/patches/unapplied/api/0123-Add-an-asterisk-to-legacy-API-plugins.patch +++ b/patches/api/0123-Add-an-asterisk-to-legacy-API-plugins.patch @@ -45,11 +45,11 @@ index 4de959bbd1270d7d6ea8e5e69521bcca6abe2138..1aa58c59e1e8738bbdc77752885ff3b1 if (plugin.getDescription().getProvides().size() > 0) { pluginList.append(" (").append(String.join(", ", plugin.getDescription().getProvides())).append(")"); diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 47b306929654855944b1e95f81c641dea6102096..922bb2cbfaf1e4cd111b7ad286c867c4d9f47e05 100644 +index 032ed2aba7d47144d241d616ba27489ce22d6fea..e98934d32b8dac88b3c3fd14ea5d726872212807 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -306,7 +306,14 @@ public final class JavaPluginLoader implements PluginLoader { - Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader"); + Preconditions.checkArgument(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader"); if (!plugin.isEnabled()) { - plugin.getLogger().info("Enabling " + plugin.getDescription().getFullName()); diff --git a/patches/unapplied/api/0124-EnderDragon-Events.patch b/patches/api/0124-EnderDragon-Events.patch similarity index 100% rename from patches/unapplied/api/0124-EnderDragon-Events.patch rename to patches/api/0124-EnderDragon-Events.patch diff --git a/patches/unapplied/api/0125-PlayerElytraBoostEvent.patch b/patches/api/0125-PlayerElytraBoostEvent.patch similarity index 100% rename from patches/unapplied/api/0125-PlayerElytraBoostEvent.patch rename to patches/api/0125-PlayerElytraBoostEvent.patch diff --git a/patches/unapplied/api/0126-PlayerLaunchProjectileEvent.patch b/patches/api/0126-PlayerLaunchProjectileEvent.patch similarity index 100% rename from patches/unapplied/api/0126-PlayerLaunchProjectileEvent.patch rename to patches/api/0126-PlayerLaunchProjectileEvent.patch diff --git a/patches/unapplied/api/0127-EntityTransformedEvent.patch b/patches/api/0127-EntityTransformedEvent.patch similarity index 100% rename from patches/unapplied/api/0127-EntityTransformedEvent.patch rename to patches/api/0127-EntityTransformedEvent.patch diff --git a/patches/unapplied/api/0128-Allow-disabling-armour-stand-ticking.patch b/patches/api/0128-Allow-disabling-armour-stand-ticking.patch similarity index 100% rename from patches/unapplied/api/0128-Allow-disabling-armour-stand-ticking.patch rename to patches/api/0128-Allow-disabling-armour-stand-ticking.patch diff --git a/patches/unapplied/api/0129-SkeletonHorse-Additions.patch b/patches/api/0129-SkeletonHorse-Additions.patch similarity index 100% rename from patches/unapplied/api/0129-SkeletonHorse-Additions.patch rename to patches/api/0129-SkeletonHorse-Additions.patch diff --git a/patches/unapplied/api/0130-Expand-Location-Manipulation-API.patch b/patches/api/0130-Expand-Location-Manipulation-API.patch similarity index 100% rename from patches/unapplied/api/0130-Expand-Location-Manipulation-API.patch rename to patches/api/0130-Expand-Location-Manipulation-API.patch diff --git a/patches/unapplied/api/0131-Expand-ArmorStand-API.patch b/patches/api/0131-Expand-ArmorStand-API.patch similarity index 100% rename from patches/unapplied/api/0131-Expand-ArmorStand-API.patch rename to patches/api/0131-Expand-ArmorStand-API.patch diff --git a/patches/unapplied/api/0132-AnvilDamageEvent.patch b/patches/api/0132-AnvilDamageEvent.patch similarity index 100% rename from patches/unapplied/api/0132-AnvilDamageEvent.patch rename to patches/api/0132-AnvilDamageEvent.patch diff --git a/patches/unapplied/api/0133-Remove-deadlock-risk-in-firing-async-events.patch b/patches/api/0133-Remove-deadlock-risk-in-firing-async-events.patch similarity index 92% rename from patches/unapplied/api/0133-Remove-deadlock-risk-in-firing-async-events.patch rename to patches/api/0133-Remove-deadlock-risk-in-firing-async-events.patch index f26cbee03..9949645be 100644 --- a/patches/unapplied/api/0133-Remove-deadlock-risk-in-firing-async-events.patch +++ b/patches/api/0133-Remove-deadlock-risk-in-firing-async-events.patch @@ -16,10 +16,10 @@ 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/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index c43d819bae5bc51bcf57a575bc22aee9d501c562..3457dd6a86f927dd38edd200121aad5364d8abd5 100644 +index 6b38b14bfd73f3b7d06b6f747d60373cedf1fa6f..45989646f5c32fd1470a9868afca3e3a9074579c 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -472,7 +472,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -467,7 +467,7 @@ public final class SimplePluginManager implements PluginManager { * @return true if the plugin is enabled, otherwise false */ @Override @@ -28,7 +28,7 @@ index c43d819bae5bc51bcf57a575bc22aee9d501c562..3457dd6a86f927dd38edd200121aad53 if ((plugin != null) && (plugins.contains(plugin))) { return plugin.isEnabled(); } else { -@@ -481,7 +481,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -476,7 +476,7 @@ public final class SimplePluginManager implements PluginManager { } @Override @@ -37,7 +37,7 @@ index c43d819bae5bc51bcf57a575bc22aee9d501c562..3457dd6a86f927dd38edd200121aad53 if (!plugin.isEnabled()) { List pluginCommands = PluginCommandYamlParser.parse(plugin); -@@ -524,7 +524,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -519,7 +519,7 @@ public final class SimplePluginManager implements PluginManager { // Paper end @Override @@ -46,7 +46,7 @@ index c43d819bae5bc51bcf57a575bc22aee9d501c562..3457dd6a86f927dd38edd200121aad53 if (plugin.isEnabled()) { try { plugin.getPluginLoader().disablePlugin(plugin); -@@ -593,6 +593,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -588,6 +588,7 @@ public final class SimplePluginManager implements PluginManager { defaultPerms.get(false).clear(); } } @@ -54,7 +54,7 @@ index c43d819bae5bc51bcf57a575bc22aee9d501c562..3457dd6a86f927dd38edd200121aad53 /** * Calls an event with the given details. -@@ -601,23 +602,13 @@ public final class SimplePluginManager implements PluginManager { +@@ -596,23 +597,13 @@ public final class SimplePluginManager implements PluginManager { */ @Override public void callEvent(@NotNull Event event) { diff --git a/patches/unapplied/api/0134-Add-hand-to-bucket-events.patch b/patches/api/0134-Add-hand-to-bucket-events.patch similarity index 100% rename from patches/unapplied/api/0134-Add-hand-to-bucket-events.patch rename to patches/api/0134-Add-hand-to-bucket-events.patch diff --git a/patches/unapplied/api/0135-Add-TNTPrimeEvent.patch b/patches/api/0135-Add-TNTPrimeEvent.patch similarity index 100% rename from patches/unapplied/api/0135-Add-TNTPrimeEvent.patch rename to patches/api/0135-Add-TNTPrimeEvent.patch diff --git a/patches/unapplied/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch similarity index 100% rename from patches/unapplied/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch rename to patches/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch diff --git a/patches/unapplied/api/0137-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/patches/api/0137-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch similarity index 100% rename from patches/unapplied/api/0137-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch rename to patches/api/0137-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch diff --git a/patches/unapplied/api/0138-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch b/patches/api/0138-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch similarity index 100% rename from patches/unapplied/api/0138-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch rename to patches/api/0138-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch diff --git a/patches/unapplied/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch similarity index 100% rename from patches/unapplied/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch rename to patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch diff --git a/patches/unapplied/api/0140-Slime-Pathfinder-Events.patch b/patches/api/0140-Slime-Pathfinder-Events.patch similarity index 100% rename from patches/unapplied/api/0140-Slime-Pathfinder-Events.patch rename to patches/api/0140-Slime-Pathfinder-Events.patch diff --git a/patches/unapplied/api/0141-Add-PhantomPreSpawnEvent.patch b/patches/api/0141-Add-PhantomPreSpawnEvent.patch similarity index 100% rename from patches/unapplied/api/0141-Add-PhantomPreSpawnEvent.patch rename to patches/api/0141-Add-PhantomPreSpawnEvent.patch diff --git a/patches/unapplied/api/0142-Add-More-Creeper-API.patch b/patches/api/0142-Add-More-Creeper-API.patch similarity index 100% rename from patches/unapplied/api/0142-Add-More-Creeper-API.patch rename to patches/api/0142-Add-More-Creeper-API.patch diff --git a/patches/unapplied/api/0143-Inventory-removeItemAnySlot.patch b/patches/api/0143-Inventory-removeItemAnySlot.patch similarity index 100% rename from patches/unapplied/api/0143-Inventory-removeItemAnySlot.patch rename to patches/api/0143-Inventory-removeItemAnySlot.patch diff --git a/patches/unapplied/api/0144-isChunkGenerated-API.patch b/patches/api/0144-isChunkGenerated-API.patch similarity index 100% rename from patches/unapplied/api/0144-isChunkGenerated-API.patch rename to patches/api/0144-isChunkGenerated-API.patch diff --git a/patches/unapplied/api/0145-Add-source-block-constructor-and-getChangedBlockData.patch b/patches/api/0145-Add-source-block-constructor-and-getChangedBlockData.patch similarity index 100% rename from patches/unapplied/api/0145-Add-source-block-constructor-and-getChangedBlockData.patch rename to patches/api/0145-Add-source-block-constructor-and-getChangedBlockData.patch diff --git a/patches/unapplied/api/0146-Async-Chunks-API.patch b/patches/api/0146-Async-Chunks-API.patch similarity index 100% rename from patches/unapplied/api/0146-Async-Chunks-API.patch rename to patches/api/0146-Async-Chunks-API.patch diff --git a/patches/unapplied/api/0147-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/api/0147-Add-ray-tracing-methods-to-LivingEntity.patch similarity index 100% rename from patches/unapplied/api/0147-Add-ray-tracing-methods-to-LivingEntity.patch rename to patches/api/0147-Add-ray-tracing-methods-to-LivingEntity.patch diff --git a/patches/unapplied/api/0148-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch similarity index 100% rename from patches/unapplied/api/0148-Expose-attack-cooldown-methods-for-Player.patch rename to patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch diff --git a/patches/unapplied/api/0149-Improve-death-events.patch b/patches/api/0149-Improve-death-events.patch similarity index 100% rename from patches/unapplied/api/0149-Improve-death-events.patch rename to patches/api/0149-Improve-death-events.patch diff --git a/patches/unapplied/api/0150-Mob-Pathfinding-API.patch b/patches/api/0150-Mob-Pathfinding-API.patch similarity index 100% rename from patches/unapplied/api/0150-Mob-Pathfinding-API.patch rename to patches/api/0150-Mob-Pathfinding-API.patch diff --git a/patches/unapplied/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch similarity index 100% rename from patches/unapplied/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch rename to patches/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch diff --git a/patches/unapplied/api/0152-Performance-Concurrency-Improvements-to-Permissions.patch b/patches/api/0152-Performance-Concurrency-Improvements-to-Permissions.patch similarity index 100% rename from patches/unapplied/api/0152-Performance-Concurrency-Improvements-to-Permissions.patch rename to patches/api/0152-Performance-Concurrency-Improvements-to-Permissions.patch diff --git a/patches/unapplied/api/0153-Add-ItemStackRecipeChoice-Draft-API.patch b/patches/api/0153-Add-ItemStackRecipeChoice-Draft-API.patch similarity index 100% rename from patches/unapplied/api/0153-Add-ItemStackRecipeChoice-Draft-API.patch rename to patches/api/0153-Add-ItemStackRecipeChoice-Draft-API.patch diff --git a/patches/unapplied/api/0154-Implement-furnace-cook-speed-multiplier-API.patch b/patches/api/0154-Implement-furnace-cook-speed-multiplier-API.patch similarity index 100% rename from patches/unapplied/api/0154-Implement-furnace-cook-speed-multiplier-API.patch rename to patches/api/0154-Implement-furnace-cook-speed-multiplier-API.patch diff --git a/patches/unapplied/api/0155-Material-API-additions.patch b/patches/api/0155-Material-API-additions.patch similarity index 82% rename from patches/unapplied/api/0155-Material-API-additions.patch rename to patches/api/0155-Material-API-additions.patch index 8e6ad6f7b..421ed84d3 100644 --- a/patches/unapplied/api/0155-Material-API-additions.patch +++ b/patches/api/0155-Material-API-additions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index df3f24066022e2381a87d27338dec173199388c7..53d1609e2a75c007cb7e5e8f963b0deb53bae5f7 100644 +index 2f53bb42dc6a09ed35ec1335d23adf07289575fa..e40766c56fea6daae9f84fbdeb0b3f533e28d0b7 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -103,6 +103,7 @@ import org.jetbrains.annotations.Nullable; +@@ -106,6 +106,7 @@ import org.jetbrains.annotations.Nullable; /** * An enum of all material IDs accepted by the official server and client */ @@ -16,7 +16,7 @@ index df3f24066022e2381a87d27338dec173199388c7..53d1609e2a75c007cb7e5e8f963b0deb public enum Material implements Keyed { // AIR(9648, 0), -@@ -3973,6 +3974,22 @@ public enum Material implements Keyed { +@@ -4110,6 +4111,22 @@ public enum Material implements Keyed { } } diff --git a/patches/unapplied/api/0156-Add-Material-Tags.patch b/patches/api/0156-Add-Material-Tags.patch similarity index 99% rename from patches/unapplied/api/0156-Add-Material-Tags.patch rename to patches/api/0156-Add-Material-Tags.patch index 2e3b2e550..5649b03ac 100644 --- a/patches/unapplied/api/0156-Add-Material-Tags.patch +++ b/patches/api/0156-Add-Material-Tags.patch @@ -1067,7 +1067,7 @@ index 0000000000000000000000000000000000000000..d7eb49a05c3f0cacf285f8995433c5d5 + .ensureSize("WATER_BASED", 11).lock(); +} diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 107d12d447be481928ee796f73b7acb2c4b9b2d8..42d0f31c2be2d39c4481f98c0756c4f1ae337717 100644 +index 7e3c8812247f86313c49c1a0d9af557abd30d029..33f022a01e44e6b806e6d38eef003da161b6be53 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java @@ -11,6 +11,10 @@ import org.jetbrains.annotations.NotNull; diff --git a/patches/unapplied/api/0157-PreSpawnerSpawnEvent.patch b/patches/api/0157-PreSpawnerSpawnEvent.patch similarity index 100% rename from patches/unapplied/api/0157-PreSpawnerSpawnEvent.patch rename to patches/api/0157-PreSpawnerSpawnEvent.patch diff --git a/patches/unapplied/api/0158-Add-LivingEntity-getTargetEntity.patch b/patches/api/0158-Add-LivingEntity-getTargetEntity.patch similarity index 100% rename from patches/unapplied/api/0158-Add-LivingEntity-getTargetEntity.patch rename to patches/api/0158-Add-LivingEntity-getTargetEntity.patch diff --git a/patches/unapplied/api/0159-Add-sun-related-API.patch b/patches/api/0159-Add-sun-related-API.patch similarity index 100% rename from patches/unapplied/api/0159-Add-sun-related-API.patch rename to patches/api/0159-Add-sun-related-API.patch diff --git a/patches/unapplied/api/0160-Turtle-API.patch b/patches/api/0160-Turtle-API.patch similarity index 100% rename from patches/unapplied/api/0160-Turtle-API.patch rename to patches/api/0160-Turtle-API.patch diff --git a/patches/unapplied/api/0161-Add-spectator-target-events.patch b/patches/api/0161-Add-spectator-target-events.patch similarity index 100% rename from patches/unapplied/api/0161-Add-spectator-target-events.patch rename to patches/api/0161-Add-spectator-target-events.patch diff --git a/patches/unapplied/api/0162-Add-more-Witch-API.patch b/patches/api/0162-Add-more-Witch-API.patch similarity index 100% rename from patches/unapplied/api/0162-Add-more-Witch-API.patch rename to patches/api/0162-Add-more-Witch-API.patch diff --git a/patches/unapplied/api/0163-Make-the-default-permission-message-configurable.patch b/patches/api/0163-Make-the-default-permission-message-configurable.patch similarity index 96% rename from patches/unapplied/api/0163-Make-the-default-permission-message-configurable.patch rename to patches/api/0163-Make-the-default-permission-message-configurable.patch index 1997329bf..60ab692a1 100644 --- a/patches/unapplied/api/0163-Make-the-default-permission-message-configurable.patch +++ b/patches/api/0163-Make-the-default-permission-message-configurable.patch @@ -43,7 +43,7 @@ index 2042f4963c53d5a903f0de1fec6a9af3a7b2bba4..b8ed8d5d48cb4f1b2f598e2c48e4423a * Creates a PlayerProfile for the specified uuid, with name as null. * diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java -index fc5e398adc8f24187f1ffc0c4b3b429e3c6b25eb..4c608818a797c12cba6aa91643a915cf0bae77f5 100644 +index a26df5f6341d22ecd5e71da59b8f091848e627ad..cefaea8e08fe5e92c9ef2e4725d42e33dd3dac69 100644 --- a/src/main/java/org/bukkit/command/Command.java +++ b/src/main/java/org/bukkit/command/Command.java @@ -184,10 +184,9 @@ public abstract class Command { diff --git a/patches/unapplied/api/0164-Support-cancellation-supression-of-EntityDismount-Ve.patch b/patches/api/0164-Support-cancellation-supression-of-EntityDismount-Ve.patch similarity index 100% rename from patches/unapplied/api/0164-Support-cancellation-supression-of-EntityDismount-Ve.patch rename to patches/api/0164-Support-cancellation-supression-of-EntityDismount-Ve.patch diff --git a/patches/unapplied/api/0165-Add-more-Zombie-API.patch b/patches/api/0165-Add-more-Zombie-API.patch similarity index 100% rename from patches/unapplied/api/0165-Add-more-Zombie-API.patch rename to patches/api/0165-Add-more-Zombie-API.patch diff --git a/patches/unapplied/api/0166-Change-the-reserved-channel-check-to-be-sensible.patch b/patches/api/0166-Change-the-reserved-channel-check-to-be-sensible.patch similarity index 100% rename from patches/unapplied/api/0166-Change-the-reserved-channel-check-to-be-sensible.patch rename to patches/api/0166-Change-the-reserved-channel-check-to-be-sensible.patch diff --git a/patches/unapplied/api/0167-Add-PlayerConnectionCloseEvent.patch b/patches/api/0167-Add-PlayerConnectionCloseEvent.patch similarity index 100% rename from patches/unapplied/api/0167-Add-PlayerConnectionCloseEvent.patch rename to patches/api/0167-Add-PlayerConnectionCloseEvent.patch diff --git a/patches/unapplied/api/0168-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/api/0168-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch similarity index 100% rename from patches/unapplied/api/0168-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch rename to patches/api/0168-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch diff --git a/patches/unapplied/api/0169-Add-ItemStack-Recipe-API-helper-methods.patch b/patches/api/0169-Add-ItemStack-Recipe-API-helper-methods.patch similarity index 87% rename from patches/unapplied/api/0169-Add-ItemStack-Recipe-API-helper-methods.patch rename to patches/api/0169-Add-ItemStack-Recipe-API-helper-methods.patch index 9b2dfc0c7..8b237c692 100644 --- a/patches/unapplied/api/0169-Add-ItemStack-Recipe-API-helper-methods.patch +++ b/patches/api/0169-Add-ItemStack-Recipe-API-helper-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add ItemStack Recipe API helper methods Allows using ExactChoice Recipes with easier methodss diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index d742c4058ba9aed4fbe1591fd755a06608b06e98..222a12baa8e93ad686ab59426653f066d5876e38 100644 +index ad2ab6e97ccf6900d19f8bfbe08181d4c7743a99..ecf8cd763ae600c11be6385ea6240e4d2c08abc9 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -@@ -145,6 +145,13 @@ public class ShapedRecipe implements Recipe, Keyed { +@@ -144,6 +144,13 @@ public class ShapedRecipe implements Recipe, Keyed { return this; } @@ -24,10 +24,10 @@ index d742c4058ba9aed4fbe1591fd755a06608b06e98..222a12baa8e93ad686ab59426653f066 * Get a copy of the ingredients map. * diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index 84062dd719cb8a6142dc8c806777cb208c6b42b2..7f6d3c71c5b3a9aa54c84a4c3b7c3614a0d477ce 100644 +index 75b47c608d0a902e4ea5f03c395667f47dec8980..ba4fb2356c63dd0e1c14f373a699b87e2e25562c 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -143,6 +143,40 @@ public class ShapelessRecipe implements Recipe, Keyed { +@@ -142,6 +142,40 @@ public class ShapelessRecipe implements Recipe, Keyed { return this; } diff --git a/patches/unapplied/api/0170-BlockDestroyEvent.patch b/patches/api/0170-BlockDestroyEvent.patch similarity index 100% rename from patches/unapplied/api/0170-BlockDestroyEvent.patch rename to patches/api/0170-BlockDestroyEvent.patch diff --git a/patches/unapplied/api/0171-Add-WhitelistToggleEvent.patch b/patches/api/0171-Add-WhitelistToggleEvent.patch similarity index 100% rename from patches/unapplied/api/0171-Add-WhitelistToggleEvent.patch rename to patches/api/0171-Add-WhitelistToggleEvent.patch diff --git a/patches/unapplied/api/0172-Add-GS4-Query-event.patch b/patches/api/0172-Add-GS4-Query-event.patch similarity index 100% rename from patches/unapplied/api/0172-Add-GS4-Query-event.patch rename to patches/api/0172-Add-GS4-Query-event.patch diff --git a/patches/unapplied/api/0173-Add-PlayerPostRespawnEvent.patch b/patches/api/0173-Add-PlayerPostRespawnEvent.patch similarity index 96% rename from patches/unapplied/api/0173-Add-PlayerPostRespawnEvent.patch rename to patches/api/0173-Add-PlayerPostRespawnEvent.patch index 54352474f..004d74e96 100644 --- a/patches/unapplied/api/0173-Add-PlayerPostRespawnEvent.patch +++ b/patches/api/0173-Add-PlayerPostRespawnEvent.patch @@ -63,7 +63,7 @@ index 0000000000000000000000000000000000000000..31f34b54801f6699ce43355fa2a0a51f + } +} diff --git a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java -index d2be2ad2e3665728e614a89dd62ef9237f1d3ce6..e2c87a23e4743a34cfe911a71fd82b5a5ba1f9b7 100644 +index 7c2cec60cbaf199416496292f2264fa3864b499c..f5bdb5244c8d993c624f938c8fb7ccff74655d75 100644 --- a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java @@ -8,6 +8,9 @@ import org.jetbrains.annotations.NotNull; diff --git a/patches/unapplied/api/0174-Entity-getEntitySpawnReason.patch b/patches/api/0174-Entity-getEntitySpawnReason.patch similarity index 100% rename from patches/unapplied/api/0174-Entity-getEntitySpawnReason.patch rename to patches/api/0174-Entity-getEntitySpawnReason.patch diff --git a/patches/unapplied/api/0175-Fix-Spigot-annotation-mistakes.patch b/patches/api/0175-Fix-Spigot-annotation-mistakes.patch similarity index 96% rename from patches/unapplied/api/0175-Fix-Spigot-annotation-mistakes.patch rename to patches/api/0175-Fix-Spigot-annotation-mistakes.patch index 78cd04e32..07d1d7a5d 100644 --- a/patches/unapplied/api/0175-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0175-Fix-Spigot-annotation-mistakes.patch @@ -79,10 +79,10 @@ index 57cb548683f7b2972c998afd34176952426f8b47..d4c87bfed81b2d73919705912f59fab0 if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 53d1609e2a75c007cb7e5e8f963b0deb53bae5f7..88d9ca5d5c240bb6810a843c27eb1613235bffdd 100644 +index e40766c56fea6daae9f84fbdeb0b3f533e28d0b7..80b79ffa10ce7eba30d1df4ffa0e928be42f445f 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4003,11 +4003,11 @@ public enum Material implements Keyed { +@@ -4140,11 +4140,11 @@ public enum Material implements Keyed { } /** @@ -96,7 +96,7 @@ index 53d1609e2a75c007cb7e5e8f963b0deb53bae5f7..88d9ca5d5c240bb6810a843c27eb1613 public boolean isLegacy() { return legacy; } -@@ -4078,8 +4078,10 @@ public enum Material implements Keyed { +@@ -4215,8 +4215,10 @@ public enum Material implements Keyed { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -105,7 +105,7 @@ index 53d1609e2a75c007cb7e5e8f963b0deb53bae5f7..88d9ca5d5c240bb6810a843c27eb1613 @NotNull + @Deprecated // Paper public Class getData() { - Validate.isTrue(legacy, "Cannot get data class of Modern Material"); + Preconditions.checkArgument(legacy, "Cannot get data class of Modern Material"); return ctor.getDeclaringClass(); diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java index 01bcb3a1bdb5accdf844d0178cec3d25746b3eaa..236c9aea9ffc36269e5c32eacc9f1fd6bd039c88 100644 @@ -568,18 +568,18 @@ index 66ffc658dba85942f179760dc6c50258e24ab903..50fe28b48d885c782278bdb53a0bbae3 /** diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 487e6a6391123a4792c3bdeba869aa2bcb5922cc..46bf24aed3e959d216d94603560cb75af43ba9d9 100644 +index 7559f75dcc6665fa3d19d6e53a141a214407d1c5..515f623b3b6e76dbf24ec1d204f7983adb100858 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -8,6 +8,7 @@ import java.util.Set; // Paper - import org.apache.commons.lang.Validate; +@@ -7,6 +7,7 @@ import java.util.List; // Paper + import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.UndefinedNullability; import org.bukkit.Utility; import org.bukkit.configuration.serialization.ConfigurationSerializable; import org.bukkit.enchantments.Enchantment; -@@ -68,6 +69,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -67,6 +68,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor * @param damage durability / damage * @deprecated see {@link #setDurability(short)} */ @@ -587,7 +587,7 @@ index 487e6a6391123a4792c3bdeba869aa2bcb5922cc..46bf24aed3e959d216d94603560cb75a public ItemStack(@NotNull final Material type, final int amount, final short damage) { this(type, amount, damage, null); } -@@ -169,8 +171,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -168,8 +170,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor * Gets the MaterialData for this stack of items * * @return MaterialData for this item @@ -598,7 +598,7 @@ index 487e6a6391123a4792c3bdeba869aa2bcb5922cc..46bf24aed3e959d216d94603560cb75a public MaterialData getData() { Material mat = Bukkit.getUnsafe().toLegacy(getType()); if (data == null && mat != null && mat.getData() != null) { -@@ -184,7 +188,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -183,7 +187,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor * Sets the MaterialData for this stack of items * * @param data New MaterialData for this item @@ -608,7 +608,7 @@ index 487e6a6391123a4792c3bdeba869aa2bcb5922cc..46bf24aed3e959d216d94603560cb75a public void setData(@Nullable MaterialData data) { if (data == null) { this.data = data; -@@ -546,7 +552,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -545,7 +551,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor * * @return a copy of the current ItemStack's ItemData */ @@ -654,10 +654,10 @@ index 5461f7fa75f5a065bb333b4a113640b5fe1e3825..c4d657727e508cb941320730a9d3aa54 /** diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index 222a12baa8e93ad686ab59426653f066d5876e38..2475e00ba2be671cf7c9a5aea83acf094b1a3c62 100644 +index ecf8cd763ae600c11be6385ea6240e4d2c08abc9..40e9040fec4e7d39aa1b0d75d183cf97aff44438 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -@@ -96,8 +96,10 @@ public class ShapedRecipe implements Recipe, Keyed { +@@ -95,8 +95,10 @@ public class ShapedRecipe implements Recipe, Keyed { * @param key The character that represents the ingredient in the shape. * @param ingredient The ingredient. * @return The changed recipe, so you can chain calls. @@ -669,10 +669,10 @@ index 222a12baa8e93ad686ab59426653f066d5876e38..2475e00ba2be671cf7c9a5aea83acf09 return setIngredient(key, ingredient.getItemType(), ingredient.getData()); } diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index 7f6d3c71c5b3a9aa54c84a4c3b7c3614a0d477ce..1bab04b44d99c974b1cc099d127b93df5947cd4e 100644 +index ba4fb2356c63dd0e1c14f373a699b87e2e25562c..a50f72da6a5e6470484e61ef1a833bcca4041a79 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -55,8 +55,10 @@ public class ShapelessRecipe implements Recipe, Keyed { +@@ -54,8 +54,10 @@ public class ShapelessRecipe implements Recipe, Keyed { * * @param ingredient The ingredient to add. * @return The changed recipe, so you can chain calls. @@ -683,7 +683,7 @@ index 7f6d3c71c5b3a9aa54c84a4c3b7c3614a0d477ce..1bab04b44d99c974b1cc099d127b93df public ShapelessRecipe addIngredient(@NotNull MaterialData ingredient) { return addIngredient(1, ingredient); } -@@ -92,8 +94,10 @@ public class ShapelessRecipe implements Recipe, Keyed { +@@ -91,8 +93,10 @@ public class ShapelessRecipe implements Recipe, Keyed { * @param count How many to add (can't be more than 9!) * @param ingredient The ingredient to add. * @return The changed recipe, so you can chain calls. @@ -694,7 +694,7 @@ index 7f6d3c71c5b3a9aa54c84a4c3b7c3614a0d477ce..1bab04b44d99c974b1cc099d127b93df public ShapelessRecipe addIngredient(int count, @NotNull MaterialData ingredient) { return addIngredient(count, ingredient.getItemType(), ingredient.getData()); } -@@ -210,8 +214,10 @@ public class ShapelessRecipe implements Recipe, Keyed { +@@ -209,8 +213,10 @@ public class ShapelessRecipe implements Recipe, Keyed { * * @param ingredient The ingredient to remove * @return The changed recipe. @@ -705,7 +705,7 @@ index 7f6d3c71c5b3a9aa54c84a4c3b7c3614a0d477ce..1bab04b44d99c974b1cc099d127b93df public ShapelessRecipe removeIngredient(@NotNull MaterialData ingredient) { return removeIngredient(ingredient.getItemType(), ingredient.getData()); } -@@ -238,8 +244,10 @@ public class ShapelessRecipe implements Recipe, Keyed { +@@ -237,8 +243,10 @@ public class ShapelessRecipe implements Recipe, Keyed { * @param count The number of copies to remove. * @param ingredient The ingredient to remove. * @return The changed recipe. diff --git a/patches/unapplied/api/0176-Server-Tick-Events.patch b/patches/api/0176-Server-Tick-Events.patch similarity index 100% rename from patches/unapplied/api/0176-Server-Tick-Events.patch rename to patches/api/0176-Server-Tick-Events.patch diff --git a/patches/unapplied/api/0177-PlayerDeathEvent-getItemsToKeep.patch b/patches/api/0177-PlayerDeathEvent-getItemsToKeep.patch similarity index 100% rename from patches/unapplied/api/0177-PlayerDeathEvent-getItemsToKeep.patch rename to patches/api/0177-PlayerDeathEvent-getItemsToKeep.patch diff --git a/patches/unapplied/api/0178-Add-Heightmap-API.patch b/patches/api/0178-Add-Heightmap-API.patch similarity index 100% rename from patches/unapplied/api/0178-Add-Heightmap-API.patch rename to patches/api/0178-Add-Heightmap-API.patch diff --git a/patches/unapplied/api/0179-Mob-Spawner-API-Enhancements.patch b/patches/api/0179-Mob-Spawner-API-Enhancements.patch similarity index 100% rename from patches/unapplied/api/0179-Mob-Spawner-API-Enhancements.patch rename to patches/api/0179-Mob-Spawner-API-Enhancements.patch diff --git a/patches/unapplied/api/0180-Add-BlockSoundGroup-interface.patch b/patches/api/0180-Add-BlockSoundGroup-interface.patch similarity index 100% rename from patches/unapplied/api/0180-Add-BlockSoundGroup-interface.patch rename to patches/api/0180-Add-BlockSoundGroup-interface.patch diff --git a/patches/unapplied/api/0181-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch b/patches/api/0181-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch similarity index 100% rename from patches/unapplied/api/0181-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch rename to patches/api/0181-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch diff --git a/patches/unapplied/api/0182-Increase-custom-payload-channel-message-size.patch b/patches/api/0182-Increase-custom-payload-channel-message-size.patch similarity index 100% rename from patches/unapplied/api/0182-Increase-custom-payload-channel-message-size.patch rename to patches/api/0182-Increase-custom-payload-channel-message-size.patch diff --git a/patches/unapplied/api/0183-Expose-the-internal-current-tick.patch b/patches/api/0183-Expose-the-internal-current-tick.patch similarity index 100% rename from patches/unapplied/api/0183-Expose-the-internal-current-tick.patch rename to patches/api/0183-Expose-the-internal-current-tick.patch diff --git a/patches/unapplied/api/0184-PlayerDeathEvent-shouldDropExperience.patch b/patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch similarity index 100% rename from patches/unapplied/api/0184-PlayerDeathEvent-shouldDropExperience.patch rename to patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch diff --git a/patches/unapplied/api/0185-Add-effect-to-block-break-naturally.patch b/patches/api/0185-Add-effect-to-block-break-naturally.patch similarity index 100% rename from patches/unapplied/api/0185-Add-effect-to-block-break-naturally.patch rename to patches/api/0185-Add-effect-to-block-break-naturally.patch diff --git a/patches/unapplied/api/0186-Add-ThrownEggHatchEvent.patch b/patches/api/0186-Add-ThrownEggHatchEvent.patch similarity index 100% rename from patches/unapplied/api/0186-Add-ThrownEggHatchEvent.patch rename to patches/api/0186-Add-ThrownEggHatchEvent.patch diff --git a/patches/unapplied/api/0187-Entity-Jump-API.patch b/patches/api/0187-Entity-Jump-API.patch similarity index 100% rename from patches/unapplied/api/0187-Entity-Jump-API.patch rename to patches/api/0187-Entity-Jump-API.patch diff --git a/patches/unapplied/api/0188-add-hand-to-BlockMultiPlaceEvent.patch b/patches/api/0188-add-hand-to-BlockMultiPlaceEvent.patch similarity index 100% rename from patches/unapplied/api/0188-add-hand-to-BlockMultiPlaceEvent.patch rename to patches/api/0188-add-hand-to-BlockMultiPlaceEvent.patch diff --git a/patches/unapplied/api/0189-Add-tick-times-API.patch b/patches/api/0189-Add-tick-times-API.patch similarity index 100% rename from patches/unapplied/api/0189-Add-tick-times-API.patch rename to patches/api/0189-Add-tick-times-API.patch diff --git a/patches/unapplied/api/0190-Expose-MinecraftServer-isRunning.patch b/patches/api/0190-Expose-MinecraftServer-isRunning.patch similarity index 100% rename from patches/unapplied/api/0190-Expose-MinecraftServer-isRunning.patch rename to patches/api/0190-Expose-MinecraftServer-isRunning.patch diff --git a/patches/unapplied/api/0191-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0191-Add-Raw-Byte-ItemStack-Serialization.patch similarity index 93% rename from patches/unapplied/api/0191-Add-Raw-Byte-ItemStack-Serialization.patch rename to patches/api/0191-Add-Raw-Byte-ItemStack-Serialization.patch index 5a229d8da..ffc54997e 100644 --- a/patches/unapplied/api/0191-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0191-Add-Raw-Byte-ItemStack-Serialization.patch @@ -20,10 +20,10 @@ index cbf7df30a7ec8445c8492e3b9f108747dbe1717b..1b5f36b78d81b688ded88ab91e36d9df // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 46bf24aed3e959d216d94603560cb75af43ba9d9..f0ba7ba369aad67f6af0f946dc52b3e1c8958b15 100644 +index 515f623b3b6e76dbf24ec1d204f7983adb100858..d3334c62bf39abf17ee7f3e68e106fd637ffdf00 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -633,6 +633,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -632,6 +632,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor return Bukkit.getServer().getItemFactory().ensureServerConversions(this); } diff --git a/patches/unapplied/api/0192-Disable-Sync-Events-firing-Async-errors-during-shutd.patch b/patches/api/0192-Disable-Sync-Events-firing-Async-errors-during-shutd.patch similarity index 88% rename from patches/unapplied/api/0192-Disable-Sync-Events-firing-Async-errors-during-shutd.patch rename to patches/api/0192-Disable-Sync-Events-firing-Async-errors-during-shutd.patch index a4cbc753e..b74732077 100644 --- a/patches/unapplied/api/0192-Disable-Sync-Events-firing-Async-errors-during-shutd.patch +++ b/patches/api/0192-Disable-Sync-Events-firing-Async-errors-during-shutd.patch @@ -11,10 +11,10 @@ errors. This isn't an issue on Spigot diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 3457dd6a86f927dd38edd200121aad5364d8abd5..0d9d729a18b5388b06ab0a3749e55f91f838be88 100644 +index 45989646f5c32fd1470a9868afca3e3a9074579c..9654f4fb230945086a88f64b09a46a5b10e8d1d7 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -605,7 +605,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -600,7 +600,7 @@ public final class SimplePluginManager implements PluginManager { // Paper - replace callEvent by merging to below method if (event.isAsynchronous() && server.isPrimaryThread()) { throw new IllegalStateException(event.getEventName() + " may only be triggered asynchronously."); diff --git a/patches/unapplied/api/0193-Make-JavaPluginLoader-thread-safe.patch b/patches/api/0193-Make-JavaPluginLoader-thread-safe.patch similarity index 96% rename from patches/unapplied/api/0193-Make-JavaPluginLoader-thread-safe.patch rename to patches/api/0193-Make-JavaPluginLoader-thread-safe.patch index 4b07e4519..9afcec165 100644 --- a/patches/unapplied/api/0193-Make-JavaPluginLoader-thread-safe.patch +++ b/patches/api/0193-Make-JavaPluginLoader-thread-safe.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make JavaPluginLoader thread-safe diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 922bb2cbfaf1e4cd111b7ad286c867c4d9f47e05..4397fed2b41e5ab444aa7e3c9b5d7dccc50f4e04 100644 +index e98934d32b8dac88b3c3fd14ea5d726872212807..cf809eda2a3feb6abccf7286068280f430452135 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -52,6 +52,8 @@ import org.yaml.snakeyaml.error.YAMLException; diff --git a/patches/unapplied/api/0194-Add-Player-Client-Options-API.patch b/patches/api/0194-Add-Player-Client-Options-API.patch similarity index 100% rename from patches/unapplied/api/0194-Add-Player-Client-Options-API.patch rename to patches/api/0194-Add-Player-Client-Options-API.patch diff --git a/patches/unapplied/api/0195-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/api/0195-Add-PlayerAttackEntityCooldownResetEvent.patch similarity index 100% rename from patches/unapplied/api/0195-Add-PlayerAttackEntityCooldownResetEvent.patch rename to patches/api/0195-Add-PlayerAttackEntityCooldownResetEvent.patch diff --git a/patches/unapplied/api/0196-Fix-Potion-toItemStack-swapping-the-extended-and-upg.patch b/patches/api/0196-Fix-Potion-toItemStack-swapping-the-extended-and-upg.patch similarity index 91% rename from patches/unapplied/api/0196-Fix-Potion-toItemStack-swapping-the-extended-and-upg.patch rename to patches/api/0196-Fix-Potion-toItemStack-swapping-the-extended-and-upg.patch index 9b8668727..2fa02a778 100644 --- a/patches/unapplied/api/0196-Fix-Potion-toItemStack-swapping-the-extended-and-upg.patch +++ b/patches/api/0196-Fix-Potion-toItemStack-swapping-the-extended-and-upg.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Fix Potion#toItemStack swapping the extended and upgraded While the Potion class is deprecated, it is still used in some plugins for cross-version potion handling. This issue has existed for a long time, and has caused many heaches along the way. diff --git a/src/main/java/org/bukkit/potion/Potion.java b/src/main/java/org/bukkit/potion/Potion.java -index 2184c8620ca89e3cd769b16061dea1755ce8e03a..c0da4d307426684c1db112f41a729bcf5233452e 100644 +index 266547c6da0e3270af5c9ca81268934294a7c48d..69e7ce61090e3e3a7a337a96b380c8ffe78ffb8d 100644 --- a/src/main/java/org/bukkit/potion/Potion.java +++ b/src/main/java/org/bukkit/potion/Potion.java @@ -267,7 +267,7 @@ public class Potion { diff --git a/patches/unapplied/api/0197-Add-item-slot-convenience-methods.patch b/patches/api/0197-Add-item-slot-convenience-methods.patch similarity index 100% rename from patches/unapplied/api/0197-Add-item-slot-convenience-methods.patch rename to patches/api/0197-Add-item-slot-convenience-methods.patch diff --git a/patches/unapplied/api/0198-Villager-Restocks-API.patch b/patches/api/0198-Villager-Restocks-API.patch similarity index 100% rename from patches/unapplied/api/0198-Villager-Restocks-API.patch rename to patches/api/0198-Villager-Restocks-API.patch diff --git a/patches/unapplied/api/0199-Expose-game-version.patch b/patches/api/0199-Expose-game-version.patch similarity index 100% rename from patches/unapplied/api/0199-Expose-game-version.patch rename to patches/api/0199-Expose-game-version.patch diff --git a/patches/unapplied/api/0200-Add-Mob-Goal-API.patch b/patches/api/0200-Add-Mob-Goal-API.patch similarity index 100% rename from patches/unapplied/api/0200-Add-Mob-Goal-API.patch rename to patches/api/0200-Add-Mob-Goal-API.patch diff --git a/patches/unapplied/api/0201-Add-villager-reputation-API.patch b/patches/api/0201-Add-villager-reputation-API.patch similarity index 100% rename from patches/unapplied/api/0201-Add-villager-reputation-API.patch rename to patches/api/0201-Add-villager-reputation-API.patch diff --git a/patches/unapplied/api/0202-Spawn-Reason-API.patch b/patches/api/0202-Spawn-Reason-API.patch similarity index 100% rename from patches/unapplied/api/0202-Spawn-Reason-API.patch rename to patches/api/0202-Spawn-Reason-API.patch diff --git a/patches/unapplied/api/0203-Potential-bed-API.patch b/patches/api/0203-Potential-bed-API.patch similarity index 100% rename from patches/unapplied/api/0203-Potential-bed-API.patch rename to patches/api/0203-Potential-bed-API.patch diff --git a/patches/unapplied/api/0204-Prioritise-own-classes-where-possible.patch b/patches/api/0204-Prioritise-own-classes-where-possible.patch similarity index 96% rename from patches/unapplied/api/0204-Prioritise-own-classes-where-possible.patch rename to patches/api/0204-Prioritise-own-classes-where-possible.patch index 1680d25c3..948e2f95f 100644 --- a/patches/unapplied/api/0204-Prioritise-own-classes-where-possible.patch +++ b/patches/api/0204-Prioritise-own-classes-where-possible.patch @@ -25,7 +25,7 @@ The patch in general terms just loads the class in the plugin's jar before it starts looking elsewhere for it. diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 4397fed2b41e5ab444aa7e3c9b5d7dccc50f4e04..d2712f45dbcf26fabe8463d99f378bf422c66970 100644 +index cf809eda2a3feb6abccf7286068280f430452135..4b54af83ef8fd18696d2d21ed52b61f13bff7988 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -51,6 +51,7 @@ import org.yaml.snakeyaml.error.YAMLException; @@ -63,7 +63,7 @@ index 4397fed2b41e5ab444aa7e3c9b5d7dccc50f4e04..d2712f45dbcf26fabe8463d99f378bf4 for (PluginClassLoader loader : loaders) { try { diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index 684d7b1105350660fe7fc66f57a49db7f39610b4..46b705197e7520cea19da24769bce71406ec6a31 100644 +index 0db641f5d5e1293b236ad0d2e3a156802ffed839..064c758b19bc8c9a4e94769dd205a1bdcc972a89 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -33,7 +33,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot diff --git a/patches/unapplied/api/0205-Provide-a-useful-PluginClassLoader-toString.patch b/patches/api/0205-Provide-a-useful-PluginClassLoader-toString.patch similarity index 93% rename from patches/unapplied/api/0205-Provide-a-useful-PluginClassLoader-toString.patch rename to patches/api/0205-Provide-a-useful-PluginClassLoader-toString.patch index 8b07f145b..f780b485d 100644 --- a/patches/unapplied/api/0205-Provide-a-useful-PluginClassLoader-toString.patch +++ b/patches/api/0205-Provide-a-useful-PluginClassLoader-toString.patch @@ -8,7 +8,7 @@ however, this provides no indication of the owner of the classloader, making these messages effectively useless, this patch rectifies this diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index 46b705197e7520cea19da24769bce71406ec6a31..c0781480ac1562bff7415f0947d733b438a4d04b 100644 +index 064c758b19bc8c9a4e94769dd205a1bdcc972a89..fc5dc3b2f73e76976748eb013b39cae931072143 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -235,4 +235,16 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot diff --git a/patches/unapplied/api/0206-Inventory-getHolder-method-without-block-snapshot.patch b/patches/api/0206-Inventory-getHolder-method-without-block-snapshot.patch similarity index 100% rename from patches/unapplied/api/0206-Inventory-getHolder-method-without-block-snapshot.patch rename to patches/api/0206-Inventory-getHolder-method-without-block-snapshot.patch diff --git a/patches/unapplied/api/0207-Improve-Arrow-API.patch b/patches/api/0207-Improve-Arrow-API.patch similarity index 100% rename from patches/unapplied/api/0207-Improve-Arrow-API.patch rename to patches/api/0207-Improve-Arrow-API.patch diff --git a/patches/unapplied/api/0208-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/api/0208-Add-and-implement-PlayerRecipeBookClickEvent.patch similarity index 100% rename from patches/unapplied/api/0208-Add-and-implement-PlayerRecipeBookClickEvent.patch rename to patches/api/0208-Add-and-implement-PlayerRecipeBookClickEvent.patch diff --git a/patches/unapplied/api/0209-Support-components-in-ItemMeta.patch b/patches/api/0209-Support-components-in-ItemMeta.patch similarity index 100% rename from patches/unapplied/api/0209-Support-components-in-ItemMeta.patch rename to patches/api/0209-Support-components-in-ItemMeta.patch diff --git a/patches/unapplied/api/0210-added-2-new-TargetReasons-for-1.16-mob-behavior.patch b/patches/api/0210-added-2-new-TargetReasons-for-1.16-mob-behavior.patch similarity index 100% rename from patches/unapplied/api/0210-added-2-new-TargetReasons-for-1.16-mob-behavior.patch rename to patches/api/0210-added-2-new-TargetReasons-for-1.16-mob-behavior.patch diff --git a/patches/unapplied/api/0211-Add-entity-liquid-API.patch b/patches/api/0211-Add-entity-liquid-API.patch similarity index 100% rename from patches/unapplied/api/0211-Add-entity-liquid-API.patch rename to patches/api/0211-Add-entity-liquid-API.patch diff --git a/patches/unapplied/api/0212-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch b/patches/api/0212-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch similarity index 100% rename from patches/unapplied/api/0212-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch rename to patches/api/0212-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch diff --git a/patches/unapplied/api/0213-Support-hex-colors-in-getLastColors.patch b/patches/api/0213-Support-hex-colors-in-getLastColors.patch similarity index 94% rename from patches/unapplied/api/0213-Support-hex-colors-in-getLastColors.patch rename to patches/api/0213-Support-hex-colors-in-getLastColors.patch index a3117a437..fec6bebf3 100644 --- a/patches/unapplied/api/0213-Support-hex-colors-in-getLastColors.patch +++ b/patches/api/0213-Support-hex-colors-in-getLastColors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Support hex colors in getLastColors diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java -index 44d597d7a6f66a18b8037e971170ff7cea5e825f..4594701d77c5d0f744bece871b98d9f6f73eb5a7 100644 +index 24ade174df77d75339b44bcd4b035e0c46d95dc3..f6eb30f53dad684f156102cf7147b2f00c82c71e 100644 --- a/src/main/java/org/bukkit/ChatColor.java +++ b/src/main/java/org/bukkit/ChatColor.java @@ -363,6 +363,7 @@ public enum ChatColor { diff --git a/patches/unapplied/api/0214-Add-setMaxPlayers-API.patch b/patches/api/0214-Add-setMaxPlayers-API.patch similarity index 100% rename from patches/unapplied/api/0214-Add-setMaxPlayers-API.patch rename to patches/api/0214-Add-setMaxPlayers-API.patch diff --git a/patches/unapplied/api/0215-Add-moon-phase-API.patch b/patches/api/0215-Add-moon-phase-API.patch similarity index 100% rename from patches/unapplied/api/0215-Add-moon-phase-API.patch rename to patches/api/0215-Add-moon-phase-API.patch diff --git a/patches/unapplied/api/0216-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0216-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 100% rename from patches/unapplied/api/0216-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/api/0216-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/unapplied/api/0217-Add-BellRingEvent.patch b/patches/api/0217-Add-BellRingEvent.patch similarity index 100% rename from patches/unapplied/api/0217-Add-BellRingEvent.patch rename to patches/api/0217-Add-BellRingEvent.patch diff --git a/patches/unapplied/api/0218-Brand-support.patch b/patches/api/0218-Brand-support.patch similarity index 100% rename from patches/unapplied/api/0218-Brand-support.patch rename to patches/api/0218-Brand-support.patch diff --git a/patches/unapplied/api/0219-Add-more-Evoker-API.patch b/patches/api/0219-Add-more-Evoker-API.patch similarity index 100% rename from patches/unapplied/api/0219-Add-more-Evoker-API.patch rename to patches/api/0219-Add-more-Evoker-API.patch diff --git a/patches/unapplied/api/0220-Add-methods-to-get-translation-keys.patch b/patches/api/0220-Add-methods-to-get-translation-keys.patch similarity index 95% rename from patches/unapplied/api/0220-Add-methods-to-get-translation-keys.patch rename to patches/api/0220-Add-methods-to-get-translation-keys.patch index ef690891d..80ce30165 100644 --- a/patches/unapplied/api/0220-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0220-Add-methods-to-get-translation-keys.patch @@ -32,7 +32,7 @@ index 3f6cbefc2b1414ba2dad709e79288013b3ef73be..122884098f08c9aa5e144876746b5ce4 * Gets the Difficulty represented by the specified value * diff --git a/src/main/java/org/bukkit/FireworkEffect.java b/src/main/java/org/bukkit/FireworkEffect.java -index 4a97e73ce59c0eee77661967f1d3ac23508aae3e..d543b2b6aa131efec9b978d0b71a228f79a31f9a 100644 +index bf7db5b3e7c2ac15016a48e520fba674726718ee..637fa73d4366c2d88e2716e5c8d3465706d788a7 100644 --- a/src/main/java/org/bukkit/FireworkEffect.java +++ b/src/main/java/org/bukkit/FireworkEffect.java @@ -18,28 +18,44 @@ public final class FireworkEffect implements ConfigurationSerializable { @@ -119,7 +119,7 @@ index 938c3217f92e6d3ef9a637269c469f8359af6347..ef49495909a37d718a87d5dfbcd644d4 /** diff --git a/src/main/java/org/bukkit/GameRule.java b/src/main/java/org/bukkit/GameRule.java -index 442db40bc6ea2cfd2f724807544a080bb62bd8c5..d3365e44e64c2e72416d3a50be20ada79320ba2a 100644 +index dddc450e1372409c513bbedc0acfc80d9f749333..38a1b02c006af766b0c10ee65e9fc28f5a922774 100644 --- a/src/main/java/org/bukkit/GameRule.java +++ b/src/main/java/org/bukkit/GameRule.java @@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable; @@ -131,7 +131,7 @@ index 442db40bc6ea2cfd2f724807544a080bb62bd8c5..d3365e44e64c2e72416d3a50be20ada7 private static Map> gameRules = new HashMap<>(); // Boolean rules -@@ -283,4 +283,11 @@ public final class GameRule { +@@ -288,4 +288,11 @@ public final class GameRule { public static GameRule[] values() { return gameRules.values().toArray(new GameRule[gameRules.size()]); } @@ -144,10 +144,10 @@ index 442db40bc6ea2cfd2f724807544a080bb62bd8c5..d3365e44e64c2e72416d3a50be20ada7 + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 88d9ca5d5c240bb6810a843c27eb1613235bffdd..f2ca0a11f0d7f8c48f7464045eded5486c1128af 100644 +index 80b79ffa10ce7eba30d1df4ffa0e928be42f445f..04e07abc29ed1c4eae27529307c4fa11b6fbc3f6 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -104,7 +104,7 @@ import org.jetbrains.annotations.Nullable; +@@ -107,7 +107,7 @@ import org.jetbrains.annotations.Nullable; * An enum of all material IDs accepted by the official server and client */ @SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper @@ -156,7 +156,7 @@ index 88d9ca5d5c240bb6810a843c27eb1613235bffdd..f2ca0a11f0d7f8c48f7464045eded548 // AIR(9648, 0), STONE(22948), -@@ -3988,6 +3988,23 @@ public enum Material implements Keyed { +@@ -4125,6 +4125,23 @@ public enum Material implements Keyed { } return false; } @@ -273,7 +273,7 @@ index 1e7ee68e56f8d4399c2cbf26aa45bf8b599b3b02..2c837ea822f3b0c4ec312f0c956fe1b7 // Paper end } diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index 8eb0497c81744874809ebc4bc2e28b128e66a926..b277034fee2d4f38c40713842d14a8f6dde757aa 100644 +index 5744a9f432ec75f6b6b1991ff488dffb9591c934..0264c2f9a3977b6d47994b1e1b0240b312e5bf65 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; @@ -301,7 +301,7 @@ index 4d5f0837bd0e02a30c943d8969fb6b13452322e0..a39f9c078f42451bd122f3e3729d10ca // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 9be5371c7f398d0ec8241403661415ff40661067..d36d314383713bac3b11f18d95b0809dce3cd6e0 100644 +index e4a1dac898bb7f93e57c1fa35d0c29f5d95dfa66..032a252688b6dbefb05a0d4f91791e102bbae0cd 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -20,7 +20,7 @@ import org.jetbrains.annotations.Contract; @@ -313,7 +313,7 @@ index 9be5371c7f398d0ec8241403661415ff40661067..d36d314383713bac3b11f18d95b0809d // These strings MUST match the strings in nms.EntityTypes and are case sensitive. /** -@@ -419,4 +419,27 @@ public enum EntityType implements Keyed { +@@ -424,4 +424,27 @@ public enum EntityType implements Keyed { public boolean isAlive() { return living; } @@ -448,10 +448,10 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..0ac1f47d1bea37630d1bb011e52eff90 + } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index f0ba7ba369aad67f6af0f946dc52b3e1c8958b15..d13cedfab28a4de469bbc3f6b141922979628333 100644 +index d3334c62bf39abf17ee7f3e68e106fd637ffdf00..d6eafaa58b19ab44dfdef1baa58fa89c5b761b65 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; +@@ -24,7 +24,7 @@ import org.jetbrains.annotations.Nullable; * use this class to encapsulate Materials for which {@link Material#isItem()} * returns false. */ @@ -460,7 +460,7 @@ index f0ba7ba369aad67f6af0f946dc52b3e1c8958b15..d13cedfab28a4de469bbc3f6b1419229 private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -859,5 +859,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -858,5 +858,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor ItemMeta itemMeta = getItemMeta(); return itemMeta != null && itemMeta.hasItemFlag(flag); } diff --git a/patches/unapplied/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/unapplied/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/unapplied/api/0222-Add-additional-open-container-api-to-HumanEntity.patch b/patches/api/0222-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/api/0222-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/api/0222-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/unapplied/api/0223-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0223-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 100% rename from patches/unapplied/api/0223-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/api/0223-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch diff --git a/patches/unapplied/api/0224-Entity-isTicking.patch b/patches/api/0224-Entity-isTicking.patch similarity index 100% rename from patches/unapplied/api/0224-Entity-isTicking.patch rename to patches/api/0224-Entity-isTicking.patch diff --git a/patches/unapplied/api/0225-Clarify-the-Javadocs-for-Entity.getEntitySpawnReason.patch b/patches/api/0225-Clarify-the-Javadocs-for-Entity.getEntitySpawnReason.patch similarity index 100% rename from patches/unapplied/api/0225-Clarify-the-Javadocs-for-Entity.getEntitySpawnReason.patch rename to patches/api/0225-Clarify-the-Javadocs-for-Entity.getEntitySpawnReason.patch diff --git a/patches/unapplied/api/0226-Villager-resetOffers.patch b/patches/api/0226-Villager-resetOffers.patch similarity index 100% rename from patches/unapplied/api/0226-Villager-resetOffers.patch rename to patches/api/0226-Villager-resetOffers.patch diff --git a/patches/unapplied/api/0227-Player-elytra-boost-API.patch b/patches/api/0227-Player-elytra-boost-API.patch similarity index 100% rename from patches/unapplied/api/0227-Player-elytra-boost-API.patch rename to patches/api/0227-Player-elytra-boost-API.patch diff --git a/patches/unapplied/api/0228-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/unapplied/api/0228-Add-getOfflinePlayerIfCached-String.patch rename to patches/api/0228-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/unapplied/api/0229-Add-ignore-discounts-API.patch b/patches/api/0229-Add-ignore-discounts-API.patch similarity index 100% rename from patches/unapplied/api/0229-Add-ignore-discounts-API.patch rename to patches/api/0229-Add-ignore-discounts-API.patch diff --git a/patches/unapplied/api/0230-Item-no-age-no-player-pickup.patch b/patches/api/0230-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/unapplied/api/0230-Item-no-age-no-player-pickup.patch rename to patches/api/0230-Item-no-age-no-player-pickup.patch diff --git a/patches/unapplied/api/0231-Beacon-API-custom-effect-ranges.patch b/patches/api/0231-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/unapplied/api/0231-Beacon-API-custom-effect-ranges.patch rename to patches/api/0231-Beacon-API-custom-effect-ranges.patch diff --git a/patches/unapplied/api/0232-Add-API-for-quit-reason.patch b/patches/api/0232-Add-API-for-quit-reason.patch similarity index 100% rename from patches/unapplied/api/0232-Add-API-for-quit-reason.patch rename to patches/api/0232-Add-API-for-quit-reason.patch diff --git a/patches/unapplied/api/0233-Add-Destroy-Speed-API.patch b/patches/api/0233-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/unapplied/api/0233-Add-Destroy-Speed-API.patch rename to patches/api/0233-Add-Destroy-Speed-API.patch diff --git a/patches/unapplied/api/0234-Add-LivingEntity-clearActiveItem.patch b/patches/api/0234-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/unapplied/api/0234-Add-LivingEntity-clearActiveItem.patch rename to patches/api/0234-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/unapplied/api/0235-Add-PlayerItemCooldownEvent.patch b/patches/api/0235-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/unapplied/api/0235-Add-PlayerItemCooldownEvent.patch rename to patches/api/0235-Add-PlayerItemCooldownEvent.patch diff --git a/patches/unapplied/api/0236-More-lightning-API.patch b/patches/api/0236-More-lightning-API.patch similarity index 100% rename from patches/unapplied/api/0236-More-lightning-API.patch rename to patches/api/0236-More-lightning-API.patch diff --git a/patches/unapplied/api/0237-Add-PlayerShearBlockEvent.patch b/patches/api/0237-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/unapplied/api/0237-Add-PlayerShearBlockEvent.patch rename to patches/api/0237-Add-PlayerShearBlockEvent.patch diff --git a/patches/unapplied/api/0238-Enable-multi-release-plugin-jars.patch b/patches/api/0238-Enable-multi-release-plugin-jars.patch similarity index 91% rename from patches/unapplied/api/0238-Enable-multi-release-plugin-jars.patch rename to patches/api/0238-Enable-multi-release-plugin-jars.patch index ebfb52f3b..40eb489f1 100644 --- a/patches/unapplied/api/0238-Enable-multi-release-plugin-jars.patch +++ b/patches/api/0238-Enable-multi-release-plugin-jars.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Enable multi-release plugin jars diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index c0781480ac1562bff7415f0947d733b438a4d04b..d30aae64e85c48141d0e3ec55e3d3f42d5f17eb8 100644 +index fc5dc3b2f73e76976748eb013b39cae931072143..e39492e2544c39c5457f079a6baadf0b4074dd7e 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -58,7 +58,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot diff --git a/patches/unapplied/api/0239-Player-Chunk-Load-Unload-Events.patch b/patches/api/0239-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/unapplied/api/0239-Player-Chunk-Load-Unload-Events.patch rename to patches/api/0239-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/unapplied/api/0240-Expose-LivingEntity-hurt-direction.patch b/patches/api/0240-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/unapplied/api/0240-Expose-LivingEntity-hurt-direction.patch rename to patches/api/0240-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/unapplied/api/0241-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/api/0241-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/unapplied/api/0241-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/api/0241-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/unapplied/api/0242-Added-PlayerTradeEvent.patch b/patches/api/0242-Added-PlayerTradeEvent.patch similarity index 100% rename from patches/unapplied/api/0242-Added-PlayerTradeEvent.patch rename to patches/api/0242-Added-PlayerTradeEvent.patch diff --git a/patches/unapplied/api/0243-Add-TargetHitEvent-API.patch b/patches/api/0243-Add-TargetHitEvent-API.patch similarity index 100% rename from patches/unapplied/api/0243-Add-TargetHitEvent-API.patch rename to patches/api/0243-Add-TargetHitEvent-API.patch diff --git a/patches/unapplied/api/0244-Additional-Block-Material-API-s.patch b/patches/api/0244-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/unapplied/api/0244-Additional-Block-Material-API-s.patch rename to patches/api/0244-Additional-Block-Material-API-s.patch diff --git a/patches/unapplied/api/0245-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0245-Add-API-to-get-Material-from-Boats-and-Minecarts.patch similarity index 100% rename from patches/unapplied/api/0245-Add-API-to-get-Material-from-Boats-and-Minecarts.patch rename to patches/api/0245-Add-API-to-get-Material-from-Boats-and-Minecarts.patch diff --git a/patches/unapplied/api/0246-Add-PlayerFlowerPotManipulateEvent.patch b/patches/api/0246-Add-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/unapplied/api/0246-Add-PlayerFlowerPotManipulateEvent.patch rename to patches/api/0246-Add-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/unapplied/api/0247-Zombie-API-breaking-doors.patch b/patches/api/0247-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/unapplied/api/0247-Zombie-API-breaking-doors.patch rename to patches/api/0247-Zombie-API-breaking-doors.patch diff --git a/patches/unapplied/api/0248-Add-EntityLoadCrossbowEvent.patch b/patches/api/0248-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/unapplied/api/0248-Add-EntityLoadCrossbowEvent.patch rename to patches/api/0248-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/unapplied/api/0249-Added-WorldGameRuleChangeEvent.patch b/patches/api/0249-Added-WorldGameRuleChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0249-Added-WorldGameRuleChangeEvent.patch rename to patches/api/0249-Added-WorldGameRuleChangeEvent.patch diff --git a/patches/unapplied/api/0250-Added-ServerResourcesReloadedEvent.patch b/patches/api/0250-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/unapplied/api/0250-Added-ServerResourcesReloadedEvent.patch rename to patches/api/0250-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/unapplied/api/0251-Add-BlockFailedDispenseEvent.patch b/patches/api/0251-Add-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/unapplied/api/0251-Add-BlockFailedDispenseEvent.patch rename to patches/api/0251-Add-BlockFailedDispenseEvent.patch diff --git a/patches/unapplied/api/0252-Added-PlayerLecternPageChangeEvent.patch b/patches/api/0252-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0252-Added-PlayerLecternPageChangeEvent.patch rename to patches/api/0252-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/unapplied/api/0253-Added-PlayerLoomPatternSelectEvent.patch b/patches/api/0253-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/unapplied/api/0253-Added-PlayerLoomPatternSelectEvent.patch rename to patches/api/0253-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/unapplied/api/0254-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch b/patches/api/0254-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch similarity index 100% rename from patches/unapplied/api/0254-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch rename to patches/api/0254-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch diff --git a/patches/unapplied/api/0255-Add-sendOpLevel-API.patch b/patches/api/0255-Add-sendOpLevel-API.patch similarity index 100% rename from patches/unapplied/api/0255-Add-sendOpLevel-API.patch rename to patches/api/0255-Add-sendOpLevel-API.patch diff --git a/patches/unapplied/api/0256-Add-PaperRegistry.patch b/patches/api/0256-Add-PaperRegistry.patch similarity index 100% rename from patches/unapplied/api/0256-Add-PaperRegistry.patch rename to patches/api/0256-Add-PaperRegistry.patch diff --git a/patches/unapplied/api/0257-Add-StructuresLocateEvent.patch b/patches/api/0257-Add-StructuresLocateEvent.patch similarity index 99% rename from patches/unapplied/api/0257-Add-StructuresLocateEvent.patch rename to patches/api/0257-Add-StructuresLocateEvent.patch index 30880b64e..11fc5b3f4 100644 --- a/patches/unapplied/api/0257-Add-StructuresLocateEvent.patch +++ b/patches/api/0257-Add-StructuresLocateEvent.patch @@ -442,10 +442,10 @@ index 0000000000000000000000000000000000000000..280febf7482418734558c50c22688248 + } +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index a696fcaffa03af9e6c92e2ef3e12b38eb59e5db4..bfe0d98e6032c7633d6bb97382426f94fb437430 100644 +index 2796c5375ae32a80504a5d2ec193dc8076ca334f..dcbe848da720eabf4779c238f32b4983aa578fbf 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -189,6 +189,13 @@ public interface Registry extends Iterable { +@@ -196,6 +196,13 @@ public interface Registry extends Iterable { return GameEvent.getByKey(key); } }; diff --git a/patches/unapplied/api/0258-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/api/0258-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/unapplied/api/0258-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/api/0258-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/unapplied/api/0259-Add-BlockPreDispenseEvent.patch b/patches/api/0259-Add-BlockPreDispenseEvent.patch similarity index 100% rename from patches/unapplied/api/0259-Add-BlockPreDispenseEvent.patch rename to patches/api/0259-Add-BlockPreDispenseEvent.patch diff --git a/patches/unapplied/api/0260-Added-Vanilla-Entity-Tags.patch b/patches/api/0260-Added-Vanilla-Entity-Tags.patch similarity index 82% rename from patches/unapplied/api/0260-Added-Vanilla-Entity-Tags.patch rename to patches/api/0260-Added-Vanilla-Entity-Tags.patch index 9358072a1..42d3ec287 100644 --- a/patches/unapplied/api/0260-Added-Vanilla-Entity-Tags.patch +++ b/patches/api/0260-Added-Vanilla-Entity-Tags.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Added Vanilla Entity Tags diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 42d0f31c2be2d39c4481f98c0756c4f1ae337717..20f033b9eda656cf0bdc91c3cf046f90a4be87fd 100644 +index 33f022a01e44e6b806e6d38eef003da161b6be53..9694b862d62afbaa831735a6f6d095315bcdf37c 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java -@@ -702,6 +702,44 @@ public interface Tag extends Keyed { - * Vanilla tag representing entities extra susceptible to freezing. +@@ -811,6 +811,44 @@ public interface Tag extends Keyed { + * Vanilla tag representing entities which can be eaten by frogs. */ - Tag ENTITY_TYPES_FREEZE_HURTS_EXTRA_TYPES = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("freeze_hurts_extra_types"), EntityType.class); + Tag ENTITY_TYPES_FROG_FOOD = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("frog_food"), EntityType.class); + // Paper start + /** + * Key for the built-in entity registry diff --git a/patches/unapplied/api/0261-Added-PlayerChangeBeaconEffectEvent.patch b/patches/api/0261-Added-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/unapplied/api/0261-Added-PlayerChangeBeaconEffectEvent.patch rename to patches/api/0261-Added-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/unapplied/api/0262-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/api/0262-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/unapplied/api/0262-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/api/0262-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/unapplied/api/0263-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/api/0263-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 100% rename from patches/unapplied/api/0263-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/api/0263-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/unapplied/api/0264-add-DragonEggFormEvent.patch b/patches/api/0264-add-DragonEggFormEvent.patch similarity index 100% rename from patches/unapplied/api/0264-add-DragonEggFormEvent.patch rename to patches/api/0264-add-DragonEggFormEvent.patch diff --git a/patches/unapplied/api/0265-EntityMoveEvent.patch b/patches/api/0265-EntityMoveEvent.patch similarity index 100% rename from patches/unapplied/api/0265-EntityMoveEvent.patch rename to patches/api/0265-EntityMoveEvent.patch diff --git a/patches/unapplied/api/0266-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/api/0266-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/unapplied/api/0266-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/api/0266-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/unapplied/api/0267-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/api/0267-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/unapplied/api/0267-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/api/0267-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/unapplied/api/0268-living-entity-allow-attribute-registration.patch b/patches/api/0268-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/unapplied/api/0268-living-entity-allow-attribute-registration.patch rename to patches/api/0268-living-entity-allow-attribute-registration.patch diff --git a/patches/unapplied/api/0269-Add-missing-effects.patch b/patches/api/0269-Add-missing-effects.patch similarity index 100% rename from patches/unapplied/api/0269-Add-missing-effects.patch rename to patches/api/0269-Add-missing-effects.patch diff --git a/patches/unapplied/api/0270-Expose-Tracked-Players.patch b/patches/api/0270-Expose-Tracked-Players.patch similarity index 100% rename from patches/unapplied/api/0270-Expose-Tracked-Players.patch rename to patches/api/0270-Expose-Tracked-Players.patch diff --git a/patches/unapplied/api/0271-Cache-the-result-of-Material-isBlock.patch b/patches/api/0271-Cache-the-result-of-Material-isBlock.patch similarity index 81% rename from patches/unapplied/api/0271-Cache-the-result-of-Material-isBlock.patch rename to patches/api/0271-Cache-the-result-of-Material-isBlock.patch index 61808599b..12980bd88 100644 --- a/patches/unapplied/api/0271-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0271-Cache-the-result-of-Material-isBlock.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index f2ca0a11f0d7f8c48f7464045eded5486c1128af..b93f0af3a06ee4fb00964066e1b6d1d13dfec5c3 100644 +index 04e07abc29ed1c4eae27529307c4fa11b6fbc3f6..4c8c21982f825bb70ff5e14098836215bdb0cd17 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -3932,6 +3932,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4069,6 +4069,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata public final Class data; private final boolean legacy; private final NamespacedKey key; @@ -16,7 +16,7 @@ index f2ca0a11f0d7f8c48f7464045eded5486c1128af..b93f0af3a06ee4fb00964066e1b6d1d1 private Material(final int id) { this(id, 64); -@@ -4138,6 +4139,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4275,6 +4276,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata * @return true if this material is a block */ public boolean isBlock() { @@ -28,7 +28,7 @@ index f2ca0a11f0d7f8c48f7464045eded5486c1128af..b93f0af3a06ee4fb00964066e1b6d1d1 switch (this) { // case ACACIA_BUTTON: -@@ -5219,6 +5225,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -5391,6 +5397,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/unapplied/api/0272-Add-worldborder-events.patch b/patches/api/0272-Add-worldborder-events.patch similarity index 100% rename from patches/unapplied/api/0272-Add-worldborder-events.patch rename to patches/api/0272-Add-worldborder-events.patch diff --git a/patches/unapplied/api/0273-added-PlayerNameEntityEvent.patch b/patches/api/0273-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/unapplied/api/0273-added-PlayerNameEntityEvent.patch rename to patches/api/0273-added-PlayerNameEntityEvent.patch diff --git a/patches/unapplied/api/0274-Add-recipe-to-cook-events.patch b/patches/api/0274-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/unapplied/api/0274-Add-recipe-to-cook-events.patch rename to patches/api/0274-Add-recipe-to-cook-events.patch diff --git a/patches/unapplied/api/0275-Add-Block-isValidTool.patch b/patches/api/0275-Add-Block-isValidTool.patch similarity index 100% rename from patches/unapplied/api/0275-Add-Block-isValidTool.patch rename to patches/api/0275-Add-Block-isValidTool.patch diff --git a/patches/unapplied/api/0276-Expand-world-key-API.patch b/patches/api/0276-Expand-world-key-API.patch similarity index 100% rename from patches/unapplied/api/0276-Expand-world-key-API.patch rename to patches/api/0276-Expand-world-key-API.patch diff --git a/patches/unapplied/api/0277-Item-Rarity-API.patch b/patches/api/0277-Item-Rarity-API.patch similarity index 92% rename from patches/unapplied/api/0277-Item-Rarity-API.patch rename to patches/api/0277-Item-Rarity-API.patch index 3be86acd6..a628e0f45 100644 --- a/patches/unapplied/api/0277-Item-Rarity-API.patch +++ b/patches/api/0277-Item-Rarity-API.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index b93f0af3a06ee4fb00964066e1b6d1d13dfec5c3..29f90ae1af33623b1c557d408e974c62276f9ad9 100644 +index 4c8c21982f825bb70ff5e14098836215bdb0cd17..663452b8009d2899f8a196a20b6337024ce3caf0 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4006,6 +4006,17 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4143,6 +4143,17 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata public @NotNull String translationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } @@ -88,10 +88,10 @@ index 204ab103eeff976d3da4f5694c31beafab6e1fdd..9616630817a3a302636a0d2fe8076cb7 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index d13cedfab28a4de469bbc3f6b141922979628333..e29fc737968898ada7aa860d1887bd3b93f4b292 100644 +index d6eafaa58b19ab44dfdef1baa58fa89c5b761b65..75bd1f7a5a30d21ae61836072ec057a95b7c288b 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -884,5 +884,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -883,5 +883,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor public @NotNull String translationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/unapplied/api/0278-Expose-protocol-version.patch b/patches/api/0278-Expose-protocol-version.patch similarity index 100% rename from patches/unapplied/api/0278-Expose-protocol-version.patch rename to patches/api/0278-Expose-protocol-version.patch diff --git a/patches/unapplied/api/0279-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch b/patches/api/0279-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch similarity index 100% rename from patches/unapplied/api/0279-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch rename to patches/api/0279-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch diff --git a/patches/unapplied/api/0280-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0280-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/api/0280-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/api/0280-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/unapplied/api/0281-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/api/0281-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/unapplied/api/0281-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/api/0281-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/unapplied/api/0282-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/api/0282-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/unapplied/api/0282-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/api/0282-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/unapplied/api/0283-Added-PlayerDeepSleepEvent.patch b/patches/api/0283-Added-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/unapplied/api/0283-Added-PlayerDeepSleepEvent.patch rename to patches/api/0283-Added-PlayerDeepSleepEvent.patch diff --git a/patches/unapplied/api/0284-More-World-API.patch b/patches/api/0284-More-World-API.patch similarity index 100% rename from patches/unapplied/api/0284-More-World-API.patch rename to patches/api/0284-More-World-API.patch diff --git a/patches/unapplied/api/0285-Added-PlayerBedFailEnterEvent.patch b/patches/api/0285-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/unapplied/api/0285-Added-PlayerBedFailEnterEvent.patch rename to patches/api/0285-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/unapplied/api/0286-Introduce-beacon-activation-deactivation-events.patch b/patches/api/0286-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/unapplied/api/0286-Introduce-beacon-activation-deactivation-events.patch rename to patches/api/0286-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/unapplied/api/0287-PlayerMoveEvent-Improvements.patch b/patches/api/0287-PlayerMoveEvent-Improvements.patch similarity index 100% rename from patches/unapplied/api/0287-PlayerMoveEvent-Improvements.patch rename to patches/api/0287-PlayerMoveEvent-Improvements.patch diff --git a/patches/unapplied/api/0288-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0288-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 96% rename from patches/unapplied/api/0288-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/api/0288-add-RespawnFlags-to-PlayerRespawnEvent.patch index 63b477d86..3b5d058fc 100644 --- a/patches/unapplied/api/0288-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/api/0288-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java -index e2c87a23e4743a34cfe911a71fd82b5a5ba1f9b7..a951568def24f809a6a019eefe623974c1867e22 100644 +index f5bdb5244c8d993c624f938c8fb7ccff74655d75..3715584a8289200ffb968e384e359ab574aaec5c 100644 --- a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java @@ -17,17 +17,30 @@ public class PlayerRespawnEvent extends PlayerEvent { diff --git a/patches/unapplied/api/0289-Add-more-WanderingTrader-API.patch b/patches/api/0289-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/unapplied/api/0289-Add-more-WanderingTrader-API.patch rename to patches/api/0289-Add-more-WanderingTrader-API.patch diff --git a/patches/unapplied/api/0290-Add-EntityBlockStorage-clearEntities.patch b/patches/api/0290-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/unapplied/api/0290-Add-EntityBlockStorage-clearEntities.patch rename to patches/api/0290-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/unapplied/api/0291-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/api/0291-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/unapplied/api/0291-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/api/0291-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/unapplied/api/0292-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/api/0292-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/unapplied/api/0292-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/api/0292-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/unapplied/api/0293-Inventory-close.patch b/patches/api/0293-Inventory-close.patch similarity index 100% rename from patches/unapplied/api/0293-Inventory-close.patch rename to patches/api/0293-Inventory-close.patch diff --git a/patches/unapplied/api/0294-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0294-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/unapplied/api/0294-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/api/0294-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/unapplied/api/0295-Add-basic-Datapack-API.patch b/patches/api/0295-Add-basic-Datapack-API.patch similarity index 100% rename from patches/unapplied/api/0295-Add-basic-Datapack-API.patch rename to patches/api/0295-Add-basic-Datapack-API.patch diff --git a/patches/unapplied/api/0296-additions-to-PlayerGameModeChangeEvent.patch b/patches/api/0296-additions-to-PlayerGameModeChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0296-additions-to-PlayerGameModeChangeEvent.patch rename to patches/api/0296-additions-to-PlayerGameModeChangeEvent.patch diff --git a/patches/unapplied/api/0297-ItemStack-repair-check-API.patch b/patches/api/0297-ItemStack-repair-check-API.patch similarity index 94% rename from patches/unapplied/api/0297-ItemStack-repair-check-API.patch rename to patches/api/0297-ItemStack-repair-check-API.patch index 6af9d5f45..4fb4ae3eb 100644 --- a/patches/unapplied/api/0297-ItemStack-repair-check-API.patch +++ b/patches/api/0297-ItemStack-repair-check-API.patch @@ -26,10 +26,10 @@ index eadba6454530724619872034f6e680b4603b8a69..248453b259781aa45516133a0ed824f4 * Returns the server's protocol version. * diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index e29fc737968898ada7aa860d1887bd3b93f4b292..6082ee2fb68433e1d42a7f0617f25a232960ded6 100644 +index 75bd1f7a5a30d21ae61836072ec057a95b7c288b..0d0d7bda2d4fafffd3e80a359019626ab44031d0 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -894,5 +894,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -893,5 +893,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor public io.papermc.paper.inventory.ItemRarity getRarity() { return Bukkit.getUnsafe().getItemStackRarity(this); } diff --git a/patches/unapplied/api/0298-More-Enchantment-API.patch b/patches/api/0298-More-Enchantment-API.patch similarity index 95% rename from patches/unapplied/api/0298-More-Enchantment-API.patch rename to patches/api/0298-More-Enchantment-API.patch index 504aeb1f5..50fae967a 100644 --- a/patches/unapplied/api/0298-More-Enchantment-API.patch +++ b/patches/api/0298-More-Enchantment-API.patch @@ -35,10 +35,10 @@ index 0000000000000000000000000000000000000000..e6a40c1fcea761bd66743b50e3da3d14 + } +} diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index b277034fee2d4f38c40713842d14a8f6dde757aa..1e1c5a9d9a769018c4604e6e44fc5ed2312981e9 100644 +index 0264c2f9a3977b6d47994b1e1b0240b312e5bf65..69a048eb4e48c92db70c3d6b6aa4ae96326b9705 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java -@@ -268,11 +268,7 @@ public abstract class Enchantment implements Keyed, net.kyori.adventure.translat +@@ -273,11 +273,7 @@ public abstract class Enchantment implements Keyed, net.kyori.adventure.translat * Cursed enchantments are found the same way treasure enchantments are * * @return true if the enchantment is cursed @@ -50,7 +50,7 @@ index b277034fee2d4f38c40713842d14a8f6dde757aa..1e1c5a9d9a769018c4604e6e44fc5ed2 public abstract boolean isCursed(); /** -@@ -306,6 +302,46 @@ public abstract class Enchantment implements Keyed, net.kyori.adventure.translat +@@ -311,6 +307,46 @@ public abstract class Enchantment implements Keyed, net.kyori.adventure.translat * @return the name of the enchantment with {@code level} applied */ public abstract @NotNull net.kyori.adventure.text.Component displayName(int level); diff --git a/patches/unapplied/api/0299-List-all-missing-hard-depends-not-just-first.patch b/patches/api/0299-List-all-missing-hard-depends-not-just-first.patch similarity index 92% rename from patches/unapplied/api/0299-List-all-missing-hard-depends-not-just-first.patch rename to patches/api/0299-List-all-missing-hard-depends-not-just-first.patch index 995528e86..4aee9b23e 100644 --- a/patches/unapplied/api/0299-List-all-missing-hard-depends-not-just-first.patch +++ b/patches/api/0299-List-all-missing-hard-depends-not-just-first.patch @@ -5,10 +5,10 @@ Subject: [PATCH] List all missing hard depends not just first diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 0d9d729a18b5388b06ab0a3749e55f91f838be88..c57a59d337a41c083e88e36637d839db027b9289 100644 +index 9654f4fb230945086a88f64b09a46a5b10e8d1d7..35aa6dff52944019510f16180e36da0088654432 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -262,6 +262,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -257,6 +257,7 @@ public final class SimplePluginManager implements PluginManager { if (dependencies.containsKey(plugin)) { Iterator dependencyIterator = dependencies.get(plugin).iterator(); @@ -16,7 +16,7 @@ index 0d9d729a18b5388b06ab0a3749e55f91f838be88..c57a59d337a41c083e88e36637d839db while (dependencyIterator.hasNext()) { String dependency = dependencyIterator.next(); -@@ -272,6 +273,12 @@ public final class SimplePluginManager implements PluginManager { +@@ -267,6 +268,12 @@ public final class SimplePluginManager implements PluginManager { // We have a dependency not found } else if (!plugins.containsKey(dependency) && !pluginsProvided.containsKey(dependency)) { @@ -29,7 +29,7 @@ index 0d9d729a18b5388b06ab0a3749e55f91f838be88..c57a59d337a41c083e88e36637d839db missingDependency = false; pluginIterator.remove(); softDependencies.remove(plugin); -@@ -280,9 +287,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -275,9 +282,7 @@ public final class SimplePluginManager implements PluginManager { server.getLogger().log( Level.SEVERE, "Could not load '" + entry.getValue().getPath() + "' in folder '" + entry.getValue().getParentFile().getPath() + "'", // Paper @@ -65,7 +65,7 @@ index a80251eff75430863b37db1c131e22593f3fcd5e..7b2e607a21f1173d98ee845818814111 * Constructs a new UnknownDependencyException based on the given * Exception diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index d2712f45dbcf26fabe8463d99f378bf422c66970..c8b11793c6a3baabc1c9566e0463ab1d6e293827 100644 +index 4b54af83ef8fd18696d2d21ed52b61f13bff7988..8ff78fad47f6086aa289e32590f4fbec24b3d500 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -132,13 +132,19 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied/api/0300-Add-Mob-lookAt-API.patch b/patches/api/0300-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/unapplied/api/0300-Add-Mob-lookAt-API.patch rename to patches/api/0300-Add-Mob-lookAt-API.patch diff --git a/patches/unapplied/api/0301-ItemStack-editMeta.patch b/patches/api/0301-ItemStack-editMeta.patch similarity index 94% rename from patches/unapplied/api/0301-ItemStack-editMeta.patch rename to patches/api/0301-ItemStack-editMeta.patch index f974fd5c9..a6b2d88a1 100644 --- a/patches/unapplied/api/0301-ItemStack-editMeta.patch +++ b/patches/api/0301-ItemStack-editMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack#editMeta diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 6082ee2fb68433e1d42a7f0617f25a232960ded6..66352c63bcacb9b418a3cc61d8a6219b4cdfbb32 100644 +index 0d0d7bda2d4fafffd3e80a359019626ab44031d0..77ef41527a05e2d7899633ef7fa813774dd15bd9 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -547,6 +547,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -546,6 +546,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor return result.ensureServerConversions(); // Paper } diff --git a/patches/unapplied/api/0302-Add-EntityInsideBlockEvent.patch b/patches/api/0302-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/unapplied/api/0302-Add-EntityInsideBlockEvent.patch rename to patches/api/0302-Add-EntityInsideBlockEvent.patch diff --git a/patches/unapplied/api/0303-Attributes-API-for-item-defaults.patch b/patches/api/0303-Attributes-API-for-item-defaults.patch similarity index 93% rename from patches/unapplied/api/0303-Attributes-API-for-item-defaults.patch rename to patches/api/0303-Attributes-API-for-item-defaults.patch index 55e27e6f9..2a59affc0 100644 --- a/patches/unapplied/api/0303-Attributes-API-for-item-defaults.patch +++ b/patches/api/0303-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 29f90ae1af33623b1c557d408e974c62276f9ad9..e0da69edf022ef1f67d2b71830a4f62b9e717ab3 100644 +index 663452b8009d2899f8a196a20b6337024ce3caf0..12ed298cb585107370d4400902a651f43bd05d78 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4017,6 +4017,21 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4154,6 +4154,21 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } diff --git a/patches/unapplied/api/0304-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/api/0304-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 100% rename from patches/unapplied/api/0304-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/api/0304-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/unapplied/api/0305-More-Lidded-Block-API.patch b/patches/api/0305-More-Lidded-Block-API.patch similarity index 100% rename from patches/unapplied/api/0305-More-Lidded-Block-API.patch rename to patches/api/0305-More-Lidded-Block-API.patch diff --git a/patches/unapplied/api/0306-Add-PlayerKickEvent-causes.patch b/patches/api/0306-Add-PlayerKickEvent-causes.patch similarity index 100% rename from patches/unapplied/api/0306-Add-PlayerKickEvent-causes.patch rename to patches/api/0306-Add-PlayerKickEvent-causes.patch diff --git a/patches/unapplied/api/0307-Add-PufferFishStateChangeEvent.patch b/patches/api/0307-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0307-Add-PufferFishStateChangeEvent.patch rename to patches/api/0307-Add-PufferFishStateChangeEvent.patch diff --git a/patches/unapplied/api/0308-Add-BellRevealRaiderEvent.patch b/patches/api/0308-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/unapplied/api/0308-Add-BellRevealRaiderEvent.patch rename to patches/api/0308-Add-BellRevealRaiderEvent.patch diff --git a/patches/unapplied/api/0309-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0309-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/unapplied/api/0309-Add-ElderGuardianAppearanceEvent.patch rename to patches/api/0309-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/unapplied/api/0310-Add-more-line-of-sight-methods.patch b/patches/api/0310-Add-more-line-of-sight-methods.patch similarity index 100% rename from patches/unapplied/api/0310-Add-more-line-of-sight-methods.patch rename to patches/api/0310-Add-more-line-of-sight-methods.patch diff --git a/patches/unapplied/api/0311-Add-more-LimitedRegion-API.patch b/patches/api/0311-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/unapplied/api/0311-Add-more-LimitedRegion-API.patch rename to patches/api/0311-Add-more-LimitedRegion-API.patch diff --git a/patches/unapplied/api/0312-Missing-Entity-Behavior-API.patch b/patches/api/0312-Missing-Entity-Behavior-API.patch similarity index 100% rename from patches/unapplied/api/0312-Missing-Entity-Behavior-API.patch rename to patches/api/0312-Missing-Entity-Behavior-API.patch diff --git a/patches/unapplied/api/0313-Add-Git-information-to-version-command-on-startup.patch b/patches/api/0313-Add-Git-information-to-version-command-on-startup.patch similarity index 83% rename from patches/unapplied/api/0313-Add-Git-information-to-version-command-on-startup.patch rename to patches/api/0313-Add-Git-information-to-version-command-on-startup.patch index 8a9957d48..25a9ef226 100644 --- a/patches/unapplied/api/0313-Add-Git-information-to-version-command-on-startup.patch +++ b/patches/api/0313-Add-Git-information-to-version-command-on-startup.patch @@ -87,15 +87,15 @@ index 5da1155557c6a662632717ac55d546dd91dee3fa..3e3e48f467eef561eeada98c6b99388e /** diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -index 4c2ddc722a9dc4011906ad9530b13fa9be1d3ff9..57a21495843f3a144cd73473cdc8781d6129b7ca 100644 +index b50f614806f4634960d383e8a33f094c2f46935f..e40f017f87d6b6b4770501b106c76dc69ec69abb 100644 --- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java +++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -@@ -241,7 +241,7 @@ public class VersionCommand extends BukkitCommand { - private void setVersionMessage(final @NotNull Component msg) { +@@ -240,7 +240,7 @@ public class VersionCommand extends BukkitCommand { + private void setVersionMessage(final @NotNull net.kyori.adventure.text.Component msg) { lastCheck = System.currentTimeMillis(); - final Component message = net.kyori.adventure.text.TextComponent.ofChildren( -- Component.text("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")", net.kyori.adventure.text.format.NamedTextColor.WHITE), -+ Component.text(Bukkit.getVersionMessage(), net.kyori.adventure.text.format.NamedTextColor.WHITE), - Component.newline(), + final net.kyori.adventure.text.Component message = net.kyori.adventure.text.TextComponent.ofChildren( +- net.kyori.adventure.text.Component.text("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")", net.kyori.adventure.text.format.NamedTextColor.WHITE), ++ net.kyori.adventure.text.Component.text(Bukkit.getVersionMessage(), net.kyori.adventure.text.format.NamedTextColor.WHITE), + net.kyori.adventure.text.Component.newline(), msg ); diff --git a/patches/unapplied/api/0314-Adds-PlayerArmSwingEvent.patch b/patches/api/0314-Adds-PlayerArmSwingEvent.patch similarity index 100% rename from patches/unapplied/api/0314-Adds-PlayerArmSwingEvent.patch rename to patches/api/0314-Adds-PlayerArmSwingEvent.patch diff --git a/patches/unapplied/api/0315-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0315-Add-PlayerSignCommandPreprocessEvent.patch similarity index 100% rename from patches/unapplied/api/0315-Add-PlayerSignCommandPreprocessEvent.patch rename to patches/api/0315-Add-PlayerSignCommandPreprocessEvent.patch diff --git a/patches/unapplied/api/0316-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0316-fix-empty-array-elements-in-command-arguments.patch similarity index 88% rename from patches/unapplied/api/0316-fix-empty-array-elements-in-command-arguments.patch rename to patches/api/0316-fix-empty-array-elements-in-command-arguments.patch index 0a2b106d8..b6512f8f2 100644 --- a/patches/unapplied/api/0316-fix-empty-array-elements-in-command-arguments.patch +++ b/patches/api/0316-fix-empty-array-elements-in-command-arguments.patch @@ -9,10 +9,10 @@ Adjacent spaces sent by players are removed in PlayerConnection, so this change But it does affect the console, command blocks, Bukkit.dispatchCommand, etc. diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java -index 460fda05a62b12db2edcfb7ea8b2a5dd8e4b110d..74252236b138969560e6513f24e7ecc6dc4a4127 100644 +index 950a2d0b3b583c6b9a703190874bbc4df2783ab7..b8623575b1c1b565560c2dd6438190716845a652 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java -@@ -134,7 +134,7 @@ public class SimpleCommandMap implements CommandMap { +@@ -130,7 +130,7 @@ public class SimpleCommandMap implements CommandMap { */ @Override public boolean dispatch(@NotNull CommandSender sender, @NotNull String commandLine) throws CommandException { diff --git a/patches/unapplied/api/0317-Stinger-API.patch b/patches/api/0317-Stinger-API.patch similarity index 100% rename from patches/unapplied/api/0317-Stinger-API.patch rename to patches/api/0317-Stinger-API.patch diff --git a/patches/unapplied/api/0318-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/api/0318-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch similarity index 86% rename from patches/unapplied/api/0318-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to patches/api/0318-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch index 66137f29d..a9319418e 100644 --- a/patches/unapplied/api/0318-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch +++ b/patches/api/0318-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rewrite LogEvents to contain the source jars in stack traces diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index d30aae64e85c48141d0e3ec55e3d3f42d5f17eb8..9938ebb38353f4aa2adf1bb08cd1c347ddd9fc88 100644 +index e39492e2544c39c5457f079a6baadf0b4074dd7e..345394132df70593800127d34a38f8f8a4dafe00 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -51,7 +51,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot @@ -14,6 +14,6 @@ index d30aae64e85c48141d0e3ec55e3d3f42d5f17eb8..9938ebb38353f4aa2adf1bb08cd1c347 PluginClassLoader(@NotNull final JavaPluginLoader loader, @Nullable final ClassLoader parent, @NotNull final PluginDescriptionFile description, @NotNull final File dataFolder, @NotNull final File file, @Nullable ClassLoader libraryLoader) throws IOException, InvalidPluginException, MalformedURLException { - super(new URL[] {file.toURI().toURL()}, parent); + super(file.getName(), new URL[] {file.toURI().toURL()}, parent); // Paper - rewrite LogEvents to contain source jar info - Validate.notNull(loader, "Loader cannot be null"); + Preconditions.checkArgument(loader != null, "Loader cannot be null"); this.loader = loader; diff --git a/patches/unapplied/api/0319-Add-PlayerSetSpawnEvent.patch b/patches/api/0319-Add-PlayerSetSpawnEvent.patch similarity index 100% rename from patches/unapplied/api/0319-Add-PlayerSetSpawnEvent.patch rename to patches/api/0319-Add-PlayerSetSpawnEvent.patch diff --git a/patches/unapplied/api/0320-Added-EntityDamageItemEvent.patch b/patches/api/0320-Added-EntityDamageItemEvent.patch similarity index 100% rename from patches/unapplied/api/0320-Added-EntityDamageItemEvent.patch rename to patches/api/0320-Added-EntityDamageItemEvent.patch diff --git a/patches/unapplied/api/0321-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0321-Make-EntityUnleashEvent-cancellable.patch similarity index 100% rename from patches/unapplied/api/0321-Make-EntityUnleashEvent-cancellable.patch rename to patches/api/0321-Make-EntityUnleashEvent-cancellable.patch diff --git a/patches/unapplied/api/0322-Change-EnderEye-target-without-changing-other-things.patch b/patches/api/0322-Change-EnderEye-target-without-changing-other-things.patch similarity index 100% rename from patches/unapplied/api/0322-Change-EnderEye-target-without-changing-other-things.patch rename to patches/api/0322-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/unapplied/api/0323-Add-BlockBreakBlockEvent.patch b/patches/api/0323-Add-BlockBreakBlockEvent.patch similarity index 100% rename from patches/unapplied/api/0323-Add-BlockBreakBlockEvent.patch rename to patches/api/0323-Add-BlockBreakBlockEvent.patch diff --git a/patches/unapplied/api/0324-Add-helpers-for-left-right-click-to-Action.patch b/patches/api/0324-Add-helpers-for-left-right-click-to-Action.patch similarity index 100% rename from patches/unapplied/api/0324-Add-helpers-for-left-right-click-to-Action.patch rename to patches/api/0324-Add-helpers-for-left-right-click-to-Action.patch diff --git a/patches/unapplied/api/0325-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/api/0325-Option-to-prevent-NBT-copy-in-smithing-recipes.patch similarity index 100% rename from patches/unapplied/api/0325-Option-to-prevent-NBT-copy-in-smithing-recipes.patch rename to patches/api/0325-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/unapplied/api/0326-More-CommandBlock-API.patch b/patches/api/0326-More-CommandBlock-API.patch similarity index 100% rename from patches/unapplied/api/0326-More-CommandBlock-API.patch rename to patches/api/0326-More-CommandBlock-API.patch diff --git a/patches/unapplied/api/0327-Fix-plugin-provides-load-order.patch b/patches/api/0327-Fix-plugin-provides-load-order.patch similarity index 85% rename from patches/unapplied/api/0327-Fix-plugin-provides-load-order.patch rename to patches/api/0327-Fix-plugin-provides-load-order.patch index 83c8568df..3e24fb59b 100644 --- a/patches/unapplied/api/0327-Fix-plugin-provides-load-order.patch +++ b/patches/api/0327-Fix-plugin-provides-load-order.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix plugin provides load order Fixes https://hub.spigotmc.org/jira/browse/SPIGOT-6740 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index c57a59d337a41c083e88e36637d839db027b9289..1366496271c4c7f72d1e5f990e51775b1c371f99 100644 +index 35aa6dff52944019510f16180e36da0088654432..34c3df7570479d4f045897fe4e26dfa3f27479c4 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -281,6 +281,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -276,6 +276,7 @@ public final class SimplePluginManager implements PluginManager { // Paper end missingDependency = false; pluginIterator.remove(); @@ -17,7 +17,7 @@ index c57a59d337a41c083e88e36637d839db027b9289..1366496271c4c7f72d1e5f990e51775b softDependencies.remove(plugin); dependencies.remove(plugin); -@@ -314,6 +315,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -309,6 +310,7 @@ public final class SimplePluginManager implements PluginManager { // We're clear to load, no more soft or hard dependencies left File file = plugins.get(plugin); pluginIterator.remove(); diff --git a/patches/unapplied/api/0328-Add-missing-team-sidebar-display-slots.patch b/patches/api/0328-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/unapplied/api/0328-Add-missing-team-sidebar-display-slots.patch rename to patches/api/0328-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/unapplied/api/0329-add-back-EntityPortalExitEvent.patch b/patches/api/0329-add-back-EntityPortalExitEvent.patch similarity index 100% rename from patches/unapplied/api/0329-add-back-EntityPortalExitEvent.patch rename to patches/api/0329-add-back-EntityPortalExitEvent.patch diff --git a/patches/unapplied/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/unapplied/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/unapplied/api/0331-Get-entity-default-attributes.patch b/patches/api/0331-Get-entity-default-attributes.patch similarity index 94% rename from patches/unapplied/api/0331-Get-entity-default-attributes.patch rename to patches/api/0331-Get-entity-default-attributes.patch index eda712697..72795452c 100644 --- a/patches/unapplied/api/0331-Get-entity-default-attributes.patch +++ b/patches/api/0331-Get-entity-default-attributes.patch @@ -32,10 +32,10 @@ index a3045b63c4e63f8eac902beb0f48367a5e3e5d20..0a9a50251093e1ea605a748eb8d899f3 // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index d36d314383713bac3b11f18d95b0809dce3cd6e0..48aa290dbcf93715ce58d56d6cf3216948f2f3f2 100644 +index 032a252688b6dbefb05a0d4f91791e102bbae0cd..4aa2d483b706fbf6ba0dc5126de74ee532e12382 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -441,5 +441,24 @@ public enum EntityType implements Keyed, net.kyori.adventure.translation.Transla +@@ -446,5 +446,24 @@ public enum EntityType implements Keyed, net.kyori.adventure.translation.Transla Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys"); return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/unapplied/api/0332-Left-handed-API.patch b/patches/api/0332-Left-handed-API.patch similarity index 100% rename from patches/unapplied/api/0332-Left-handed-API.patch rename to patches/api/0332-Left-handed-API.patch diff --git a/patches/unapplied/api/0333-Add-advancement-display-API.patch b/patches/api/0333-Add-advancement-display-API.patch similarity index 100% rename from patches/unapplied/api/0333-Add-advancement-display-API.patch rename to patches/api/0333-Add-advancement-display-API.patch diff --git a/patches/unapplied/api/0334-Add-ItemFactory-getMonsterEgg-API.patch b/patches/api/0334-Add-ItemFactory-getMonsterEgg-API.patch similarity index 100% rename from patches/unapplied/api/0334-Add-ItemFactory-getMonsterEgg-API.patch rename to patches/api/0334-Add-ItemFactory-getMonsterEgg-API.patch diff --git a/patches/unapplied/api/0335-Add-critical-damage-API.patch b/patches/api/0335-Add-critical-damage-API.patch similarity index 100% rename from patches/unapplied/api/0335-Add-critical-damage-API.patch rename to patches/api/0335-Add-critical-damage-API.patch diff --git a/patches/unapplied/api/0336-Fix-issues-with-mob-conversion.patch b/patches/api/0336-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/unapplied/api/0336-Fix-issues-with-mob-conversion.patch rename to patches/api/0336-Fix-issues-with-mob-conversion.patch diff --git a/patches/unapplied/api/0337-Add-isCollidable-methods-to-various-places.patch b/patches/api/0337-Add-isCollidable-methods-to-various-places.patch similarity index 95% rename from patches/unapplied/api/0337-Add-isCollidable-methods-to-various-places.patch rename to patches/api/0337-Add-isCollidable-methods-to-various-places.patch index 88e0797e6..78338a4c0 100644 --- a/patches/unapplied/api/0337-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0337-Add-isCollidable-methods-to-various-places.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index e0da69edf022ef1f67d2b71830a4f62b9e717ab3..a39e7af2529fb8e65641d76f78e2d8eb12900853 100644 +index 12ed298cb585107370d4400902a651f43bd05d78..2d39ecea67cd033858eaa713e405260a87c718a3 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4032,6 +4032,16 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4169,6 +4169,16 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot); } diff --git a/patches/unapplied/api/0338-Goat-ram-API.patch b/patches/api/0338-Goat-ram-API.patch similarity index 81% rename from patches/unapplied/api/0338-Goat-ram-API.patch rename to patches/api/0338-Goat-ram-API.patch index 69694887a..06d426a78 100644 --- a/patches/unapplied/api/0338-Goat-ram-API.patch +++ b/patches/api/0338-Goat-ram-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Goat ram API diff --git a/src/main/java/org/bukkit/entity/Goat.java b/src/main/java/org/bukkit/entity/Goat.java -index 90e9028b5ee7fcf9488d37090875b7163bdcd1d0..01827c4118df36fe1b77115f181fb4d225c3c866 100644 +index 3a24f8cc7a6dee3da30a73f1294cccf03680bdd5..18e48bbb04076f1535b6a4c10e139908e82da44e 100644 --- a/src/main/java/org/bukkit/entity/Goat.java +++ b/src/main/java/org/bukkit/entity/Goat.java -@@ -24,4 +24,12 @@ public interface Goat extends Animals { +@@ -52,4 +52,12 @@ public interface Goat extends Animals { * @param screaming screaming status */ void setScreaming(boolean screaming); diff --git a/patches/unapplied/api/0339-Add-API-for-resetting-a-single-score.patch b/patches/api/0339-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/unapplied/api/0339-Add-API-for-resetting-a-single-score.patch rename to patches/api/0339-Add-API-for-resetting-a-single-score.patch diff --git a/patches/unapplied/api/0340-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0340-Add-Raw-Byte-Entity-Serialization.patch similarity index 100% rename from patches/unapplied/api/0340-Add-Raw-Byte-Entity-Serialization.patch rename to patches/api/0340-Add-Raw-Byte-Entity-Serialization.patch diff --git a/patches/unapplied/api/0341-Add-PlayerItemFrameChangeEvent.patch b/patches/api/0341-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/unapplied/api/0341-Add-PlayerItemFrameChangeEvent.patch rename to patches/api/0341-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/unapplied/api/0342-Add-player-health-update-API.patch b/patches/api/0342-Add-player-health-update-API.patch similarity index 100% rename from patches/unapplied/api/0342-Add-player-health-update-API.patch rename to patches/api/0342-Add-player-health-update-API.patch diff --git a/patches/unapplied/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch similarity index 100% rename from patches/unapplied/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch rename to patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch diff --git a/patches/unapplied/api/0344-Add-more-Campfire-API.patch b/patches/api/0344-Add-more-Campfire-API.patch similarity index 100% rename from patches/unapplied/api/0344-Add-more-Campfire-API.patch rename to patches/api/0344-Add-more-Campfire-API.patch diff --git a/patches/unapplied/api/0345-Move-VehicleCollisionEvent-HandlerList-up.patch b/patches/api/0345-Move-VehicleCollisionEvent-HandlerList-up.patch similarity index 100% rename from patches/unapplied/api/0345-Move-VehicleCollisionEvent-HandlerList-up.patch rename to patches/api/0345-Move-VehicleCollisionEvent-HandlerList-up.patch diff --git a/patches/unapplied/api/0346-Improve-scoreboard-entries.patch b/patches/api/0346-Improve-scoreboard-entries.patch similarity index 100% rename from patches/unapplied/api/0346-Improve-scoreboard-entries.patch rename to patches/api/0346-Improve-scoreboard-entries.patch diff --git a/patches/unapplied/api/0347-Entity-powdered-snow-API.patch b/patches/api/0347-Entity-powdered-snow-API.patch similarity index 100% rename from patches/unapplied/api/0347-Entity-powdered-snow-API.patch rename to patches/api/0347-Entity-powdered-snow-API.patch diff --git a/patches/unapplied/api/0348-Add-API-for-item-entity-health.patch b/patches/api/0348-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/unapplied/api/0348-Add-API-for-item-entity-health.patch rename to patches/api/0348-Add-API-for-item-entity-health.patch diff --git a/patches/unapplied/api/0349-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0349-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/unapplied/api/0349-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/api/0349-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/unapplied/api/0350-Bucketable-API.patch b/patches/api/0350-Bucketable-API.patch similarity index 100% rename from patches/unapplied/api/0350-Bucketable-API.patch rename to patches/api/0350-Bucketable-API.patch diff --git a/patches/unapplied/api/0351-System-prop-for-default-config-comment-parsing.patch b/patches/api/0351-System-prop-for-default-config-comment-parsing.patch similarity index 100% rename from patches/unapplied/api/0351-System-prop-for-default-config-comment-parsing.patch rename to patches/api/0351-System-prop-for-default-config-comment-parsing.patch diff --git a/patches/unapplied/api/0352-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0352-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 100% rename from patches/unapplied/api/0352-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/api/0352-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/unapplied/api/0353-Remove-upstream-snakeyaml-fix.patch b/patches/api/0353-Remove-upstream-snakeyaml-fix.patch similarity index 95% rename from patches/unapplied/api/0353-Remove-upstream-snakeyaml-fix.patch rename to patches/api/0353-Remove-upstream-snakeyaml-fix.patch index ae0ddfce4..d64efcbe9 100644 --- a/patches/unapplied/api/0353-Remove-upstream-snakeyaml-fix.patch +++ b/patches/api/0353-Remove-upstream-snakeyaml-fix.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Remove upstream snakeyaml fix See Server Patch: Fix saving configs with more long comments diff --git a/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java b/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java -index f9abe6991dadc7c652dcf6682bdb1b43240af438..9ba2e956be80952c146bac9a03bdb837f92b2726 100644 +index 21d73587e535c43e13473e441dea6fe86c3bf266..0a03cefda788b1dc57ddd61914492a15788aa3d5 100644 --- a/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java +++ b/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java @@ -65,7 +65,7 @@ public class YamlConfiguration extends FileConfiguration { diff --git a/patches/unapplied/api/0354-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/api/0354-Add-new-overload-to-PersistentDataContainer-has.patch similarity index 100% rename from patches/unapplied/api/0354-Add-new-overload-to-PersistentDataContainer-has.patch rename to patches/api/0354-Add-new-overload-to-PersistentDataContainer-has.patch diff --git a/patches/unapplied/api/0355-Multiple-Entries-with-Scoreboards.patch b/patches/api/0355-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/unapplied/api/0355-Multiple-Entries-with-Scoreboards.patch rename to patches/api/0355-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/unapplied/api/0356-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/api/0356-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/unapplied/api/0356-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch rename to patches/api/0356-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/unapplied/api/0357-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0357-Warn-on-strange-EventHandler-return-types.patch similarity index 100% rename from patches/unapplied/api/0357-Warn-on-strange-EventHandler-return-types.patch rename to patches/api/0357-Warn-on-strange-EventHandler-return-types.patch diff --git a/patches/unapplied/api/0358-Multi-Block-Change-API.patch b/patches/api/0358-Multi-Block-Change-API.patch similarity index 100% rename from patches/unapplied/api/0358-Multi-Block-Change-API.patch rename to patches/api/0358-Multi-Block-Change-API.patch diff --git a/patches/unapplied/api/0359-Fix-NotePlayEvent.patch b/patches/api/0359-Fix-NotePlayEvent.patch similarity index 100% rename from patches/unapplied/api/0359-Fix-NotePlayEvent.patch rename to patches/api/0359-Fix-NotePlayEvent.patch diff --git a/patches/unapplied/api/0360-Freeze-Tick-Lock-API.patch b/patches/api/0360-Freeze-Tick-Lock-API.patch similarity index 100% rename from patches/unapplied/api/0360-Freeze-Tick-Lock-API.patch rename to patches/api/0360-Freeze-Tick-Lock-API.patch diff --git a/patches/unapplied/api/0361-Dolphin-API.patch b/patches/api/0361-Dolphin-API.patch similarity index 100% rename from patches/unapplied/api/0361-Dolphin-API.patch rename to patches/api/0361-Dolphin-API.patch diff --git a/patches/unapplied/api/0362-More-PotionEffectType-API.patch b/patches/api/0362-More-PotionEffectType-API.patch similarity index 94% rename from patches/unapplied/api/0362-More-PotionEffectType-API.patch rename to patches/api/0362-More-PotionEffectType-API.patch index 6340f5fd9..547c81d09 100644 --- a/patches/unapplied/api/0362-More-PotionEffectType-API.patch +++ b/patches/api/0362-More-PotionEffectType-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index bfe0d98e6032c7633d6bb97382426f94fb437430..798aab0d644ca383ff4391685d854af65925fb0c 100644 +index dcbe848da720eabf4779c238f32b4983aa578fbf..04d7fbd93131b9530add1e99b8443cc4d08be9d2 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -195,6 +195,25 @@ public interface Registry extends Iterable { +@@ -202,6 +202,25 @@ public interface Registry extends Iterable { * @see io.papermc.paper.world.structure.ConfiguredStructure */ Registry CONFIGURED_STRUCTURE = Bukkit.getUnsafe().registryFor(io.papermc.paper.world.structure.ConfiguredStructure.class); @@ -35,7 +35,7 @@ index bfe0d98e6032c7633d6bb97382426f94fb437430..798aab0d644ca383ff4391685d854af6 /** diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java -index 22c28a503732671bc84c51372262e909d035c1fa..06e0f13d658b63b1fa984abb515eb0de704f9215 100644 +index 5f3aa6fd18d57055a6d8494938dff149d51b2803..84fd181ad897f620e450750246d9ea416dcbd48a 100644 --- a/src/main/java/org/bukkit/potion/PotionEffectType.java +++ b/src/main/java/org/bukkit/potion/PotionEffectType.java @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; @@ -47,7 +47,7 @@ index 22c28a503732671bc84c51372262e909d035c1fa..06e0f13d658b63b1fa984abb515eb0de /** * Increases movement speed. */ -@@ -358,4 +358,56 @@ public abstract class PotionEffectType implements Keyed { +@@ -363,4 +363,56 @@ public abstract class PotionEffectType implements Keyed { public static PotionEffectType[] values() { return Arrays.copyOfRange(byId, 1, byId.length); } diff --git a/patches/unapplied/api/0363-Expand-the-Registry-API.patch b/patches/api/0363-Expand-the-Registry-API.patch similarity index 86% rename from patches/unapplied/api/0363-Expand-the-Registry-API.patch rename to patches/api/0363-Expand-the-Registry-API.patch index 87956152e..973b0e47b 100644 --- a/patches/unapplied/api/0363-Expand-the-Registry-API.patch +++ b/patches/api/0363-Expand-the-Registry-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand the Registry API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 798aab0d644ca383ff4391685d854af65925fb0c..41363490b1e72d53ab3f1f26fe464858bb7b8f72 100644 +index 04d7fbd93131b9530add1e99b8443cc4d08be9d2..88b7422f26036b6a44e085c8bbc3174ddc27beda 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -214,6 +214,25 @@ public interface Registry extends Iterable { +@@ -221,6 +221,25 @@ public interface Registry extends Iterable { return Arrays.stream(org.bukkit.potion.PotionEffectType.values()).iterator(); } }; diff --git a/patches/unapplied/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 100% rename from patches/unapplied/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch diff --git a/patches/unapplied/api/0365-Implement-regenerateChunk.patch b/patches/api/0365-Implement-regenerateChunk.patch similarity index 100% rename from patches/unapplied/api/0365-Implement-regenerateChunk.patch rename to patches/api/0365-Implement-regenerateChunk.patch diff --git a/patches/unapplied/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch b/patches/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch similarity index 85% rename from patches/unapplied/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch rename to patches/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch index 1aaa39f50..79e35efc0 100644 --- a/patches/unapplied/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch +++ b/patches/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't load plugins prefixed with a dot diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 1366496271c4c7f72d1e5f990e51775b1c371f99..42da20011544075a9bea63a12ae86f2f21720667 100644 +index 34c3df7570479d4f045897fe4e26dfa3f27479c4..45114d587a8f201778adcba16c8a019f9959f472 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -142,6 +142,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -137,6 +137,7 @@ public final class SimplePluginManager implements PluginManager { final List pluginJars = new ArrayList<>(java.util.Arrays.asList(directory.listFiles())); pluginJars.addAll(extraPluginJars); for (File file : pluginJars) { diff --git a/patches/unapplied/api/0367-Add-GameEvent-tags.patch b/patches/api/0367-Add-GameEvent-tags.patch similarity index 86% rename from patches/unapplied/api/0367-Add-GameEvent-tags.patch rename to patches/api/0367-Add-GameEvent-tags.patch index 668a19903..ffef095e7 100644 --- a/patches/unapplied/api/0367-Add-GameEvent-tags.patch +++ b/patches/api/0367-Add-GameEvent-tags.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add GameEvent tags diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 20f033b9eda656cf0bdc91c3cf046f90a4be87fd..fbe2da7aa0d135a35eab3a81599d5df1b709b8ac 100644 +index 9694b862d62afbaa831735a6f6d095315bcdf37c..4749d4c01069f0e0cbe948ede1dd043baceaa97b 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java -@@ -739,6 +739,18 @@ public interface Tag extends Keyed { +@@ -848,6 +848,18 @@ public interface Tag extends Keyed { */ @Deprecated(forRemoval = true) Tag SKELETONS = ENTITY_TYPES_SKELETONS; diff --git a/patches/unapplied/api/0368-Furnace-RecipesUsed-API.patch b/patches/api/0368-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/unapplied/api/0368-Furnace-RecipesUsed-API.patch rename to patches/api/0368-Furnace-RecipesUsed-API.patch diff --git a/patches/unapplied/api/0369-Configurable-sculk-sensor-listener-range.patch b/patches/api/0369-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/unapplied/api/0369-Configurable-sculk-sensor-listener-range.patch rename to patches/api/0369-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/unapplied/api/0370-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0370-Add-missing-block-data-mins-and-maxes.patch similarity index 100% rename from patches/unapplied/api/0370-Add-missing-block-data-mins-and-maxes.patch rename to patches/api/0370-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/unapplied/api/0371-Custom-Potion-Mixes.patch b/patches/api/0371-Custom-Potion-Mixes.patch similarity index 100% rename from patches/unapplied/api/0371-Custom-Potion-Mixes.patch rename to patches/api/0371-Custom-Potion-Mixes.patch diff --git a/patches/unapplied/api/0372-Expose-furnace-minecart-push-values.patch b/patches/api/0372-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/unapplied/api/0372-Expose-furnace-minecart-push-values.patch rename to patches/api/0372-Expose-furnace-minecart-push-values.patch diff --git a/patches/unapplied/api/0373-More-Projectile-API.patch b/patches/api/0373-More-Projectile-API.patch similarity index 100% rename from patches/unapplied/api/0373-More-Projectile-API.patch rename to patches/api/0373-More-Projectile-API.patch diff --git a/patches/unapplied/api/0374-Add-getComputedBiome-API.patch b/patches/api/0374-Add-getComputedBiome-API.patch similarity index 100% rename from patches/unapplied/api/0374-Add-getComputedBiome-API.patch rename to patches/api/0374-Add-getComputedBiome-API.patch diff --git a/patches/unapplied/api/0375-Add-enchantWithLevels-API.patch b/patches/api/0375-Add-enchantWithLevels-API.patch similarity index 95% rename from patches/unapplied/api/0375-Add-enchantWithLevels-API.patch rename to patches/api/0375-Add-enchantWithLevels-API.patch index a2c2a81ff..394fcb62b 100644 --- a/patches/unapplied/api/0375-Add-enchantWithLevels-API.patch +++ b/patches/api/0375-Add-enchantWithLevels-API.patch @@ -32,10 +32,10 @@ index 2acafae468fcbb7213d6b6c30803a3924a3bbc30..40edff7c93b6bf75de81102326667135 * Creates a hover event for the given item. * diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 66352c63bcacb9b418a3cc61d8a6219b4cdfbb32..62841846ec3e14daa46564509671cab146984cc6 100644 +index 77ef41527a05e2d7899633ef7fa813774dd15bd9..b8a344fd900dcbd4b28085a54b85b16c742e9c6f 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -649,6 +649,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -648,6 +648,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor } // Paper start diff --git a/patches/unapplied/api/0376-Add-TameableDeathMessageEvent.patch b/patches/api/0376-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/unapplied/api/0376-Add-TameableDeathMessageEvent.patch rename to patches/api/0376-Add-TameableDeathMessageEvent.patch diff --git a/patches/unapplied/api/0377-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0377-Allow-to-change-the-podium-of-the-EnderDragon.patch similarity index 100% rename from patches/unapplied/api/0377-Allow-to-change-the-podium-of-the-EnderDragon.patch rename to patches/api/0377-Allow-to-change-the-podium-of-the-EnderDragon.patch diff --git a/patches/unapplied/api/0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch similarity index 100% rename from patches/unapplied/api/0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to patches/api/0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/unapplied/api/0379-Update-Folder-Uses-Plugin-Name.patch b/patches/api/0379-Update-Folder-Uses-Plugin-Name.patch similarity index 91% rename from patches/unapplied/api/0379-Update-Folder-Uses-Plugin-Name.patch rename to patches/api/0379-Update-Folder-Uses-Plugin-Name.patch index c61973513..a8338f699 100644 --- a/patches/unapplied/api/0379-Update-Folder-Uses-Plugin-Name.patch +++ b/patches/api/0379-Update-Folder-Uses-Plugin-Name.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Update Folder Uses Plugin Name diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 42da20011544075a9bea63a12ae86f2f21720667..bab8bb3a52cdeef5f7052d4e3f404c42f37d117d 100644 +index 45114d587a8f201778adcba16c8a019f9959f472..ed07f5820281b139739f673fa4e25171de81b894 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -400,7 +400,7 @@ public final class SimplePluginManager implements PluginManager { +@@ -395,7 +395,7 @@ public final class SimplePluginManager implements PluginManager { public synchronized Plugin loadPlugin(@NotNull File file) throws InvalidPluginException, UnknownDependencyException { - Validate.notNull(file, "File cannot be null"); + Preconditions.checkArgument(file != null, "File cannot be null"); - checkUpdate(file); + file = checkUpdate(file); // Paper - update the reference in case checkUpdate renamed it Set filters = fileAssociations.keySet(); Plugin result = null; -@@ -427,16 +427,56 @@ public final class SimplePluginManager implements PluginManager { +@@ -422,16 +422,56 @@ public final class SimplePluginManager implements PluginManager { return result; } diff --git a/patches/unapplied/api/0380-WorldCreator-keepSpawnLoaded.patch b/patches/api/0380-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/unapplied/api/0380-WorldCreator-keepSpawnLoaded.patch rename to patches/api/0380-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/unapplied/api/0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/unapplied/api/0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/api/0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/unapplied/api/0382-Add-PlayerStopUsingItemEvent.patch b/patches/api/0382-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/unapplied/api/0382-Add-PlayerStopUsingItemEvent.patch rename to patches/api/0382-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/unapplied/api/0383-FallingBlock-auto-expire-setting.patch b/patches/api/0383-FallingBlock-auto-expire-setting.patch similarity index 100% rename from patches/unapplied/api/0383-FallingBlock-auto-expire-setting.patch rename to patches/api/0383-FallingBlock-auto-expire-setting.patch