diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index d3a6aae13f..dd3e1b8626 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -768,7 +768,7 @@ index 0000000000000000000000000000000000000000..934d1d3ca490a8e25c438bc8c57eb6bd
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index a485d590242b814e85aa2a1d54f0926017cfd2b5..fed32ada5a5ba6906c0f8e854ad71fd691fe5811 100644
+index c869a1c0f658fa8fb6b4d15a4292f9e8b60339a3..6391011464ac0c95d4da7fb9c698f35c58b40922 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -423,7 +423,9 @@ public final class Bukkit {
@@ -1115,7 +1115,7 @@ index b79daa857fc686f00ac06b8851e0ab68d83ae949..45d996878ba8d314a47078589b6da59d
public void setCustomName(@Nullable String name);
}
diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java
-index 9562fcd522b2e2b24ec57fbf18ddeebba3e50abf..9b61129c3ef83d0bfceba54aba2effa12bc90678 100644
+index dd3c9dfde4152bd832096ac2ddbfe0d2f9204a8c..499c2293fe2eea3eaf7ede476e836704e13e5a02 100644
--- a/src/main/java/org/bukkit/NamespacedKey.java
+++ b/src/main/java/org/bukkit/NamespacedKey.java
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1185,7 +1185,7 @@ index 9562fcd522b2e2b24ec57fbf18ddeebba3e50abf..9b61129c3ef83d0bfceba54aba2effa1
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 533f20092e7cf61250f5f88f6628a380c852a8e5..862f18d72deb1cb56de3f3f31275297a03d9ba0a 100644
+index 1fb51550953866ec9cde931987f8cfab2acc6b9b..01f8e0811f8b337acac31819a85bb44b189b3c21 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -66,13 +66,13 @@ import org.jetbrains.annotations.Nullable;
@@ -1557,12 +1557,12 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 752fef0205d7edc09a7072e4ca63152b12eb28ec..1ed3f8dae84c10cb3245d08fa776396a695b5c2f 100644
+index ea786130380315660a60830e9c4d00b1ccc8bb70..89d5def8c1dcdab0a9e2d1809badcbbd112c3d9c 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -31,6 +31,15 @@ import org.jetbrains.annotations.Nullable;
*/
- @Deprecated
+ @Deprecated(since = "1.7.2")
public interface UnsafeValues {
+ // Paper start
+ net.kyori.adventure.text.flattener.ComponentFlattener componentFlattener();
@@ -1589,7 +1589,7 @@ index 0208fc2bcd5c99c60b37419b92248db76681fc1e..5c1dda6888561a7eba0fbf9ba6ca7d7f
return warning == null || warning.value();
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index c0479a8da773b2f8db29f190ddc0e4961fb9f107..9732929b666b0a5e1a2a41c8e8794cc4f2535e41 100644
+index 55cfe19be7a6f4ffa8cc31f6fbfffb592d96a085..ed87e82eb0e30bdea6f7760bb80addcb3bbe59cc 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -47,7 +47,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1660,7 +1660,7 @@ index 372c0bd5a4d7800a11c24c95e39fe376a96232bf..9c88be68b4f403d0500cb607394b3a16
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/block/Sign.java b/src/main/java/org/bukkit/block/Sign.java
-index d9fae47539a382bf87e4265111b7e6c2a1819caf..1fdb1144949adc3a2b5cbc3aca94d2f8e0c6d9ee 100644
+index 5aa7148dd24009564f1e6f07007a7a921eec6a39..be36f722c7e465fae09ae7c99d92bfa032b66cc3 100644
--- a/src/main/java/org/bukkit/block/Sign.java
+++ b/src/main/java/org/bukkit/block/Sign.java
@@ -12,12 +12,51 @@ import org.jetbrains.annotations.Nullable;
@@ -1714,7 +1714,7 @@ index d9fae47539a382bf87e4265111b7e6c2a1819caf..1fdb1144949adc3a2b5cbc3aca94d2f8
- * @deprecated A sign may have multiple writable sides now. Use {@link Sign#getSide(Side)} and {@link SignSide#getLines()}.
+ * @deprecated A sign may have multiple writable sides now. Use {@link Sign#getSide(Side)} and {@link SignSide#lines()}.
*/
- @Deprecated
+ @Deprecated(since = "1.20")
@NotNull
@@ -31,7 +70,7 @@ public interface Sign extends TileState, Colorable {
* @param index Line number to get the text from, starting at 0
@@ -1723,7 +1723,7 @@ index d9fae47539a382bf87e4265111b7e6c2a1819caf..1fdb1144949adc3a2b5cbc3aca94d2f8
- * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#getLine(int)}.
+ * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#line(int)}.
*/
- @Deprecated
+ @Deprecated(since = "1.20")
@NotNull
@@ -46,7 +85,7 @@ public interface Sign extends TileState, Colorable {
* @param index Line number to set the text at, starting from 0
@@ -1732,7 +1732,7 @@ index d9fae47539a382bf87e4265111b7e6c2a1819caf..1fdb1144949adc3a2b5cbc3aca94d2f8
- * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#setLine(int, String)}.
+ * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#line(int, net.kyori.adventure.text.Component)}.
*/
- @Deprecated
+ @Deprecated(since = "1.20")
public void setLine(int index, @NotNull String line) throws IndexOutOfBoundsException;
diff --git a/src/main/java/org/bukkit/block/sign/SignSide.java b/src/main/java/org/bukkit/block/sign/SignSide.java
index 0f4ae7bd2ad379b5edb40f49f93de9e18c38f415..575e545a69b5279b90067d7ebee08b7b59288496 100644
@@ -1809,7 +1809,7 @@ index 0f4ae7bd2ad379b5edb40f49f93de9e18c38f415..575e545a69b5279b90067d7ebee08b7b
/**
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
-index ac89f041dc983485174a174e79cd21159fdfba1e..f3cdf13f22aa789ee8cc235b61fda4035b254219 100644
+index 9019ebeefc9492d7c982b09fc9438d58c4233df0..6686d025222dc50156347a1757c88da02f882eec 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -32,7 +32,7 @@ public abstract class Command {
@@ -1837,7 +1837,7 @@ index ac89f041dc983485174a174e79cd21159fdfba1e..f3cdf13f22aa789ee8cc235b61fda403
return false;
@@ -327,7 +327,7 @@ public abstract class Command {
- @Deprecated
+ @Deprecated(since = "1.20.4")
@Nullable
public String getPermissionMessage() {
- return permissionMessage;
@@ -1846,7 +1846,7 @@ index ac89f041dc983485174a174e79cd21159fdfba1e..f3cdf13f22aa789ee8cc235b61fda403
/**
@@ -398,7 +398,7 @@ public abstract class Command {
- @Deprecated
+ @Deprecated(since = "1.20.4")
@NotNull
public Command setPermissionMessage(@Nullable String permissionMessage) {
- this.permissionMessage = permissionMessage;
@@ -2248,7 +2248,7 @@ index b7d8dd30360a38dbdc7bbce40c8e6ced7261f833..0817f2395c2b18828565435568ce651f
public void sendRawMessage(@Nullable UUID sender, @NotNull String message);
}
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
-index 241bc2ea6157c29d6d5428c413ea14ac3822e3f7..378ef178bdcf0d71b5d80fc5028ce738437f9391 100644
+index e560a13a1b2f51da041aa58082800d47cf6eddae..4d8defb32544c4cb972d257f58e4eabbc14a2176 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -310,6 +310,19 @@ public abstract class Enchantment implements Keyed, Translatable {
@@ -2272,7 +2272,7 @@ index 241bc2ea6157c29d6d5428c413ea14ac3822e3f7..378ef178bdcf0d71b5d80fc5028ce738
/**
* Gets the Enchantment at the specified key
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
-index 7ad7bcf9a9333c8d6d1d7cab53a6d457ec20bbf6..c4f86ba1037f3f0e5d697a0962d71d6f8c7c1fbe 100644
+index ac3a61fb5d81c73326d3c313dc4b8b02ea322d42..865ab3d2015e114d3cac72e0e26e4086a3913b38 100644
--- a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
@@ -20,4 +20,11 @@ public abstract class EnchantmentWrapper extends Enchantment {
@@ -2288,7 +2288,7 @@ index 7ad7bcf9a9333c8d6d1d7cab53a6d457ec20bbf6..c4f86ba1037f3f0e5d697a0962d71d6f
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 558fe6e23f562ee873fc84112f930c6ea19a09f4..c78fb359bd28b8dc1ba242642ec612e856525993 100644
+index a4cf548b5f1e182282483a89a447a6616faf1f25..d7f95863922bf332c674d538eb187015fadae9d8 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -30,7 +30,7 @@ import org.jetbrains.annotations.Nullable;
@@ -2322,7 +2322,7 @@ index 558fe6e23f562ee873fc84112f930c6ea19a09f4..c78fb359bd28b8dc1ba242642ec612e8
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index d87115c4315f544b5f6f3e03957b2014762b754a..cab45a41e54599588007c9b02a23d1b148dd89f1 100644
+index 299c3d4c91341b91da8675d741ba2254db337640..64d32c377d0303ed28011a5f002274de3c16b383 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -58,7 +58,41 @@ import org.jetbrains.annotations.Nullable;
@@ -2664,7 +2664,7 @@ index d87115c4315f544b5f6f3e03957b2014762b754a..cab45a41e54599588007c9b02a23d1b1
- * should use {@link #setResourcePack(String)}.
+ * should use {@link #setResourcePack(UUID, String, byte[], net.kyori.adventure.text.Component, boolean)}.
*/
- @Deprecated
+ @Deprecated(since = "1.7.2")
public void setTexturePack(@NotNull String url);
@@ -1497,7 +1708,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null.
@@ -2947,7 +2947,7 @@ index d87115c4315f544b5f6f3e03957b2014762b754a..cab45a41e54599588007c9b02a23d1b1
- * @deprecated API behavior subject to change
+ * @deprecated Use {@link #showTitle(net.kyori.adventure.title.Title)} or {@link #sendTitlePart(net.kyori.adventure.title.TitlePart, Object)}
*/
- @Deprecated
+ @Deprecated(since = "1.8.7")
public void sendTitle(@Nullable String title, @Nullable String subtitle);
@@ -1935,7 +2307,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param fadeIn time in ticks for titles to fade in. Defaults to 10.
@@ -3111,7 +3111,7 @@ index 63c80b4ee1f7adc8a9efc3b607993104b1991f90..91cab8b13d5bba34007f124838b32a1d
}
diff --git a/src/main/java/org/bukkit/event/block/SignChangeEvent.java b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
-index f4ac033ff8794a61c82a49dc6c3f863f3291455d..d944d67f544494355f03c5bc9afd8ea7726e6412 100644
+index 5cf3a7890f0e56ded53966348752615590eb16d6..e7538a863ddb2c4283a7f1c418b2beffc8d9ae35 100644
--- a/src/main/java/org/bukkit/event/block/SignChangeEvent.java
+++ b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
@@ -17,18 +17,38 @@ public class SignChangeEvent extends BlockEvent implements Cancellable {
@@ -3136,7 +3136,7 @@ index f4ac033ff8794a61c82a49dc6c3f863f3291455d..d944d67f544494355f03c5bc9afd8ea7
+ }
+ // Paper end
+
- @Deprecated
+ @Deprecated(since = "1.19.4")
public SignChangeEvent(@NotNull final Block theBlock, @NotNull final Player thePlayer, @NotNull final String[] theLines) {
this(theBlock, thePlayer, theLines, Side.FRONT);
}
@@ -3346,7 +3346,7 @@ index 133760be6c73436512ba684a3ac77a514b2d8765..9473303bd8ab1f6b63b6999a5f5ff3ec
* Gets how much EXP the Player should have at respawn.
*
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
-index 094963b16eccc303fb1a10b1e052feebe4a4d68b..3e6ac5beb137efd8ecd80e2e9b17015cb38e8a0a 100644
+index c2af9a9832fb7c3ebb397a4c5fb8604b90216f0c..f80d5bc893efd8846365b4677ef1407158b1abc8 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -163,7 +163,18 @@ public enum InventoryType {
@@ -3401,7 +3401,7 @@ index 9c68c3f2d61500479f48b80264f625aaae2f3204..399afcd19fcb6acd24857ed6ab48cf0d
private static final HandlerList handlers = new HandlerList();
private boolean cancel = false;
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
-index 7ca90f318a013786931043c9a10a93cf6aede199..004f1fd55c143e6c21be74d0a6b9ee8b2e12cc59 100644
+index 23257ae3953d1aa5ba96c69485a5e3d7889ad8de..b2f32debd32f78e7df4851866a47da3ff0d1f015 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -10,11 +10,18 @@ import org.jetbrains.annotations.NotNull;
@@ -3467,9 +3467,9 @@ index 7ca90f318a013786931043c9a10a93cf6aede199..004f1fd55c143e6c21be74d0a6b9ee8b
+ */
+ public void disallow(@NotNull final Result result, @NotNull final net.kyori.adventure.text.Component message) {
+ this.result = result;
- this.message = message;
- }
-
++ this.message = message;
++ }
++
+ /**
+ * Disallows the player from logging in, with the given reason
+ *
@@ -3482,8 +3482,8 @@ index 7ca90f318a013786931043c9a10a93cf6aede199..004f1fd55c143e6c21be74d0a6b9ee8b
+ @Deprecated
+ public void disallow(@NotNull final PlayerPreLoginEvent.Result result, @NotNull final net.kyori.adventure.text.Component message) {
+ this.result = result == null ? null : Result.valueOf(result.name());
-+ this.message = message;
-+ }
+ this.message = message;
+ }
+ // Paper end
+ /**
+ * Gets the current kick message that will be used if getResult() !=
@@ -3508,7 +3508,7 @@ index 7ca90f318a013786931043c9a10a93cf6aede199..004f1fd55c143e6c21be74d0a6b9ee8b
+ public void setKickMessage(@NotNull final String message) {
+ this.message = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(message); // Paper
+ }
-+
+
/**
* Allows the player to log in
*/
@@ -3534,7 +3534,7 @@ index 7ca90f318a013786931043c9a10a93cf6aede199..004f1fd55c143e6c21be74d0a6b9ee8b
/**
@@ -137,7 +197,7 @@ public class AsyncPlayerPreLoginEvent extends Event {
- @Deprecated
+ @Deprecated(since = "1.3.2")
public void disallow(@NotNull final PlayerPreLoginEvent.Result result, @NotNull final String message) {
this.result = result == null ? null : Result.valueOf(result.name());
- this.message = message;
@@ -3543,7 +3543,7 @@ index 7ca90f318a013786931043c9a10a93cf6aede199..004f1fd55c143e6c21be74d0a6b9ee8b
/**
diff --git a/src/main/java/org/bukkit/event/player/PlayerChatEvent.java b/src/main/java/org/bukkit/event/player/PlayerChatEvent.java
-index a1f4261eaa1497554f1e51d1d5a072c2eb9226df..2c021bc2ff18f0b3af5feb9dafc8ccebd604f8b5 100644
+index eb1018a84aac4f8265f3f848fa6f78781d85de4f..373162d96fbf65286adf35a1c32031e1ac846346 100644
--- a/src/main/java/org/bukkit/event/player/PlayerChatEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerChatEvent.java
@@ -12,12 +12,7 @@ import org.jetbrains.annotations.NotNull;
@@ -3558,7 +3558,7 @@ index a1f4261eaa1497554f1e51d1d5a072c2eb9226df..2c021bc2ff18f0b3af5feb9dafc8cceb
- * alternative for thread safe implementations.
+ * @deprecated Listening to this event forces chat to wait for the main thread, delaying chat messages. It is recommended to use {@link io.papermc.paper.event.player.AsyncChatEvent} instead, wherever possible.
*/
- @Deprecated
+ @Deprecated(since = "1.3.1")
@Warning(reason = "Listening to this event forces chat to wait for the main thread, delaying chat messages.")
diff --git a/src/main/java/org/bukkit/event/player/PlayerEvent.java b/src/main/java/org/bukkit/event/player/PlayerEvent.java
index 793b661b6d2d05de3d7f4fc26a4c018a2af58e62..f6d3b817de3001f04ea4554c7c39a1290af3fd6d 100644
@@ -3920,7 +3920,7 @@ index 2bc81b0aa73f7f5b0352121f6bf18fa63acf7a83..eaa0548cf430bf5b58ff84e0a4403c45
this.message = message;
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
-index fb066251f793ec3b41bfc075b9478901b15ee549..175ed12dd1698f4d153c9acdac8340c15a427ea5 100644
+index 203d030dbb2312a06bfb526351c1af92ddbc351a..b323212f11f831a96d87f6c9d746a90d119a3efd 100644
--- a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
@@ -9,6 +9,13 @@ import org.jetbrains.annotations.NotNull;
@@ -4108,7 +4108,7 @@ index d70c25f404e994766a9ebce89a917c8d0719777c..14b27eaaf744736b3e56bb1383481df9
@NotNull
diff --git a/src/main/java/org/bukkit/event/server/BroadcastMessageEvent.java b/src/main/java/org/bukkit/event/server/BroadcastMessageEvent.java
-index 03bfca9d368bbe4b7c1353d52c883e756bf69bda..25c0fe98489d903fdf77cbdd181c95593bd7f727 100644
+index 24d57cf17639f51b9557aec17a3686816542cfc6..173cdb379217d38af0df7a38e009553d0b257ea6 100644
--- a/src/main/java/org/bukkit/event/server/BroadcastMessageEvent.java
+++ b/src/main/java/org/bukkit/event/server/BroadcastMessageEvent.java
@@ -9,16 +9,16 @@ import org.jetbrains.annotations.NotNull;
@@ -4201,7 +4201,7 @@ index 03bfca9d368bbe4b7c1353d52c883e756bf69bda..25c0fe98489d903fdf77cbdd181c9559
/**
diff --git a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
-index 5adbe0514129abf3cfbc4b29a213f522359fe2e1..72ebc29db42d08d1d0361dba462fc8a573fbf918 100644
+index 689e533a61be76b96312daf52db00d9885f1fb5a..1cc5a0abce39c939398ce945dd916dc086888b13 100644
--- a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
+++ b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
@@ -22,7 +22,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable
@@ -4330,7 +4330,7 @@ index 5adbe0514129abf3cfbc4b29a213f522359fe2e1..72ebc29db42d08d1d0361dba462fc8a5
/**
diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java
-index 278259e211b926283ee6dfef6f96e11ddbcbf275..ebc14022c9ef9b0b3331ee53e96a32667e4762e0 100644
+index 021d9491d0b7337e036bc95aad076b923f7451dd..0b5e2f4760a43a7a8d3de7bca557027822145a18 100644
--- a/src/main/java/org/bukkit/inventory/InventoryView.java
+++ b/src/main/java/org/bukkit/inventory/InventoryView.java
@@ -269,12 +269,26 @@ public interface InventoryView {
@@ -4390,7 +4390,7 @@ index aa7fcae0de70aa5c10a331dfb076efd2f2c64065..d5342258086066d3b9ef404916bad844
+ // Paper end - Adventure
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index eade62328895133c026e7e678e648e1fc846f5ee..730c42eddd38acec1cdbb19dfc8c675795d1e68d 100644
+index 8d9c309067235b24893de6a86ae8efe1f30015bd..a71a37e3833b6a339c4df8939768c2bd46a816a5 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable;
@@ -4713,7 +4713,7 @@ index 9bab73c3c2ca759b8e1c7d07d98cc593c961666a..f0c6943da3f783101ca647b75b3230fa
throw new UnsupportedOperationException("Not supported yet.");
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 1d810042652dac9c35dd358f9d87e3dd2cebc48e..fabddfe3763e143b5a769764cb324f97876ccb1c 100644
+index a3515201dcca4f4d8e8683a4f1558814280d46ea..f83ec1c5ddce1a35b1c164b988f7fc6b9c310322 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -44,6 +44,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@@ -4933,7 +4933,7 @@ index e8e0786467bfcea14d30b352489b7bfb1a06addc..56cfe665daba1754e41f633d7c18172b
+ // Paper end - adventure
}
diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java
-index a37e6419fcb116afbbfe8c5895b9c226a3a010dc..871adbf2f9015dffac9edc3ce35aa6acd3b75526 100644
+index 3ca6d94e9930c93013ee654d5bc5a5d6656c6c0e..8de6d0c53bce0279a82b84b408e83d2128077400 100644
--- a/src/main/java/org/bukkit/map/MapCursor.java
+++ b/src/main/java/org/bukkit/map/MapCursor.java
@@ -17,7 +17,7 @@ public final class MapCursor {
@@ -4947,7 +4947,7 @@ index a37e6419fcb116afbbfe8c5895b9c226a3a010dc..871adbf2f9015dffac9edc3ce35aa6ac
/**
@@ -32,7 +32,7 @@ public final class MapCursor {
*/
- @Deprecated
+ @Deprecated(since = "1.6.2")
public MapCursor(byte x, byte y, byte direction, byte type, boolean visible) {
- this(x, y, direction, type, visible, null);
+ this(x, y, direction, type, visible, (String) null); // Paper
@@ -4970,7 +4970,7 @@ index a37e6419fcb116afbbfe8c5895b9c226a3a010dc..871adbf2f9015dffac9edc3ce35aa6ac
- * @deprecated Magic value, use {@link #MapCursor(byte, byte, byte, Type, boolean, String)}
+ * @deprecated Magic value. Use {@link #MapCursor(byte, byte, byte, Type, boolean, net.kyori.adventure.text.Component)}
*/
- @Deprecated
+ @Deprecated(since = "1.13")
public MapCursor(byte x, byte y, byte direction, byte type, boolean visible, @Nullable String caption) {
@@ -66,8 +66,42 @@ public final class MapCursor {
setDirection(direction);
@@ -4996,7 +4996,7 @@ index a37e6419fcb116afbbfe8c5895b9c226a3a010dc..871adbf2f9015dffac9edc3ce35aa6ac
+ this.x = x; this.y = y; this.visible = visible; this.caption = caption;
+ setDirection(direction);
+ setRawType(type);
- }
++ }
+ /**
+ * Initialize the map cursor.
+ *
@@ -5011,7 +5011,7 @@ index a37e6419fcb116afbbfe8c5895b9c226a3a010dc..871adbf2f9015dffac9edc3ce35aa6ac
+ this.x = x; this.y = y; this.visible = visible; this.caption = caption;
+ setDirection(direction);
+ setType(type);
-+ }
+ }
+ // Paper end
/**
@@ -5074,7 +5074,7 @@ index a37e6419fcb116afbbfe8c5895b9c226a3a010dc..871adbf2f9015dffac9edc3ce35aa6ac
/**
diff --git a/src/main/java/org/bukkit/map/MapCursorCollection.java b/src/main/java/org/bukkit/map/MapCursorCollection.java
-index 4dba721aefe4fc6699b3b4bfa7ecb0b19c2a2a1a..6bc28d000f538ecbf249467ff3e87e3f4fea963e 100644
+index 986f9c8a659ed5cdda9fc4528bff23bf0e9f801e..f95a9aaa0cb020ea71d4c8a8e71bceb7147cbe4d 100644
--- a/src/main/java/org/bukkit/map/MapCursorCollection.java
+++ b/src/main/java/org/bukkit/map/MapCursorCollection.java
@@ -117,4 +117,22 @@ public final class MapCursorCollection {
@@ -5158,7 +5158,7 @@ index 03ca87a1cbace2459174bb7bb8847bda766e80c5..b37938745f916b5f0111b07b1a1c9752
* Returns the name of the plugin.
*
diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
-index 78fd35e6115072c6bc2ff5a899ffc2edb8f45801..22b1dc5fd4d453161a5ee520072f8e8f955b3a80 100644
+index c15e056e7697aac9079d3506911d82cb71aa9d23..d57634dd3796a695aba7623d2b04e35d630887b3 100644
--- a/src/main/java/org/bukkit/scoreboard/Objective.java
+++ b/src/main/java/org/bukkit/scoreboard/Objective.java
@@ -20,13 +20,35 @@ public interface Objective {
@@ -5208,7 +5208,7 @@ index 78fd35e6115072c6bc2ff5a899ffc2edb8f45801..22b1dc5fd4d453161a5ee520072f8e8f
/**
diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
-index bf52375e9ed9ec172eca1d27c06c379e3fc216bc..3377511e1a6dd4aeb78871e47169d5bd9456c1aa 100644
+index a55188ec3ec1c038fdd96da62f534cb71686da97..1cba9a96cc7efce2a4394add33e4c0369f94be31 100644
--- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java
+++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
@@ -26,6 +26,71 @@ public interface Scoreboard {
@@ -5290,7 +5290,7 @@ index bf52375e9ed9ec172eca1d27c06c379e3fc216bc..3377511e1a6dd4aeb78871e47169d5bd
- * @deprecated use {@link #registerNewObjective(String, Criteria, String)}
+ * @deprecated use {@link #registerNewObjective(String, Criteria, net.kyori.adventure.text.Component)}
*/
- @Deprecated
+ @Deprecated(since = "1.20.5")
@NotNull
@@ -55,7 +120,7 @@ public interface Scoreboard {
* characters.
@@ -5299,7 +5299,7 @@ index bf52375e9ed9ec172eca1d27c06c379e3fc216bc..3377511e1a6dd4aeb78871e47169d5bd
- * @deprecated use {@link #registerNewObjective(String, Criteria, String, RenderType)}
+ * @deprecated use {@link #registerNewObjective(String, Criteria, net.kyori.adventure.text.Component, RenderType)}
*/
- @Deprecated
+ @Deprecated(since = "1.20.5")
@NotNull
@@ -72,8 +137,10 @@ public interface Scoreboard {
* characters.
@@ -5324,7 +5324,7 @@ index bf52375e9ed9ec172eca1d27c06c379e3fc216bc..3377511e1a6dd4aeb78871e47169d5bd
/**
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
-index 7b9a7890b25ca4bd95ab81f3181288bf79ed649c..52e8be769d2e9b69e9833bc9a7fe39afd10c5095 100644
+index f6e684853fbca3f015f4948db5603eb155ea1f2f..284468fd3d310a7acdffa31f0f6593f5a98419ba 100644
--- a/src/main/java/org/bukkit/scoreboard/Team.java
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable;
diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch
index 79df408863..2d734f3019 100644
--- a/patches/api/0009-Paper-Plugins.patch
+++ b/patches/api/0009-Paper-Plugins.patch
@@ -1325,7 +1325,7 @@ index 0000000000000000000000000000000000000000..48a67c1b6070292dbf4ea3081f89b530
+
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 1ed3f8dae84c10cb3245d08fa776396a695b5c2f..e320729782245b5511cd744c417141508020fd26 100644
+index 89d5def8c1dcdab0a9e2d1809badcbbd112c3d9c..aec092e019667d53faf3e7352799772804d5d260 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -146,4 +146,14 @@ public interface UnsafeValues {
@@ -1428,7 +1428,7 @@ index 94f8ceb965cecb5669a84a0ec61c0f706c2a2673..e773db6da357ad210eb24d4c389af2dc
}
}
diff --git a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java
-index 8e44f7eaf960884b09ac8413c4383fe17e54b584..c5465431ce35d264d8510af45e73d058b333c60b 100644
+index 4d444ed5bcfcd5bc3fd52fd5f28b8f8e0e006d1c..d24dc9dfe169089f26d1844d73b98b3d78fa9452 100644
--- a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java
+++ b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java
@@ -199,7 +199,7 @@ import org.yaml.snakeyaml.representer.Representer;
@@ -1563,7 +1563,7 @@ index ae3e68562c29992fab627428db3ff0006d8216f9..47153dee66782a00b980ecf15e8774ab
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 839130f713e9a1862e1026590a76ac027c00cab8..46c7be5fa69f13900860b9944523beea16f2409b 100644
+index ccf2aafca03c96ad8d28571eb7172989f75c29db..d6f3c8da8bae1f70e0f9bee3e688a04801a3b546 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -44,6 +44,8 @@ import org.jetbrains.annotations.Nullable;
@@ -1730,7 +1730,7 @@ index 839130f713e9a1862e1026590a76ac027c00cab8..46c7be5fa69f13900860b9944523beea
addPermission(perm, true);
}
- @Deprecated
+ @Deprecated(since = "1.12")
public void addPermission(@NotNull Permission perm, boolean dirty) {
+ if (true) {this.paperPluginManager.addPermission(perm); return;} // Paper - This just has a performance implication, use the better api to avoid this.
String name = perm.getName().toLowerCase(Locale.ROOT);
@@ -2012,7 +2012,7 @@ index 7fca39df009308adad55a6e9dc10a4a0dead86f2..2a14522c484febcd880d00197df4359a
throw new IllegalStateException("Cannot get plugin for " + clazz + " from a static initializer");
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 047c0304fd617cec990f80815b43916c6ef5a94c..ab04ffe4cd05315a2ee0f64c553b4c674740eb7f 100644
+index 29a8efdf3a8a68903a37924bbd5a24f5213aff6e..70ac93d420d0a8528428a3d038a2ef6a86d2fddd 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -49,6 +49,7 @@ import org.yaml.snakeyaml.error.YAMLException;
diff --git a/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch
index 75f427c672..895f0ff608 100644
--- a/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch
+++ b/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch
@@ -7,7 +7,7 @@ Upstream added methods for this so the original methods
are now deprecated
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index b5a302ba913d2de97f1bcd7c60fd5cd4f245d275..cafa79f80eec5ec6d8d31d40cc2b46acc06831f9 100644
+index 7afa4674a79f24db6344f02038ed9e2310c9cc66..598c88f02a764abe62f9f10833b2c499a0fb00ff 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -243,12 +243,44 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -32,8 +32,7 @@ index b5a302ba913d2de97f1bcd7c60fd5cd4f245d275..cafa79f80eec5ec6d8d31d40cc2b46ac
*
* @param count amount of arrows in entity's body
+ * @param fireEvent whether to fire the {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent} event
- */
-- public void setArrowsInBody(int count);
++ */
+ void setArrowsInBody(int count, boolean fireEvent); // Paper
+
+ // Paper start - Add methods for working with arrows stuck in living entities
@@ -43,7 +42,8 @@ index b5a302ba913d2de97f1bcd7c60fd5cd4f245d275..cafa79f80eec5ec6d8d31d40cc2b46ac
+ * A value of 0 will cause the server to re-calculate the amount of ticks on the next tick.
+ *
+ * @param ticks Amount of ticks
-+ */
+ */
+- public void setArrowsInBody(int count);
+ void setNextArrowRemoval(@org.jetbrains.annotations.Range(from = 0, to = Integer.MAX_VALUE) int ticks);
+
+ /**
diff --git a/patches/api/0053-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch
index fffb949152..9f99faa8ba 100644
--- a/patches/api/0053-Fix-upstream-javadocs.patch
+++ b/patches/api/0053-Fix-upstream-javadocs.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix upstream javadocs
diff --git a/src/main/java/org/bukkit/BanList.java b/src/main/java/org/bukkit/BanList.java
-index a04cde615f8c4bc593f8d9f8f6f1438008aaa707..548f6d28c28d74bed8b58ee82875909354afe132 100644
+index ac38b4af280cc7f52c70c238a6f4f9cccab1241d..5829aca9e5aa700bd95f19db3ae032100f74d5a3 100644
--- a/src/main/java/org/bukkit/BanList.java
+++ b/src/main/java/org/bukkit/BanList.java
@@ -38,6 +38,9 @@ public interface BanList {
@@ -49,7 +49,7 @@ index a04cde615f8c4bc593f8d9f8f6f1438008aaa707..548f6d28c28d74bed8b58ee828759093
* @param target the target to remove from this list
*/
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 0bd1480af001c86bc526875229f4ffa4e9945491..c900bde81d8f20ed4775228fbe767d7db62508fa 100644
+index 29e13fd7c94c5c50e81b804e6dffc8721164f1d1..bacdb1742ecb98bb10651b0582500449bf904910 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1538,6 +1538,8 @@ public final class Bukkit {
@@ -71,7 +71,7 @@ index 0bd1480af001c86bc526875229f4ffa4e9945491..c900bde81d8f20ed4775228fbe767d7d
* @param seconds the pause threshold in seconds
*/
diff --git a/src/main/java/org/bukkit/ChunkSnapshot.java b/src/main/java/org/bukkit/ChunkSnapshot.java
-index 0cf808356a1a5c6fc4bcf97a694ed9beb80a776a..dc765dea47a9a1c1520fb16ddb24f81413ed0dd1 100644
+index 8832a2e0907299fb5f379b6938bbbc8e98688478..725d7944ce066ac56ed86b31628f00eb46cdcf64 100644
--- a/src/main/java/org/bukkit/ChunkSnapshot.java
+++ b/src/main/java/org/bukkit/ChunkSnapshot.java
@@ -136,7 +136,7 @@ public interface ChunkSnapshot {
@@ -150,7 +150,7 @@ index 4c9fd558fbf7f57a948fbb7f80f4651048c0fb57..458119a9ef7ce8e1f59bd47caa5b4bc6
* @param statePredicate The predicate which should get used to test if a block should be set or not.
* @return true if the tree was created successfully, otherwise false
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 376712ee54e06fbc9e5f11016ca7ba6d9ae42b32..0588c6c8b30bfe6e1e8ab7e1523a8a9be6b11b6f 100644
+index 4225105fef7aee264b34d1687762b5fc8dccbc47..a506e618448c3bf4b56f54f8fe00d7158df29dd7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -581,13 +581,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -187,7 +187,7 @@ index 376712ee54e06fbc9e5f11016ca7ba6d9ae42b32..0588c6c8b30bfe6e1e8ab7e1523a8a9b
* @param seconds the pause threshold in seconds
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 9885fd1adc1f93a80d650e6d42dfa3a0b084db9f..c4f2f03ec31998d486dad1d45ef83df3f77b5e28 100644
+index e5d3ccf6e1bc87db1f5602214371c0e8ed4d5431..369e92f2b5e4b8fc7f5bf8a97058e827c91e4c59 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2766,7 +2766,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -218,7 +218,7 @@ index 9885fd1adc1f93a80d650e6d42dfa3a0b084db9f..c4f2f03ec31998d486dad1d45ef83df3
*
* The {@code radius} is not a rigid square radius. Each structure may alter
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
-index 6ffc895138088162cab827b3ca6c68961b7bcc64..8c53ac6b4381f3cf8b5e989c8b2a3ba77bd4e475 100644
+index ecf3897bd2dbdeebfa09a00a692724a013b0186d..b90af00a8eb83d4c1b183fbc4f1e9eae84c9074b 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -129,8 +129,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed {
@@ -232,7 +232,7 @@ index 6ffc895138088162cab827b3ca6c68961b7bcc64..8c53ac6b4381f3cf8b5e989c8b2a3ba7
* @return the slot
*/
diff --git a/src/main/java/org/bukkit/block/Bed.java b/src/main/java/org/bukkit/block/Bed.java
-index f9bd74f9ce6bd6650726e5a993f9b6e292cdc74d..f4c37ce1fe7aac3dde8485ee51fc8888ed56e79e 100644
+index 20aaa7e15a71eef34ff4c06bad14464e7c9584dd..46778452893de3d8f1765994fb0c1ba62a90b315 100644
--- a/src/main/java/org/bukkit/block/Bed.java
+++ b/src/main/java/org/bukkit/block/Bed.java
@@ -4,7 +4,22 @@ import org.bukkit.material.Colorable;
@@ -241,10 +241,10 @@ index f9bd74f9ce6bd6650726e5a993f9b6e292cdc74d..f4c37ce1fe7aac3dde8485ee51fc8888
* Represents a captured state of a bed.
- * @deprecated does not provide useful information beyond the material itself
*/
--@Deprecated
+-@Deprecated(since = "1.13")
-public interface Bed extends TileState, Colorable { }
+// Paper start
-+// @Deprecated
++// @Deprecated(since = "1.13")
+public interface Bed extends TileState, Colorable {
+
+ @Override
@@ -262,7 +262,7 @@ index f9bd74f9ce6bd6650726e5a993f9b6e292cdc74d..f4c37ce1fe7aac3dde8485ee51fc8888
+// Paper end
+}
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index f8e12868f2e629cdf4784f0157fdb2f8e7b01f99..bda4ab21b3ac2acbe328c0c6887c33283399971e 100644
+index ab65d9769b73780dc126b4f11f2ad4528e6ab0c0..f440da5941e11c30145175cf24162e1ba2b4e3cf 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -357,7 +357,7 @@ public interface Block extends Metadatable, Translatable {
@@ -367,7 +367,7 @@ index 494f97d47b52bc99b13748c1b57730fbd37d8f51..ebc98607b93294847f95e793304bc5d2
*/
public interface Gate extends Directional, Openable, Powerable {
diff --git a/src/main/java/org/bukkit/block/data/type/Switch.java b/src/main/java/org/bukkit/block/data/type/Switch.java
-index be06f8db02ca41d5cc3a5dc02951ad27e3cc8f9d..d91a07c7bcb36b3810bb2db89afef1eefd89253d 100644
+index df8c2d60e7cce0294d3a1b1a6a81367a56602c26..16ced762f498b0dadd22789fa5d121d644bebf3d 100644
--- a/src/main/java/org/bukkit/block/data/type/Switch.java
+++ b/src/main/java/org/bukkit/block/data/type/Switch.java
@@ -21,7 +21,7 @@ public interface Switch extends Directional, FaceAttachable, Powerable {
@@ -377,7 +377,7 @@ index be06f8db02ca41d5cc3a5dc02951ad27e3cc8f9d..d91a07c7bcb36b3810bb2db89afef1ee
- * @deprecated use {@link #getAttachedFace()}
+ * @deprecated use {@link #setAttachedFace(AttachedFace)}
*/
- @Deprecated
+ @Deprecated(since = "1.15.2")
void setFace(@NotNull Face face);
@@ -42,7 +42,7 @@ public interface Switch extends Directional, FaceAttachable, Powerable {
*/
@@ -389,7 +389,7 @@ index be06f8db02ca41d5cc3a5dc02951ad27e3cc8f9d..d91a07c7bcb36b3810bb2db89afef1ee
CEILING;
}
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
-index 91fc11dda99de506be83d40df8929bf7cd8e8d85..7dc631ebd009f5f5c3ac1699c3f3515c47609c05 100644
+index 6a1d563d1b7ea7e1060dfacfba98e4e1d4295790..c727b2d40efae8f08bdd159991afb8992568a58f 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -360,5 +360,8 @@ public interface ArmorStand extends LivingEntity {
@@ -402,7 +402,7 @@ index 91fc11dda99de506be83d40df8929bf7cd8e8d85..7dc631ebd009f5f5c3ac1699c3f3515c
// Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Arrow.java b/src/main/java/org/bukkit/entity/Arrow.java
-index a1615334cae50c7d64ca6d86cb7070405a26b332..e396f351a46e4220fa4df11eaa93d813dced664c 100644
+index a292579c9fa6eeac92fb1a21fa8144fbef307dad..38e6a8dbb248ead98cfb36bfb077d4e9e95b2c77 100644
--- a/src/main/java/org/bukkit/entity/Arrow.java
+++ b/src/main/java/org/bukkit/entity/Arrow.java
@@ -93,7 +93,7 @@ public interface Arrow extends AbstractArrow {
@@ -428,7 +428,7 @@ index 1e56aef9188487d3e9c737e85025f601ab359a72..92cd35c87bad578c2b714761c93a5b72
*/
LAND_ON_PORTAL,
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 4e1fb0974d061d5bb64899cac576318d2e6f8bf6..539b3527d0c66611e21712f29b90fba939e661e3 100644
+index 411297f66520774a4072c9e15aa9bdf03a527208..45d408f519767785b222c409170bbfecbd8d1931 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -180,9 +180,13 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -448,7 +448,7 @@ index 4e1fb0974d061d5bb64899cac576318d2e6f8bf6..539b3527d0c66611e21712f29b90fba9
public int getEntityId();
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
-index 29f9b380dda2f370e2a1159811167431796ec8a8..46a076bd8dc2f5d1094899638ab255a5a31c2568 100644
+index b21f42e653553b6dbd571a1e8fba1e5a04f3bbd1..c90a0a00be78200adf217e2b3a8302b59af3cf7c 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -22,6 +22,11 @@ import org.jetbrains.annotations.Nullable;
@@ -477,7 +477,7 @@ index b688b3856cb3068a539fcecfbfa113f8ab4160a9..c275b881cbd11307a6dcc7190d7a7d40
* @return whether the item frame is visible or not
*/
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index cafa79f80eec5ec6d8d31d40cc2b46acc06831f9..b0fbad5de65c33710ec46734ad6c69ec9b2769d5 100644
+index 598c88f02a764abe62f9f10833b2c499a0fb00ff..4b75a5e1ce788bc375d6147422e5bee6ef0c03be 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -502,7 +502,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -518,7 +518,7 @@ index ae9eaaa8e38e1d9dfc459926c7fc51ddb89de84a..b2ec535bb1b0ce0c114ddd7638b90218
@Override
public int getConversionTime();
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 4195516bc69ab232c6debff157c691ea68b0390f..c8ba70f787a3460c1f9faaeaab086e9e43ecaf6f 100644
+index e014582d73fc821c0b6dcf19ae1f5dfdf510343c..5b12fa8c41a18ddfe08d82c138c0f71106c89d4d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -492,15 +492,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -706,7 +706,7 @@ index 1df172c0bb48de3b143179a3f0c63d6ecc30649e..254d549f956053af4264ca3a52d34a97
public class BlockExplodeEvent extends BlockEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
diff --git a/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java b/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java
-index 340fa397e68c024df380a28db21545a0c83d9fa6..79ac8a5db689cf9f8e2ff4cb7c06df6989128d10 100644
+index 0392cc3a00f77a11608bf78cc157a411c7bcd976..23b3f44ab009bd49dac60a4045f12858f12cb2ba 100644
--- a/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java
@@ -34,7 +34,7 @@ public class BlockPistonRetractEvent extends BlockPistonEvent {
@@ -719,7 +719,7 @@ index 340fa397e68c024df380a28db21545a0c83d9fa6..79ac8a5db689cf9f8e2ff4cb7c06df69
* @return Immutable list of the moved blocks.
*/
diff --git a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
-index be0a2d1f234d8265d98e54e518a994957b1f3ab7..4e3c406ba883aae553e8d69b6b719b872cd6096c 100644
+index 77215c1dd2419104607138c45666ce0d84866670..3bfd0f6edc44d6503988f3c3c7a267f1be2986e3 100644
--- a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
@@ -114,7 +114,7 @@ public class BlockPlaceEvent extends BlockEvent implements Cancellable {
@@ -732,7 +732,7 @@ index be0a2d1f234d8265d98e54e518a994957b1f3ab7..4e3c406ba883aae553e8d69b6b719b87
* than BLOCK_CANBUILD, as this refers to a player, not universe-physics
* rule like cactus on dirt.
diff --git a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java
-index 035c647f4d4e3c34f171bb7d7fa6b2b7b3442669..7ae338bcecff2ce25939035181457ced505b3a49 100644
+index a722e090e788f5497569e69137923682e2abcbac..4c8f388897ff9ddd077695172622c5550651858b 100644
--- a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java
+++ b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java
@@ -81,7 +81,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab
@@ -758,7 +758,7 @@ index a37febd0d4dd5b733e9ee72628fdf9395fec4367..9cee218b9ee14688356f16b1f5851218
*/
public class AreaEffectCloudApplyEvent extends EntityEvent implements Cancellable {
diff --git a/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java b/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
-index d3f93163fb3108f42e542c22e437c9cb8289f0e8..1e2bb345d19ebe03589d85bdab13021b6fa2ed98 100644
+index c746c2e73ab9c91376ceaeab43423edb8009fe1a..5d2597378d36ccace672db0768267d3499100cf1 100644
--- a/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
+++ b/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
@@ -158,11 +158,12 @@ public class CreatureSpawnEvent extends EntitySpawnEvent {
@@ -777,7 +777,7 @@ index d3f93163fb3108f42e542c22e437c9cb8289f0e8..1e2bb345d19ebe03589d85bdab13021b
EXPLOSION,
/**
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
-index 573165ddf3368a96e1ffc6476eb27c9e29a6f86e..148c4aad384ae8e3b8b22d264a84bddfbcafdf1e 100644
+index 0a3699226be1941c0ad1ff1ad8f80bad3aec42aa..971093bd2500543e680db1c92f781bfd5c35dd83 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
@@ -12,6 +12,10 @@ import org.jetbrains.annotations.Nullable;
@@ -830,7 +830,7 @@ index c866df03d66dd8724e12c7353da4cf144c70b2c8..94ee5a3354722aa5d825da727b7b7071
public class EntityPickupItemEvent extends EntityEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
diff --git a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
-index 327876e0ad7dcfeb71d9d22afe1c04bcd71c3bf9..71d664dd89995f088c47d17b38547d530319470c 100644
+index 4f116956071148a1a148b94ceb4654d3934e2f7f..a7bd15d51a4ff9142cfb341f65050a88b5f5fa8d 100644
--- a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
@@ -878,7 +878,7 @@ index d51d2ec1d04d9ea8a25a70d0d856f2355ebfcb4a..7ecff9fcee19fc94be784474fea620e5
EATING,
/**
diff --git a/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java b/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java
-index dee186e99463a56394bbc2039d1e763d109125b9..c6e4d69eecd2789b1d78fe99fe590932e9758ba1 100644
+index 842cfd3e9829c61250e98d1a45602a81549de176..808142232a722cb6466bac78d00dc55c18ebe109 100644
--- a/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java
@@ -156,7 +156,7 @@ public class EntityTargetEvent extends EntityEvent implements Cancellable {
@@ -966,7 +966,7 @@ index 1440c6115520d692faf75455df35b92aa8734491..0808e7aeffb69160913344de5b5e21d5
public class FurnaceStartSmeltEvent extends InventoryBlockStartEvent {
private static final HandlerList handlers = new HandlerList();
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
-index 79797a2be7fb139d528116d34d13e51d39b96e56..f2a2a2ad9930499c5bf624e73571a3294a90db14 100644
+index e1f0ae392c14b940581ed966da42a58ec5cb005d..5832c610e4fad1372e70dc01bd04ba684a89b492 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
@@ -16,12 +16,16 @@ import org.jetbrains.annotations.Nullable;
@@ -1069,7 +1069,7 @@ index 08a7c564fe5d3d232998d1789d4d4723a59c1430..8a5be3f0322ac19aeac3f00df54add0e
@Override
public AnvilView getView() {
diff --git a/src/main/java/org/bukkit/event/player/PlayerCommandPreprocessEvent.java b/src/main/java/org/bukkit/event/player/PlayerCommandPreprocessEvent.java
-index 48a00fb50fe32c732a578d5179b3bb43ffd68b69..6d7ee2c6e053ea9af9116e7c2adb521f12b914df 100644
+index c3eb020498121746ac0650522b15f1346bbca5fa..9eb2c2a1fe385d306df8e44476339073a7532f60 100644
--- a/src/main/java/org/bukkit/event/player/PlayerCommandPreprocessEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerCommandPreprocessEvent.java
@@ -106,7 +106,9 @@ public class PlayerCommandPreprocessEvent extends PlayerEvent implements Cancell
@@ -1091,8 +1091,8 @@ index 48a00fb50fe32c732a578d5179b3bb43ffd68b69..6d7ee2c6e053ea9af9116e7c2adb521f
+ * @deprecated This is simply the online players. Modifications have no effect
*/
@NotNull
-- @Deprecated
-+ @Deprecated(forRemoval = true)
+- @Deprecated(since = "1.3.1")
++ @Deprecated(since = "1.3.1", forRemoval = true)
public Set getRecipients() {
return recipients;
}
@@ -1113,7 +1113,7 @@ index e4c32b21ab013703a6a1b07a1ad564d914ebe83f..e58fecf0fe54db06e0e944027923a352
public class PlayerResourcePackStatusEvent extends PlayerEvent {
diff --git a/src/main/java/org/bukkit/generator/ChunkGenerator.java b/src/main/java/org/bukkit/generator/ChunkGenerator.java
-index 0cc6e29a5af28e95f87f415d6b2424d4622a6f34..c0b749a5bbf4980d01fed74768bb61909b579cb9 100644
+index 4b952b0178de24e0902b48dfceff99ef1c926e43..b4dab4cf521c7fb067e88d985572f12d14a2c8df 100644
--- a/src/main/java/org/bukkit/generator/ChunkGenerator.java
+++ b/src/main/java/org/bukkit/generator/ChunkGenerator.java
@@ -627,7 +627,7 @@ public abstract class ChunkGenerator {
@@ -1126,7 +1126,7 @@ index 0cc6e29a5af28e95f87f415d6b2424d4622a6f34..c0b749a5bbf4980d01fed74768bb6190
* @param z the z location in the chunk from 0-15 inclusive
* @return Biome value
diff --git a/src/main/java/org/bukkit/inventory/EntityEquipment.java b/src/main/java/org/bukkit/inventory/EntityEquipment.java
-index 9adc827bc52eaa767a39c82e9cb0ff5a48e02b14..2dde946443fee1f6e79b882cbcb448549dc0c99c 100644
+index 37298cec0234b6c681d912791c1235fbfc427d93..720038083f8c8ab1f29ac424f2d9dbb5cbc8b533 100644
--- a/src/main/java/org/bukkit/inventory/EntityEquipment.java
+++ b/src/main/java/org/bukkit/inventory/EntityEquipment.java
@@ -37,9 +37,23 @@ public interface EntityEquipment {
@@ -1472,7 +1472,7 @@ index 8453bd058d426c1088b04c55d2448d205f0a104b..1b3580d1861af402396121805715e408
HIDE_ARMOR_TRIM;
}
diff --git a/src/main/java/org/bukkit/inventory/PlayerInventory.java b/src/main/java/org/bukkit/inventory/PlayerInventory.java
-index f1918027c3a8735b31566856218611656b56db20..476fe14faa39f02444cab8ad95d4401033dc6938 100644
+index 6933fb24ea3e6c2e306a69407ae7fa280101419a..b1f4b8f2666e8012eb8a1e21a2b958fe6e03f74f 100644
--- a/src/main/java/org/bukkit/inventory/PlayerInventory.java
+++ b/src/main/java/org/bukkit/inventory/PlayerInventory.java
@@ -160,7 +160,7 @@ public interface PlayerInventory extends Inventory {
@@ -1503,7 +1503,7 @@ index f1918027c3a8735b31566856218611656b56db20..476fe14faa39f02444cab8ad95d44010
* @return the currently held item
* @see #getItemInMainHand()
diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java
-index 16c10d75dd28f6bbe843935e8bc91f2bccbd360a..c414ccf03572d48f5c096516fc60a59bb1e8efd7 100644
+index 83b08fa8a42b07a9abc84f30df921a5c2a60adbf..64916d17ee81cf2eaec7fbac1cb071db3b3eb258 100644
--- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java
+++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java
@@ -24,8 +24,6 @@ public class ShapedRecipe extends CraftingRecipe {
@@ -1525,7 +1525,7 @@ index 16c10d75dd28f6bbe843935e8bc91f2bccbd360a..c414ccf03572d48f5c096516fc60a59b
*/
public ShapedRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result) {
diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
-index bc924ae23fa10d87537aebbfd126aa44f199b65c..b7f46a048633945dc71e8efec9a7ebeed5832fd7 100644
+index 969710cc69fe4c1265f509915cd6bf78d47a2d78..354af775093fd3a74dac6c64244d8f3464397f72 100644
--- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
+++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
@@ -31,11 +31,8 @@ public class ShapelessRecipe extends CraftingRecipe {
@@ -1622,7 +1622,7 @@ index 35c6594fd1040a1af1029e7260e5e3a9307b107d..d58719ee75bef8bc265bfc81bc5d88a4
void addChargedProjectile(@NotNull ItemStack item);
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index fabddfe3763e143b5a769764cb324f97876ccb1c..480dd9a5ff334e6f32b98aa0108ff02e6f7077ab 100644
+index f83ec1c5ddce1a35b1c164b988f7fc6b9c310322..c81465e35808135329495fc4669d5616421451b7 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -744,7 +744,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@@ -1816,7 +1816,7 @@ index eabd8b926ec1c934cd7e77b7cc6adfae16771021..8557bfefaf02538dec95adb29734ae2c
* @param a projectile subclass
* @param projectile class of the projectile to launch
diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
-index 22b1dc5fd4d453161a5ee520072f8e8f955b3a80..a625bcab8e77b05b3341a52c708fae1542b7e3d5 100644
+index d57634dd3796a695aba7623d2b04e35d630887b3..35755c9165c1b48eaacfff86a50a7973476fe04b 100644
--- a/src/main/java/org/bukkit/scoreboard/Objective.java
+++ b/src/main/java/org/bukkit/scoreboard/Objective.java
@@ -86,7 +86,7 @@ public interface Objective {
@@ -1829,7 +1829,7 @@ index 22b1dc5fd4d453161a5ee520072f8e8f955b3a80..a625bcab8e77b05b3341a52c708fae15
boolean isModifiable();
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
-index 52e8be769d2e9b69e9833bc9a7fe39afd10c5095..4d2b8e10263802432dfeac72666487f9547cd2c5 100644
+index 284468fd3d310a7acdffa31f0f6593f5a98419ba..38deee00cfe2f6803070e98cd9ded95d859bf8e1 100644
--- a/src/main/java/org/bukkit/scoreboard/Team.java
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
@@ -265,7 +265,7 @@ public interface Team extends net.kyori.adventure.audience.ForwardingAudience {
diff --git a/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch b/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch
index c751b7334b..4811a851cf 100644
--- a/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch
+++ b/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch
@@ -10,11 +10,11 @@ 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 c414ccf03572d48f5c096516fc60a59bb1e8efd7..e9bac744c5b173e6767e2de8480a6697969fdbb0 100644
+index 64916d17ee81cf2eaec7fbac1cb071db3b3eb258..55f4a6efa7dfb64f131f735f92356d01e7cc775a 100644
--- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java
+++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java
@@ -31,6 +31,7 @@ public class ShapedRecipe extends CraftingRecipe {
- @Deprecated
+ @Deprecated(since = "1.12")
public ShapedRecipe(@NotNull ItemStack result) {
this(NamespacedKey.randomKey(), result);
+ new Throwable("Warning: A plugin is creating a recipe using a Deprecated method. This will cause you to receive warnings stating 'Tried to load unrecognized recipe: bukkit:'. Please ask the author to give their recipe a static key using NamespacedKey.").printStackTrace(); // Paper
@@ -22,11 +22,11 @@ index c414ccf03572d48f5c096516fc60a59bb1e8efd7..e9bac744c5b173e6767e2de8480a6697
/**
diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
-index b7f46a048633945dc71e8efec9a7ebeed5832fd7..a7513c1aa09b88e3f99e7db40661fd83e682de96 100644
+index 354af775093fd3a74dac6c64244d8f3464397f72..a9d1f9fc129f757353b879fc5946c4b9299833ea 100644
--- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
+++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
@@ -20,6 +20,7 @@ public class ShapelessRecipe extends CraftingRecipe {
- @Deprecated
+ @Deprecated(since = "1.12")
public ShapelessRecipe(@NotNull ItemStack result) {
this(NamespacedKey.randomKey(), result);
+ new Throwable("Warning: A plugin is creating a recipe using a Deprecated method. This will cause you to receive warnings stating 'Tried to load unrecognized recipe: bukkit:'. Please ask the author to give their recipe a static key using NamespacedKey.").printStackTrace(); // Paper
diff --git a/patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch b/patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch
index 62d576949f..213a9ad3b6 100644
--- a/patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch
+++ b/patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch
@@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo
which commonly cause rate limit issues with Mojang API
diff --git a/src/main/java/org/bukkit/block/Skull.java b/src/main/java/org/bukkit/block/Skull.java
-index b39128bb0ca2d4fe7a254193236c60fb5bfaa7da..5135b8e6028e6926e2711e2dd6ce68b76f468fd7 100644
+index bf2d1b300f1370b33b7a066817074e27b0a86212..6cb7791e97e27812ec816acd709237d4e4f805e4 100644
--- a/src/main/java/org/bukkit/block/Skull.java
+++ b/src/main/java/org/bukkit/block/Skull.java
@@ -63,6 +63,20 @@ public interface Skull extends TileState {
@@ -48,11 +48,11 @@ index b39128bb0ca2d4fe7a254193236c60fb5bfaa7da..5135b8e6028e6926e2711e2dd6ce68b7
/**
diff --git a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
-index 5a18a66a0b7877ec0c1859f78cce659db4b8541a..862640b4611458dfbcd3be797eacd120fc8d1f9f 100644
+index 5af814d3cf87d44f69a20dd867716b5b17046a83..a478b6939d61b5d21628dc894bed9e1eb1de5460 100644
--- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
@@ -38,6 +38,20 @@ public interface SkullMeta extends ItemMeta {
- @Deprecated
+ @Deprecated(since = "1.12.1")
boolean setOwner(@Nullable String owner);
+ // Paper start
diff --git a/patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch b/patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch
index 5159a46def..f853276de2 100644
--- a/patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch
+++ b/patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch
@@ -7,7 +7,7 @@ Co-authored-by: Connor Linfoot
Co-authored-by: MCMDEV
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
-index 004f1fd55c143e6c21be74d0a6b9ee8b2e12cc59..ae02788536d0c6736aba4ccf812844df4f9789f1 100644
+index b2f32debd32f78e7df4851866a47da3ff0d1f015..ff5cca4a7e75274b4b278a48ae1544ff42a9836a 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -22,9 +22,10 @@ public class AsyncPlayerPreLoginEvent extends Event {
@@ -22,7 +22,7 @@ index 004f1fd55c143e6c21be74d0a6b9ee8b2e12cc59..ae02788536d0c6736aba4ccf812844df
+ private final String hostname; // Paper
private final boolean transferred;
- @Deprecated
+ @Deprecated(since = "1.7.5")
@@ -38,12 +39,30 @@ public class AsyncPlayerPreLoginEvent extends Event {
}
diff --git a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
index 90ee598a25..8824804e01 100644
--- a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] Add openSign method to HumanEntity
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
-index 08cef0d9fc27d0c09472cfe7091330d95956d9eb..00b803cee96fef8830e5db8722c98ff14630fd2a 100644
+index b4452d18a530c4c4a9bc10f368aeced9430b42a2..35d72d8ab78ca4095545fab54d6b440c040223eb 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -538,6 +538,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder
*/
- @Deprecated
+ @Deprecated(since = "1.12")
public void setShoulderEntityRight(@Nullable Entity entity);
+ // Paper start - Add method to open already placed sign
+ /**
@@ -36,7 +36,7 @@ index 08cef0d9fc27d0c09472cfe7091330d95956d9eb..00b803cee96fef8830e5db8722c98ff1
/**
* Make the entity drop the item in their hand.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 357e12c91a710751dc5bf3138362c10e5a26db1e..ecc0bbf986b065620910f3592115c0f45e863b98 100644
+index 3611ef03abe9c81cfb956c9957c57e7df05faf32..949b34e9c9f8b4be48c09f80d78d9453f0ff0ee3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3115,10 +3115,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
diff --git a/patches/api/0126-Expand-ArmorStand-API.patch b/patches/api/0126-Expand-ArmorStand-API.patch
index 1fd6df1628..f6088304aa 100644
--- a/patches/api/0126-Expand-ArmorStand-API.patch
+++ b/patches/api/0126-Expand-ArmorStand-API.patch
@@ -152,7 +152,7 @@ index 0000000000000000000000000000000000000000..35b493b870240f2cb142ea0c3bc2a5b2
+
+}
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
-index 2ee3814a52945f541e049b621b9552f8ae9e261d..575d58d96445e9ef3711cd6613471d5fe17bbb10 100644
+index 38538ad590f33c67cf63ed3bfb177e172f4dc43c..6303eb0836f55dd2e80f84a91568699f2f6f3b6c 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -14,7 +14,7 @@ public interface ArmorStand extends LivingEntity {
@@ -163,7 +163,7 @@ index 2ee3814a52945f541e049b621b9552f8ae9e261d..575d58d96445e9ef3711cd6613471d5f
+ * @deprecated prefer {@link ArmorStand#getItem(EquipmentSlot)} // Paper
*/
@NotNull
- @Deprecated
+ @Deprecated(since = "1.15.2")
@@ -26,7 +26,7 @@ public interface ArmorStand extends LivingEntity {
* @param item the item to hold
* @see #getEquipment()
@@ -171,7 +171,7 @@ index 2ee3814a52945f541e049b621b9552f8ae9e261d..575d58d96445e9ef3711cd6613471d5f
- * {@link EntityEquipment#setItemInHand(org.bukkit.inventory.ItemStack)}
+ * {@link ArmorStand#setItem(EquipmentSlot, ItemStack)} // Paper
*/
- @Deprecated
+ @Deprecated(since = "1.15.2")
void setItemInHand(@Nullable ItemStack item);
@@ -379,5 +379,169 @@ public interface ArmorStand extends LivingEntity {
* @param tick {@code true} if this armour stand can tick, {@code false} otherwise
diff --git a/patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index 28494eb9d4..82d263b9e0 100644
--- a/patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
@@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
-index a9d63b1630b05b86a0396355fcfee261bab96293..d81701f0128bdeca180ff9957621f695c787f334 100644
+index 11b470b07a8b5d9e7f87df5abe9bd4f5bf9f86ef..9facde856fa9b1b8f2a6198a1b541b819ea12518 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -223,7 +223,9 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@@ -31,7 +31,7 @@ index a9d63b1630b05b86a0396355fcfee261bab96293..d81701f0128bdeca180ff9957621f695
/**
@@ -246,6 +248,30 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@Nullable
- @Deprecated
+ @Deprecated(since = "1.20.4")
public Location getBedSpawnLocation();
+ // Paper start
+ /**
diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
index bc117b0fdf..cecb58ef75 100644
--- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
@@ -12,7 +12,7 @@ that continues to have use (internally).
These do not help plugin developers if they bring moise noise than value.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index f9067281bd5f1ac11dcb9cc2e19f3c5f17face21..03e836b9c2e6d141396cfe4a0034c5dcdcaf9e90 100644
+index e0b22dd1124f02a78e5adfcf2179eadebff1dba6..0d743a27e0955af7b1baee49ce7e62e993a0a8b8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -883,9 +883,8 @@ public final class Bukkit {
@@ -21,8 +21,8 @@ index f9067281bd5f1ac11dcb9cc2e19f3c5f17face21..03e836b9c2e6d141396cfe4a0034c5dc
* @return a map view if it exists, or null otherwise
- * @deprecated Magic value
*/
-- @Deprecated
-+ //@Deprecated // Paper - Not a magic value
+- @Deprecated(since = "1.6.2")
++ // @Deprecated(since = "1.6.2") // Paper - Not a magic value
@Nullable
public static MapView getMap(int id) {
return server.getMap(id);
@@ -48,8 +48,8 @@ index f9067281bd5f1ac11dcb9cc2e19f3c5f17face21..03e836b9c2e6d141396cfe4a0034c5dc
- * @deprecated Persistent storage of users should be by UUID as names are no longer
- * unique past a single session.
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.7.5")
++ // @Deprecated(since = "1.7.5") // Paper
@NotNull
public static OfflinePlayer getOfflinePlayer(@NotNull String name) {
return server.getOfflinePlayer(name);
@@ -63,7 +63,7 @@ index f9067281bd5f1ac11dcb9cc2e19f3c5f17face21..03e836b9c2e6d141396cfe4a0034c5dc
return server.getScoreboardManager();
}
diff --git a/src/main/java/org/bukkit/CoalType.java b/src/main/java/org/bukkit/CoalType.java
-index c07499dbdd49d70717dbd674d97b6dbcfd7e9d5b..039b71c6471d00123226edda0fe839fd946029c4 100644
+index 082632bcfa16342abf811aae30fcb280029ca1cf..ede570814963a0fb93e2e5affa54439880cd685b 100644
--- a/src/main/java/org/bukkit/CoalType.java
+++ b/src/main/java/org/bukkit/CoalType.java
@@ -7,6 +7,7 @@ import org.jetbrains.annotations.Nullable;
@@ -75,7 +75,7 @@ index c07499dbdd49d70717dbd674d97b6dbcfd7e9d5b..039b71c6471d00123226edda0fe839fd
COAL(0x0),
CHARCOAL(0x1);
diff --git a/src/main/java/org/bukkit/CropState.java b/src/main/java/org/bukkit/CropState.java
-index fb4832fb796a38c0f5f51cf80a67259924f2c607..a4f88f4420b855a08f98b77fa1ff35dcec9da8a9 100644
+index c36e0ffe9b1d637d2fe3192a21f585e44437f48b..9420e919088392c6aac4114356af7a2096478195 100644
--- a/src/main/java/org/bukkit/CropState.java
+++ b/src/main/java/org/bukkit/CropState.java
@@ -7,6 +7,7 @@ import org.jetbrains.annotations.Nullable;
@@ -87,7 +87,7 @@ index fb4832fb796a38c0f5f51cf80a67259924f2c607..a4f88f4420b855a08f98b77fa1ff35dc
/**
diff --git a/src/main/java/org/bukkit/Difficulty.java b/src/main/java/org/bukkit/Difficulty.java
-index 3f6cbefc2b1414ba2dad709e79288013b3ef73be..f35801783538d3377b04131b8bf6effd7eb8e1a5 100644
+index c1f1f29b70311ae51e4ce1be455b6557eb5fcc06..f35801783538d3377b04131b8bf6effd7eb8e1a5 100644
--- a/src/main/java/org/bukkit/Difficulty.java
+++ b/src/main/java/org/bukkit/Difficulty.java
@@ -44,9 +44,9 @@ public enum Difficulty {
@@ -97,7 +97,7 @@ index 3f6cbefc2b1414ba2dad709e79288013b3ef73be..f35801783538d3377b04131b8bf6effd
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public int getValue() {
return value;
@@ -109,13 +109,13 @@ index 3f6cbefc2b1414ba2dad709e79288013b3ef73be..f35801783538d3377b04131b8bf6effd
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static Difficulty getByValue(final int value) {
return BY_ID.get(value);
diff --git a/src/main/java/org/bukkit/DyeColor.java b/src/main/java/org/bukkit/DyeColor.java
-index bd213cabddd8752e609544f24cfba95405726155..47df858e095c4423c20e49e029d72f0f50d2c924 100644
+index 807747db77d1e4d008c3e4086f9bf65415020cad..2f038f233afd4210687586800070d5f61e40562a 100644
--- a/src/main/java/org/bukkit/DyeColor.java
+++ b/src/main/java/org/bukkit/DyeColor.java
@@ -96,9 +96,9 @@ public enum DyeColor {
@@ -125,7 +125,7 @@ index bd213cabddd8752e609544f24cfba95405726155..47df858e095c4423c20e49e029d72f0f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getWoolData() {
return woolData;
@@ -137,7 +137,7 @@ index bd213cabddd8752e609544f24cfba95405726155..47df858e095c4423c20e49e029d72f0f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static DyeColor getByWoolData(final byte data) {
@@ -149,13 +149,13 @@ index bd213cabddd8752e609544f24cfba95405726155..47df858e095c4423c20e49e029d72f0f
- * @deprecated legacy use only
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.13")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@NotNull
public static DyeColor legacyValueOf(@Nullable String name) {
return "SILVER".equals(name) ? DyeColor.LIGHT_GRAY : DyeColor.valueOf(name);
diff --git a/src/main/java/org/bukkit/Effect.java b/src/main/java/org/bukkit/Effect.java
-index 0d0777771485a76d960da2f16e963b19d2cf6c2d..fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38 100644
+index c19620185026b8a6c535c9d328473699ad15a26e..d63395e588ec0d2ce7303379c9bee56cf7c33064 100644
--- a/src/main/java/org/bukkit/Effect.java
+++ b/src/main/java/org/bukkit/Effect.java
@@ -357,9 +357,9 @@ public enum Effect {
@@ -165,7 +165,7 @@ index 0d0777771485a76d960da2f16e963b19d2cf6c2d..fd9cf25f2fdef5ee3b7143f27e5f43df
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public int getId() {
return this.id;
@@ -177,13 +177,13 @@ index 0d0777771485a76d960da2f16e963b19d2cf6c2d..fd9cf25f2fdef5ee3b7143f27e5f43df
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static Effect getById(int id) {
return BY_ID.get(id);
diff --git a/src/main/java/org/bukkit/EntityEffect.java b/src/main/java/org/bukkit/EntityEffect.java
-index 9db85b2f6ffd56bbc4db1f75f8769f1c15d5950f..5341957b10cccd7bce5a7595699b1d90412a01d0 100644
+index 5b8dc0c5c2c062f8fe7bff9546c2cb5ed6c714c2..d7ccccdf3f5e2c572efd528a92e240ec6ea60028 100644
--- a/src/main/java/org/bukkit/EntityEffect.java
+++ b/src/main/java/org/bukkit/EntityEffect.java
@@ -345,9 +345,9 @@ public enum EntityEffect {
@@ -193,13 +193,13 @@ index 9db85b2f6ffd56bbc4db1f75f8769f1c15d5950f..5341957b10cccd7bce5a7595699b1d90
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getData() {
return data;
}
diff --git a/src/main/java/org/bukkit/GameMode.java b/src/main/java/org/bukkit/GameMode.java
-index 938c3217f92e6d3ef9a637269c469f8359af6347..81e45984a88fc84acd0f76d825abf4ddaed0ac3b 100644
+index 3d693c42a8e277425a768ceaed9b40bc3d6cfba8..81e45984a88fc84acd0f76d825abf4ddaed0ac3b 100644
--- a/src/main/java/org/bukkit/GameMode.java
+++ b/src/main/java/org/bukkit/GameMode.java
@@ -44,9 +44,9 @@ public enum GameMode {
@@ -209,7 +209,7 @@ index 938c3217f92e6d3ef9a637269c469f8359af6347..81e45984a88fc84acd0f76d825abf4dd
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public int getValue() {
return value;
@@ -221,13 +221,13 @@ index 938c3217f92e6d3ef9a637269c469f8359af6347..81e45984a88fc84acd0f76d825abf4dd
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static GameMode getByValue(final int value) {
return BY_ID.get(value);
diff --git a/src/main/java/org/bukkit/GrassSpecies.java b/src/main/java/org/bukkit/GrassSpecies.java
-index f9c9ae463aacd593e3aa9caf037ea1e23d56c780..38ccfd0a1b38e7a87185e668d3c020816c68a66b 100644
+index 9b6d8134f1b1b12e23dcd7e76cba1b78e20e360c..43da0eb033f7cb65e3b2cacd67946bc9dc187678 100644
--- a/src/main/java/org/bukkit/GrassSpecies.java
+++ b/src/main/java/org/bukkit/GrassSpecies.java
@@ -6,7 +6,9 @@ import org.jetbrains.annotations.Nullable;
@@ -272,7 +272,7 @@ index b02efba048be00e42502111fcdd2297529926666..fb4b6f0e908ffa50c3b2f8d04d9f3810
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 6ebf024d5c2d5fc7253319b68ceed212de1cd73d..309a79cbe65498c90d9e135607bc246688ac6274 100644
+index 71302e4bc2a6dd0b6bfdc4355487a8f538aceaea..3913d0392131375d3e3b34c9da3dbbb341c8eb3b 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -4867,20 +4867,20 @@ public enum Material implements Keyed, Translatable {
@@ -282,7 +282,7 @@ index 6ebf024d5c2d5fc7253319b68ceed212de1cd73d..309a79cbe65498c90d9e135607bc2466
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @ApiStatus.Internal // Paper
public int getId() {
Preconditions.checkArgument(legacy, "Cannot get ID of Modern Material");
@@ -295,8 +295,8 @@ index 6ebf024d5c2d5fc7253319b68ceed212de1cd73d..309a79cbe65498c90d9e135607bc2466
*
* @return legacy status
*/
-- @Deprecated
-+ // @Deprecated // Paper - this is useful, don't deprecate
+- @Deprecated(since = "1.13")
++ // @Deprecated(since = "1.13") // Paper - this is useful, don't deprecate
public boolean isLegacy() {
return legacy;
}
@@ -324,7 +324,7 @@ index 6ebf024d5c2d5fc7253319b68ceed212de1cd73d..309a79cbe65498c90d9e135607bc2466
BlockType type = asBlockType();
return type != null && type.isInteractable();
diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java
-index 9b61129c3ef83d0bfceba54aba2effa12bc90678..cbdaa121dbc1876d0cd55f4b7b57f283ecaa8f1a 100644
+index 499c2293fe2eea3eaf7ede476e836704e13e5a02..ceb1009252e25e244baab9208b7494666aebc508 100644
--- a/src/main/java/org/bukkit/NamespacedKey.java
+++ b/src/main/java/org/bukkit/NamespacedKey.java
@@ -74,12 +74,14 @@ public final class NamespacedKey implements net.kyori.adventure.key.Key { // Pap
@@ -361,7 +361,7 @@ index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..d6c09d88189b3e9ecc629d8cf18a2b81
/**
diff --git a/src/main/java/org/bukkit/Note.java b/src/main/java/org/bukkit/Note.java
-index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f7f412399 100644
+index 3ecd0f34b7221bd80305f6cbf4a0e8397b7ba0a2..aff858346776386f1288b648b221404f7f412399 100644
--- a/src/main/java/org/bukkit/Note.java
+++ b/src/main/java/org/bukkit/Note.java
@@ -39,9 +39,9 @@ public class Note {
@@ -371,7 +371,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getId() {
return getId(false);
@@ -383,7 +383,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getId(boolean sharped) {
byte id = (byte) (sharped && sharpable ? this.id + 1 : this.id);
@@ -395,7 +395,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public boolean isSharped(byte id) {
if (id == getId(false)) {
@@ -407,7 +407,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static Tone getById(byte id) {
@@ -419,7 +419,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getId() {
return note;
@@ -456,7 +456,7 @@ index f0e806865910578110f4794f7ebe93640516e7c1..b4f297f90e3c1deaa1fc3f4418418588
Preconditions.checkArgument(input != null, "input must not be null");
diff --git a/src/main/java/org/bukkit/SandstoneType.java b/src/main/java/org/bukkit/SandstoneType.java
-index 6277451c3c6c551078c237cd767b6d70c4f585ea..7d33b3e2f81c14d3aeb800b39e7823831ecc39e4 100644
+index 2306c5a6a6e3f27e580b024d5418c4944c75e881..d2ea2c81f94093414399512e289cea6c12855ec2 100644
--- a/src/main/java/org/bukkit/SandstoneType.java
+++ b/src/main/java/org/bukkit/SandstoneType.java
@@ -6,7 +6,9 @@ import org.jetbrains.annotations.Nullable;
@@ -470,7 +470,7 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..7d33b3e2f81c14d3aeb800b39e782383
CRACKED(0x0),
GLYPHED(0x1),
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 2719461e49a74f979d49dea9c664dfe3da8d2c8e..44ebe899f4278b8f7422385710bdc180375475fd 100644
+index 7b5f6091c8e930526a2a5346a02b52912c38e2af..03d6e69b1771b1aabc22d680d8123239f7863e20 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -744,9 +744,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -479,8 +479,8 @@ index 2719461e49a74f979d49dea9c664dfe3da8d2c8e..44ebe899f4278b8f7422385710bdc180
* @return a map view if it exists, or null otherwise
- * @deprecated Magic value
*/
-- @Deprecated
-+ //@Deprecated // Paper - Not a magic value
+- @Deprecated(since = "1.6.2")
++ // @Deprecated(since = "1.6.2") // Paper - Not a magic value
@Nullable
public MapView getMap(int id);
@@ -506,8 +506,8 @@ index 2719461e49a74f979d49dea9c664dfe3da8d2c8e..44ebe899f4278b8f7422385710bdc180
- * @deprecated Persistent storage of users should be by UUID as names are no longer
- * unique past a single session.
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.7.5")
++ // @Deprecated(since = "1.7.5") // Paper
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
@@ -521,33 +521,33 @@ index 2719461e49a74f979d49dea9c664dfe3da8d2c8e..44ebe899f4278b8f7422385710bdc180
/**
diff --git a/src/main/java/org/bukkit/SkullType.java b/src/main/java/org/bukkit/SkullType.java
-index 49f2f1128892fa991ed18785cd954b07ddd8e51a..08a946aaf29726d19be970c19d0bbbc59dd21efe 100644
+index 9b9769429470d7a3ac9c4498f896dd26d0474570..d2135724fb175674b4649b9e775d762d7fcc897e 100644
--- a/src/main/java/org/bukkit/SkullType.java
+++ b/src/main/java/org/bukkit/SkullType.java
@@ -4,7 +4,7 @@ package org.bukkit;
* Represents the different types of skulls.
* @deprecated check {@link Material} instead
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.13")
++@Deprecated(since = "1.13", forRemoval = true)
public enum SkullType {
SKELETON,
WITHER,
diff --git a/src/main/java/org/bukkit/TreeSpecies.java b/src/main/java/org/bukkit/TreeSpecies.java
-index 01285301621c88c9e383e18c46eabd302341a338..57e010a57f804bd9f2a78710d6f52928ad476197 100644
+index 9203f396c84746c584f760987d4a47377633b0e7..abbe7c3b2984dc03098780d5678553685ea78dc4 100644
--- a/src/main/java/org/bukkit/TreeSpecies.java
+++ b/src/main/java/org/bukkit/TreeSpecies.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.Nullable;
*
* @deprecated Deprecated, see usage methods for replacement(s)
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.19")
+-@Deprecated(since = "1.19")
++@Deprecated(since = "1.19", forRemoval = true)
public enum TreeSpecies {
/**
diff --git a/src/main/java/org/bukkit/UndefinedNullability.java b/src/main/java/org/bukkit/UndefinedNullability.java
-index 4d4265c237179470e1fd017721a8dd595f114013..3babc9df26276300392d3f92ee6e317c33643b0b 100644
+index 3f0ea49056c4bc8aeb8e59743807e72baea554cc..ce93ac1ada2c4058733c1952f6df8324fc78774b 100644
--- a/src/main/java/org/bukkit/UndefinedNullability.java
+++ b/src/main/java/org/bukkit/UndefinedNullability.java
@@ -14,6 +14,7 @@ import org.jetbrains.annotations.ApiStatus;
@@ -556,7 +556,7 @@ index 4d4265c237179470e1fd017721a8dd595f114013..3babc9df26276300392d3f92ee6e317c
@Retention(RetentionPolicy.CLASS)
+@java.lang.annotation.Documented // Paper
@ApiStatus.Internal
- @Deprecated
+ @Deprecated(since = "1.13.2")
public @interface UndefinedNullability {
diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java
index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114306c57cb 100644
@@ -590,7 +590,7 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114
return origin;
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index a8fe8c2f4327f0bee60eeac565620117f3fde2ee..7ef12976430272d814374ee066e975457111b7f3 100644
+index 10e9981c9068c39dfdda5c9f82558d481288a8c6..85900b9f41379d9c8366ae9f2f9e94f54f504ffb 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -418,9 +418,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -599,8 +599,8 @@ index a8fe8c2f4327f0bee60eeac565620117f3fde2ee..7ef12976430272d814374ee066e97545
*
- * @deprecated This method is not guaranteed to work suitably across all client implementations.
*/
-- @Deprecated
-+ //@Deprecated // Paper
+- @Deprecated(since = "1.8")
++ // @Deprecated(since = "1.8") // Paper
public boolean refreshChunk(int x, int z);
/**
@@ -631,7 +631,7 @@ index a8fe8c2f4327f0bee60eeac565620117f3fde2ee..7ef12976430272d814374ee066e97545
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public int getId() {
return id;
@@ -643,13 +643,13 @@ index a8fe8c2f4327f0bee60eeac565620117f3fde2ee..7ef12976430272d814374ee066e97545
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static Environment getEnvironment(int id) {
return lookup.get(id);
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index bb3cf2c5e2acbcd7cf53ad8551a5b11fa6104ada..e4393f2bd71308a58305cb870271d6a647ffcd92 100644
+index a5b03162e5c0484db57d0ce0e57e945840fe1357..2566c7bb9e770483abdd3398af13179dc747b682 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -526,7 +526,7 @@ public interface Block extends Metadatable, Translatable {
@@ -662,7 +662,7 @@ index bb3cf2c5e2acbcd7cf53ad8551a5b11fa6104ada..e4393f2bd71308a58305cb870271d6a6
/**
* Returns if the given item is a preferred choice to break this Block.
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
-index 3e07fc1bc0e08d0cfd998711c7fd547b2b7b6b73..f4a739d8022d19a7ae0ee9bf93eb5c4846b4bd40 100644
+index dd1e7b71d7d332b3e22189c7e0eda6d47ec49e55..555d0492c2fcf85c1e2f95f145b974cb75bc5ecc 100644
--- a/src/main/java/org/bukkit/block/BlockState.java
+++ b/src/main/java/org/bukkit/block/BlockState.java
@@ -36,8 +36,10 @@ public interface BlockState extends Metadatable {
@@ -687,7 +687,7 @@ index 3e07fc1bc0e08d0cfd998711c7fd547b2b7b6b73..f4a739d8022d19a7ae0ee9bf93eb5c48
/**
diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java
-index cd575a28733a101b3b18ecdeb28ce474413045d6..5ba088456e2c647a719c4ee1e6f006f5c1cca651 100644
+index aea98cddf2433fff6066124f880bb80e1c32fa17..f5b047345639cf8e55354cc514d18fd80ff1b712 100644
--- a/src/main/java/org/bukkit/block/BlockType.java
+++ b/src/main/java/org/bukkit/block/BlockType.java
@@ -3576,9 +3576,14 @@ public interface BlockType extends Keyed, Translatable {
@@ -719,7 +719,7 @@ index 4bd127b3646307398e0c937c3e36ab671235b72b..f2557a87f468ee20c2d276dbfc0e9a97
/**
diff --git a/src/main/java/org/bukkit/block/PistonMoveReaction.java b/src/main/java/org/bukkit/block/PistonMoveReaction.java
-index b90f5dc345ad2cdd3ae353dc57f42a14c231d18a..a7b915ded9154d53ac8ca599119c1699cfca2265 100644
+index c171f89ea418a3c4eb64436d08486df56d7cf74f..a7b915ded9154d53ac8ca599119c1699cfca2265 100644
--- a/src/main/java/org/bukkit/block/PistonMoveReaction.java
+++ b/src/main/java/org/bukkit/block/PistonMoveReaction.java
@@ -48,9 +48,9 @@ public enum PistonMoveReaction {
@@ -729,7 +729,7 @@ index b90f5dc345ad2cdd3ae353dc57f42a14c231d18a..a7b915ded9154d53ac8ca599119c1699
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public int getId() {
return this.id;
@@ -741,38 +741,38 @@ index b90f5dc345ad2cdd3ae353dc57f42a14c231d18a..a7b915ded9154d53ac8ca599119c1699
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static PistonMoveReaction getById(int id) {
return byId.get(id);
diff --git a/src/main/java/org/bukkit/block/SuspiciousSand.java b/src/main/java/org/bukkit/block/SuspiciousSand.java
-index a7c4e4baf14dd64e454028002c1c5d4f83ec1659..53c61cfa4c2cdc3adfe1c5b43fb15eebeb4b74d1 100644
+index 3b5f6341c8ffdd356084462c86f26b1d2ddc512f..b223318c48812ca5ee82b8970c59fa19af9c7044 100644
--- a/src/main/java/org/bukkit/block/SuspiciousSand.java
+++ b/src/main/java/org/bukkit/block/SuspiciousSand.java
@@ -5,6 +5,6 @@ package org.bukkit.block;
*
* @see BrushableBlock
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.20")
+-@Deprecated(since = "1.20")
++@Deprecated(since = "1.20", forRemoval = true)
public interface SuspiciousSand extends BrushableBlock {
}
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
-index 378ef178bdcf0d71b5d80fc5028ce738437f9391..25985a3872ac142c0a3b2fb2dc5387ecdd3ff5b3 100644
+index 4d8defb32544c4cb972d257f58e4eabbc14a2176..3ba81dc0e6bb907ca0ff2215ec1ac68ef0726352 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -263,7 +263,7 @@ public abstract class Enchantment implements Keyed, Translatable {
* @deprecated enchantment groupings are now managed by tags, not categories
*/
@NotNull
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.5") @org.jetbrains.annotations.Contract("-> fail") // Paper
+- @Deprecated(since = "1.20.5")
++ @Deprecated(since = "1.20.5", forRemoval = true) @org.jetbrains.annotations.Contract("-> fail") // Paper
public abstract EnchantmentTarget getItemTarget();
/**
diff --git a/src/main/java/org/bukkit/entity/AbstractArrow.java b/src/main/java/org/bukkit/entity/AbstractArrow.java
-index 493f81ba879d1eb29a32722da27e4ff7ce4c68a8..8bf9bf7940d2911486e9d3a4f688cfae3f6173f2 100644
+index c901990454ec930169b0dc561987bea101f9b6ae..ebb6976aba314f592459cdfa49f6c15079207fd2 100644
--- a/src/main/java/org/bukkit/entity/AbstractArrow.java
+++ b/src/main/java/org/bukkit/entity/AbstractArrow.java
@@ -157,7 +157,7 @@ public interface AbstractArrow extends Projectile {
@@ -809,7 +809,7 @@ index 3afe2787de576f7190d87c796bea0ab34dc30248..875817b807c9f515eb07b03cc85d3689
/**
diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java
-index 17d9669be0eb48e54b230ad15e66463167cfb7d6..e758a13ea84f472dcdf7fe31e2ea23c0e554c4c7 100644
+index 10c957a6bb6227d6c6109085a3b8c3fa5944277c..122ee01c4664617bb1b691d5ff24427abdbedcf2 100644
--- a/src/main/java/org/bukkit/entity/EntityType.java
+++ b/src/main/java/org/bukkit/entity/EntityType.java
@@ -428,9 +428,9 @@ public enum EntityType implements Keyed, Translatable {
@@ -819,7 +819,7 @@ index 17d9669be0eb48e54b230ad15e66463167cfb7d6..e758a13ea84f472dcdf7fe31e2ea23c0
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Contract("null -> null")
@Nullable
@@ -838,7 +838,7 @@ index bd718c1cf6f20cd716d2fac11556437b4a5aab2e..586ac8abbd1a0f2724fdfadc01370cb6
/**
diff --git a/src/main/java/org/bukkit/entity/LightningStrike.java b/src/main/java/org/bukkit/entity/LightningStrike.java
-index b27447d7a2833f84cf05946c851f5b6740a578e3..5afeb2f6c82e8f752229462c2d7846f6ae7a4b44 100644
+index 186d0bbfca0320c1b3b18733254ddda6b7e6940c..608628b6328e4235fe2be0e4189babb5188361aa 100644
--- a/src/main/java/org/bukkit/entity/LightningStrike.java
+++ b/src/main/java/org/bukkit/entity/LightningStrike.java
@@ -84,6 +84,10 @@ public interface LightningStrike extends Entity {
@@ -866,7 +866,7 @@ index b27447d7a2833f84cf05946c851f5b6740a578e3..5afeb2f6c82e8f752229462c2d7846f6
// Spigot end
}
diff --git a/src/main/java/org/bukkit/entity/LingeringPotion.java b/src/main/java/org/bukkit/entity/LingeringPotion.java
-index bafef53c1d449135f1300c8c8fbb06f482ba67e1..f50aaddf8582be55fd4860ad374d8f2206991897 100644
+index 949ba8410cf89f0d31fc72ac05b5aa929919d9e2..ad8519ab9b4198b09a8c4d6e08deae7c066b0ee0 100644
--- a/src/main/java/org/bukkit/entity/LingeringPotion.java
+++ b/src/main/java/org/bukkit/entity/LingeringPotion.java
@@ -3,7 +3,8 @@ package org.bukkit.entity;
@@ -877,11 +877,11 @@ index bafef53c1d449135f1300c8c8fbb06f482ba67e1..f50aaddf8582be55fd4860ad374d8f22
+ * @deprecated should not be used for anything, use {@link ThrownPotion} and
+ * set the potion via the methods there.
*/
--@Deprecated
-+@Deprecated(forRemoval = true) // Paper
+-@Deprecated(since = "1.20.5")
++@Deprecated(since = "1.20.5", forRemoval = true) // Paper
public interface LingeringPotion extends ThrownPotion { }
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 9e0137ea412ec8c65b2903a76499ba8222446ea3..db7dafba43b50146a32d749ec043c5d548b0d6e3 100644
+index 775f18abe007edc73ed60eb45f84bd79912f9331..72b83dedf025ef971b89e2c6a19fd411488948b7 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -716,7 +716,9 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -898,8 +898,8 @@ index 9e0137ea412ec8c65b2903a76499ba8222446ea3..db7dafba43b50146a32d749ec043c5d5
* @deprecated entity groupings are now managed by tags, not categories
*/
@NotNull
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.5") @org.jetbrains.annotations.Contract("-> fail") // Paper
+- @Deprecated(since = "1.20.5")
++ @Deprecated(since = "1.20.5", forRemoval = true) @org.jetbrains.annotations.Contract("-> fail") // Paper
public EntityCategory getCategory();
/**
@@ -942,7 +942,7 @@ index 60522888bc320ba0a55655532e19185fac816bd1..4aa07d4edb2c81d0ae7999b30ad53ff8
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 76ffe308ae2e3bc36c0e7e1a98adc4b307f4211f..80e894e3d625cde14bfe881d2c367b43a4882cfd 100644
+index f84c55b9a93aae762ed28cc536eccbd7a503177a..70fef7c72b4ea24b8fd3bd99cb8f6f37b3b9832b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1680,11 +1680,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -959,15 +959,15 @@ index 76ffe308ae2e3bc36c0e7e1a98adc4b307f4211f..80e894e3d625cde14bfe881d2c367b43
/**
diff --git a/src/main/java/org/bukkit/entity/Projectile.java b/src/main/java/org/bukkit/entity/Projectile.java
-index 906b33b7569fff5dd78258f9765e879180a52834..06e3ad9cd8f39de0ef6ead794df1492415bc4302 100644
+index 22d6dfdd8a271d067ab3493f35289a34b16ac310..fe64f4e87a0f600b5f1522f788f78ccfc5d7c7ea 100644
--- a/src/main/java/org/bukkit/entity/Projectile.java
+++ b/src/main/java/org/bukkit/entity/Projectile.java
@@ -29,7 +29,7 @@ public interface Projectile extends Entity {
* @return true if it should bounce.
* @deprecated does not do anything
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true)
+- @Deprecated(since = "1.20.2")
++ @Deprecated(since = "1.20.2", forRemoval = true)
public boolean doesBounce();
/**
@@ -975,12 +975,12 @@ index 906b33b7569fff5dd78258f9765e879180a52834..06e3ad9cd8f39de0ef6ead794df14924
* @param doesBounce whether or not it should bounce.
* @deprecated does not do anything
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true)
+- @Deprecated(since = "1.20.2")
++ @Deprecated(since = "1.20.2", forRemoval = true)
public void setBounce(boolean doesBounce);
}
diff --git a/src/main/java/org/bukkit/entity/SplashPotion.java b/src/main/java/org/bukkit/entity/SplashPotion.java
-index 9cb08fe7201a9f91e88c7b1ee22c17889a7bf1c3..c0fcfccdf476106b48e626a099658c04244ebff8 100644
+index e706a78e3a74a564bfc3f0c4777aa6add5a91be9..c4702ce06d73118f03a1827cbc652cbff6e59d9b 100644
--- a/src/main/java/org/bukkit/entity/SplashPotion.java
+++ b/src/main/java/org/bukkit/entity/SplashPotion.java
@@ -3,7 +3,8 @@ package org.bukkit.entity;
@@ -991,8 +991,8 @@ index 9cb08fe7201a9f91e88c7b1ee22c17889a7bf1c3..c0fcfccdf476106b48e626a099658c04
+ * @deprecated should not be used for anything, use {@link ThrownPotion} and
+ * set the potion via the methods there.
*/
--@Deprecated
-+@Deprecated(forRemoval = true) // Paper
+-@Deprecated(since = "1.14")
++@Deprecated(since = "1.14", forRemoval = true) // Paper
public interface SplashPotion extends ThrownPotion { }
diff --git a/src/main/java/org/bukkit/entity/ZombieVillager.java b/src/main/java/org/bukkit/entity/ZombieVillager.java
index 7cc1d9a966454af70b7c25735fe474fe3eb97eb4..e38f38ebfc6e85f29b09c4bb3e2ea79639078ad0 100644
@@ -1071,7 +1071,7 @@ index f4efb2190ae4b1fa1823d5c97ad518c6d34f0a1a..3d6c0ecc70a748b8508b55513f9d5fa6
super(theBlock);
this.result = result;
diff --git a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java
-index 7ae338bcecff2ce25939035181457ced505b3a49..27564727edbd9f093e3a021ce6f30e1146a8ddbb 100644
+index 4c8f388897ff9ddd077695172622c5550651858b..5a56eeb4bdb340920306d03014e536cceb568147 100644
--- a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java
+++ b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java
@@ -23,7 +23,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab
@@ -1245,7 +1245,7 @@ index 80a0a4ad813d6453b30273d25942e6612bb05c1b..18bb808e73c7a78f367ccdb44d5fe12b
this.inventory = inventory;
this.containerType = containerType;
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
-index f2a2a2ad9930499c5bf624e73571a3294a90db14..c8540a42ab44647fdd112ce4f731f3dc0df552f4 100644
+index 5832c610e4fad1372e70dc01bd04ba684a89b492..ff2d64550d8d834fb8e0e859bee5a8ff3329701e 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
@@ -88,7 +88,7 @@ public class InventoryClickEvent extends InventoryInteractEvent {
@@ -1258,15 +1258,15 @@ index f2a2a2ad9930499c5bf624e73571a3294a90db14..c8540a42ab44647fdd112ce4f731f3dc
return getView().getCursor();
}
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
-index 3e6ac5beb137efd8ecd80e2e9b17015cb38e8a0a..ae4ae1fa6d407665ef03edcdef683d741668acf1 100644
+index f80d5bc893efd8846365b4677ef1407158b1abc8..06e037ce94b368b3685ab04ba46c1ab5e5479dbb 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -155,7 +155,7 @@ public enum InventoryType {
*
* @deprecated use {@link #SMITHING}
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true) // Paper
+- @Deprecated(since = "1.20.1")
++ @Deprecated(since = "1.20.1", forRemoval = true) // Paper
SMITHING_NEW(4, "Upgrade Gear", MenuType.SMITHING),
;
@@ -1359,7 +1359,7 @@ index 6bafc62e2235a6b783cbf96f4dabeeaf02bd5178..50c762d777ac90a05772501a28cacff8
cancelledCollision = cancel;
}
diff --git a/src/main/java/org/bukkit/generator/ChunkGenerator.java b/src/main/java/org/bukkit/generator/ChunkGenerator.java
-index c0b749a5bbf4980d01fed74768bb61909b579cb9..7e7a53b41013f1bf8956c0e278820f18d77b2f0d 100644
+index b4dab4cf521c7fb067e88d985572f12d14a2c8df..4e8d0b2f7364c8d5b6c272f566f8d40ce6b4ceb9 100644
--- a/src/main/java/org/bukkit/generator/ChunkGenerator.java
+++ b/src/main/java/org/bukkit/generator/ChunkGenerator.java
@@ -656,7 +656,9 @@ public abstract class ChunkGenerator {
@@ -1431,7 +1431,7 @@ index df81bac9ecff697f98941e5c8490e10391e90090..a32977ba3ba60a1c9aee6e469d5d6cd1
/**
* Get the current recipe formed on the crafting inventory, if any.
diff --git a/src/main/java/org/bukkit/inventory/EntityEquipment.java b/src/main/java/org/bukkit/inventory/EntityEquipment.java
-index 2dde946443fee1f6e79b882cbcb448549dc0c99c..127302aa7c22f59438de66fffa0b03ae84a2a8ad 100644
+index 720038083f8c8ab1f29ac424f2d9dbb5cbc8b533..97c8b338f83f409a652fbaec5105e98b8af751e2 100644
--- a/src/main/java/org/bukkit/inventory/EntityEquipment.java
+++ b/src/main/java/org/bukkit/inventory/EntityEquipment.java
@@ -525,6 +525,6 @@ public interface EntityEquipment {
@@ -1443,7 +1443,7 @@ index 2dde946443fee1f6e79b882cbcb448549dc0c99c..127302aa7c22f59438de66fffa0b03ae
Entity getHolder();
}
diff --git a/src/main/java/org/bukkit/inventory/FurnaceRecipe.java b/src/main/java/org/bukkit/inventory/FurnaceRecipe.java
-index 1d442dc16cbb0fed21714d47007f3f11e30c57d4..af8f7b88edf0fa790edcf16356a030c4834f531e 100644
+index 82d4d0329adda9766ddf2eada3b3684dfef3f32e..d76fbab349a6bfa0ae8b8959d19145ce9b41c7bd 100644
--- a/src/main/java/org/bukkit/inventory/FurnaceRecipe.java
+++ b/src/main/java/org/bukkit/inventory/FurnaceRecipe.java
@@ -67,8 +67,10 @@ public class FurnaceRecipe extends CookingRecipe {
@@ -1500,7 +1500,7 @@ index f1a48eab1a357ae64545e1f1dc941c383cff8707..466d1bd7089b76f48f953e1a51c611ec
/**
* Checks if the inventory contains any ItemStacks with the given
diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java
-index ebc14022c9ef9b0b3331ee53e96a32667e4762e0..5c258b6077277575daa5d96349837bdf06f42500 100644
+index 0b5e2f4760a43a7a8d3de7bca557027822145a18..5c258b6077277575daa5d96349837bdf06f42500 100644
--- a/src/main/java/org/bukkit/inventory/InventoryView.java
+++ b/src/main/java/org/bukkit/inventory/InventoryView.java
@@ -123,9 +123,9 @@ public interface InventoryView {
@@ -1510,7 +1510,7 @@ index ebc14022c9ef9b0b3331ee53e96a32667e4762e0..5c258b6077277575daa5d96349837bdf
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public int getId() {
return id;
@@ -1564,7 +1564,7 @@ index c1ec8efffd5ff2a4dcb1d761be9a431a62284607..a1d8ef8eda3c0256e8c82b7a01c3e7b1
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index d125d29759167996a90b7b69d92d944e80af22ab..e9c29fc1db686b80bc2477d78ec2b361b8600b9e 100644
+index 080d9a9e26131eb43649104c3d59691308f79fe7..132cf07816b0d356c94fa4e8b8bfefccce2de103 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -10,6 +10,7 @@ import org.bukkit.Material;
@@ -1579,8 +1579,8 @@ index d125d29759167996a90b7b69d92d944e80af22ab..e9c29fc1db686b80bc2477d78ec2b361
* @param data the data value or null
* @deprecated this method uses an ambiguous data byte object
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.13")
+- @Deprecated(since = "1.4.5")
++ @Deprecated(since = "1.4.5", forRemoval = true)
public ItemStack(@NotNull Material type, final int amount, final short damage, @Nullable final Byte data) {
Preconditions.checkArgument(type != null, "Material cannot be null");
if (type.isLegacy()) {
@@ -1615,7 +1615,7 @@ index d125d29759167996a90b7b69d92d944e80af22ab..e9c29fc1db686b80bc2477d78ec2b361
return this.meta == null ? Bukkit.getItemFactory().getItemMeta(this.type) : this.meta.clone();
}
diff --git a/src/main/java/org/bukkit/inventory/PlayerInventory.java b/src/main/java/org/bukkit/inventory/PlayerInventory.java
-index 476fe14faa39f02444cab8ad95d4401033dc6938..2c54660dc1fbc7c1232096797a23cae1262888e9 100644
+index b1f4b8f2666e8012eb8a1e21a2b958fe6e03f74f..4294e9296fed42d01b431dbabec97fda26308530 100644
--- a/src/main/java/org/bukkit/inventory/PlayerInventory.java
+++ b/src/main/java/org/bukkit/inventory/PlayerInventory.java
@@ -16,8 +16,7 @@ public interface PlayerInventory extends Inventory {
@@ -1651,7 +1651,7 @@ index 476fe14faa39f02444cab8ad95d4401033dc6938..2c54660dc1fbc7c1232096797a23cae1
/**
diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java
-index fa03cf187db29896f5af046b311f67881aee0ff4..295d82dd73b600e9436d2bbec0e11dbeaf78bbf4 100644
+index 90b58219ca99dfd4368119183bb414e51c0f0dd1..af540a218d92ca44f5f1bdecdb9ca9f89a7b1ef2 100644
--- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java
+++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java
@@ -107,8 +107,10 @@ public class ShapedRecipe extends CraftingRecipe {
@@ -1676,7 +1676,7 @@ index fa03cf187db29896f5af046b311f67881aee0ff4..295d82dd73b600e9436d2bbec0e11dbe
public Map getIngredientMap() {
HashMap result = new HashMap();
diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
-index 63a233cc819d8d6995d14b9dbfabc14d89af54cc..3bf5064cd6ceb05ea98b18993da46c67be140115 100644
+index d4a9572a0fedee8993d32ca006a28a242d148e36..449f1ea47f8e5d8aa09e0db3dbfe75a6c05158ef 100644
--- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
+++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java
@@ -44,8 +44,10 @@ public class ShapelessRecipe extends CraftingRecipe {
@@ -1748,7 +1748,7 @@ index 597a18a767b68b47e81454b7d44613c7178c1366..bc3440eb72127824b3961fbdae583bb6
public ItemStack getInput() {
return this.ingredient.getItemStack();
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 480dd9a5ff334e6f32b98aa0108ff02e6f7077ab..59e1987f0f0accef369cc29dbec464185eb7c99c 100644
+index c81465e35808135329495fc4669d5616421451b7..6ef3b220c7e8d0eef50b70eba02e1484ac440cb3 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -151,6 +151,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@@ -1785,7 +1785,7 @@ index 480dd9a5ff334e6f32b98aa0108ff02e6f7077ab..59e1987f0f0accef369cc29dbec46418
/**
diff --git a/src/main/java/org/bukkit/inventory/meta/MapMeta.java b/src/main/java/org/bukkit/inventory/meta/MapMeta.java
-index 32055a8890425e0b819930f3059da5ea9dfca553..26a336dade83baee97d20eb39a058925659f5777 100644
+index 8b0b36cd2ef2efc4bb68bb725c62117fe5b9c838..721164c26c5e219f854f65ab150a46670f4d33bd 100644
--- a/src/main/java/org/bukkit/inventory/meta/MapMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/MapMeta.java
@@ -16,13 +16,8 @@ public interface MapMeta extends ItemMeta {
@@ -1798,8 +1798,8 @@ index 32055a8890425e0b819930f3059da5ea9dfca553..26a336dade83baee97d20eb39a058925
- * for example will generate a new map with a different ID). The xxxMapView
- * family of methods should be used instead.
*/
-- @Deprecated
-+ //@Deprecated // Paper
+- @Deprecated(since = "1.13.2")
++ //@Deprecated(since = "1.13.2") // Paper
boolean hasMapId();
/**
@@ -1813,8 +1813,8 @@ index 32055a8890425e0b819930f3059da5ea9dfca553..26a336dade83baee97d20eb39a058925
- * for example will generate a new map with a different ID). The xxxMapView
- * family of methods should be used instead.
*/
-- @Deprecated
-+ //@Deprecated // Paper
+- @Deprecated(since = "1.13.2")
++ // @Deprecated(since = "1.13.2") // Paper
int getMapId();
/**
@@ -1832,7 +1832,7 @@ index c56e81eb71bccc03378aea71096fdf66b4bfa784..16713c9d4cfaed5ad509b4075121e44c
/**
diff --git a/src/main/java/org/bukkit/map/MapCanvas.java b/src/main/java/org/bukkit/map/MapCanvas.java
-index edef478786bb7456af29ca960009873095830050..e8ac449e6280827beb6d2699df75b1d52a922c9b 100644
+index fcad167c03dd4f59702142a38ff5bf79ed198031..e63f9586e1cfefd8d1ab4a784444240f42e7b204 100644
--- a/src/main/java/org/bukkit/map/MapCanvas.java
+++ b/src/main/java/org/bukkit/map/MapCanvas.java
@@ -95,9 +95,9 @@ public interface MapCanvas {
@@ -1842,8 +1842,8 @@ index edef478786bb7456af29ca960009873095830050..e8ac449e6280827beb6d2699df75b1d5
- * @deprecated Magic value, use {@link #getPixelColor(int, int)}
+ * @deprecated use {@link #getPixelColor(int, int)}
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.19")
++ @Deprecated(since = "1.19", forRemoval = true) // Paper
public byte getPixel(int x, int y);
/**
@@ -1854,13 +1854,13 @@ index edef478786bb7456af29ca960009873095830050..e8ac449e6280827beb6d2699df75b1d5
- * @deprecated Magic value, use {@link #getBasePixelColor(int, int)}
+ * @deprecated use {@link #getBasePixelColor(int, int)}
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.19")
++ @Deprecated(since = "1.19", forRemoval = true) // Paper
public byte getBasePixel(int x, int y);
/**
diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java
-index 871adbf2f9015dffac9edc3ce35aa6acd3b75526..0899981b9ab1f98dacc617156d12779421e4c275 100644
+index 8de6d0c53bce0279a82b84b408e83d2128077400..bd1c0417fbf72731e6301bf79966c6ea4102fc70 100644
--- a/src/main/java/org/bukkit/map/MapCursor.java
+++ b/src/main/java/org/bukkit/map/MapCursor.java
@@ -163,9 +163,9 @@ public final class MapCursor {
@@ -1870,7 +1870,7 @@ index 871adbf2f9015dffac9edc3ce35aa6acd3b75526..0899981b9ab1f98dacc617156d127794
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getRawType() {
return type.getValue();
@@ -1882,8 +1882,8 @@ index 871adbf2f9015dffac9edc3ce35aa6acd3b75526..0899981b9ab1f98dacc617156d127794
- * @deprecated Magic value
+ * @deprecated use {@link #setType(Type)}
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
public void setRawType(byte type) {
Type enumType = Type.byValue(type);
Preconditions.checkArgument(enumType != null, "Unknown type by id %s", type);
@@ -1894,7 +1894,7 @@ index 871adbf2f9015dffac9edc3ce35aa6acd3b75526..0899981b9ab1f98dacc617156d127794
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
byte getValue();
@@ -1906,13 +1906,13 @@ index 871adbf2f9015dffac9edc3ce35aa6acd3b75526..0899981b9ab1f98dacc617156d127794
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
static Type byValue(byte value) {
for (Type t : values()) {
diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java
-index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..c80faa079eca1564847070f0338fc98024639829 100644
+index 13000c247e3e1a345832e6bd2d4f6074ef2a1b88..448f37249d21ecb321f53956878fe62293ed34ae 100644
--- a/src/main/java/org/bukkit/map/MapPalette.java
+++ b/src/main/java/org/bukkit/map/MapPalette.java
@@ -197,9 +197,9 @@ public final class MapPalette {
@@ -1922,8 +1922,8 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..c80faa079eca1564847070f0338fc980
- * @deprecated Magic value
+ * @deprecated use color-related methods
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
@NotNull
public static byte[] imageToBytes(@NotNull Image image) {
BufferedImage temp = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
@@ -1934,8 +1934,8 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..c80faa079eca1564847070f0338fc980
- * @deprecated Magic value
+ * @deprecated use color-related methods
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
public static byte matchColor(int r, int g, int b) {
return matchColor(new Color(r, g, b));
}
@@ -1946,8 +1946,8 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..c80faa079eca1564847070f0338fc980
- * @deprecated Magic value
+ * @deprecated use color-related methods
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
public static byte matchColor(@NotNull Color color) {
if (color.getAlpha() < 128) return 0;
@@ -1958,8 +1958,8 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..c80faa079eca1564847070f0338fc980
- * @deprecated Magic value
+ * @deprecated use color directly
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
@NotNull
public static Color getColor(byte index) {
// Minecraft has 143 colors, some of which have negative byte representations
@@ -1970,13 +1970,13 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..c80faa079eca1564847070f0338fc980
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.19")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
byte matchColor(@NotNull Color color);
}
}
diff --git a/src/main/java/org/bukkit/map/MapView.java b/src/main/java/org/bukkit/map/MapView.java
-index 9b8b68b66dc15b06800251702c2722623c8462a0..e998c5d871e02564c24260a8205dcfafb6e703d9 100644
+index 73bca3d371d4fe7033bb062d5f42ea4efd40d913..e998c5d871e02564c24260a8205dcfafb6e703d9 100644
--- a/src/main/java/org/bukkit/map/MapView.java
+++ b/src/main/java/org/bukkit/map/MapView.java
@@ -32,9 +32,9 @@ public interface MapView {
@@ -1986,7 +1986,7 @@ index 9b8b68b66dc15b06800251702c2722623c8462a0..e998c5d871e02564c24260a8205dcfaf
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static Scale valueOf(byte value) {
@@ -1998,437 +1998,437 @@ index 9b8b68b66dc15b06800251702c2722623c8462a0..e998c5d871e02564c24260a8205dcfaf
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getValue() {
return value;
}
diff --git a/src/main/java/org/bukkit/material/Banner.java b/src/main/java/org/bukkit/material/Banner.java
-index 08ce9d8bc6dcd9beec5f75c1b7cd5d98e8c9e168..e1a87c09b90618aacaf728ebdc5a13e255200fef 100644
+index cd78e2c35d44ad5fa53947f84f818ef54e5d84fa..e3c2711690459326b875f6f94a2c34a19421d5ed 100644
--- a/src/main/java/org/bukkit/material/Banner.java
+++ b/src/main/java/org/bukkit/material/Banner.java
@@ -7,7 +7,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
+-@Deprecated(since = "1.14.1")
+@Deprecated(forRemoval = true, since = "1.13")
public class Banner extends MaterialData implements Attachable {
public Banner() {
diff --git a/src/main/java/org/bukkit/material/Bed.java b/src/main/java/org/bukkit/material/Bed.java
-index c5256129e00a63d2699fbae213470ed7197c4571..54c89d319940a39b3439e3af09d87c21112a8486 100644
+index ff49e6e5b5f75d0a421908445a0c19d2de19b64e..5aafea9c6bbda2ff4282e321ae8815ef46d78e9f 100644
--- a/src/main/java/org/bukkit/material/Bed.java
+++ b/src/main/java/org/bukkit/material/Bed.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
+-@Deprecated(since = "1.14.1")
+@Deprecated(forRemoval = true, since = "1.13")
public class Bed extends MaterialData implements Directional {
/**
diff --git a/src/main/java/org/bukkit/material/Button.java b/src/main/java/org/bukkit/material/Button.java
-index da7d016cf118932c9cc9ddcfb4a2abd4b4356fb5..3c3d867911b6424d03094d3cc1056dd291825dce 100644
+index 794dc81d0b7cad8c4a5c12389f5f19b8e1835a94..6c708737865440442aeaf818e7700c2998d95309 100644
--- a/src/main/java/org/bukkit/material/Button.java
+++ b/src/main/java/org/bukkit/material/Button.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
+-@Deprecated(since = "1.14.1")
+@Deprecated(forRemoval = true, since = "1.13")
public class Button extends SimpleAttachableMaterialData implements Redstone {
public Button() {
super(Material.LEGACY_STONE_BUTTON);
diff --git a/src/main/java/org/bukkit/material/Cake.java b/src/main/java/org/bukkit/material/Cake.java
-index d39dd491626cd84f83169cf5c2135d05516d77f2..f14ebe07bf898e54a7f0cbe740c02cf5e1851d41 100644
+index 5fd7b198e812b028dfa90271ccb59c1822a8b683..0d0d41c184652d8b34cf36cacbc8c3910ee579b7 100644
--- a/src/main/java/org/bukkit/material/Cake.java
+++ b/src/main/java/org/bukkit/material/Cake.java
@@ -6,7 +6,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Cake extends MaterialData {
public Cake() {
super(Material.LEGACY_CAKE_BLOCK);
diff --git a/src/main/java/org/bukkit/material/Cauldron.java b/src/main/java/org/bukkit/material/Cauldron.java
-index b331b4c27e58d766dd1759062c9c198c348a58bb..d43caa8d64396a16d6e00cbf0d05cb291fa20c2e 100644
+index a72c74400a5e0b97ba0e88b99dbbf5e90e4f92e0..b8a15af79f9fdf0a948d6a0172bb9f250ed8ce3b 100644
--- a/src/main/java/org/bukkit/material/Cauldron.java
+++ b/src/main/java/org/bukkit/material/Cauldron.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Cauldron extends MaterialData {
private static final int CAULDRON_FULL = 3;
private static final int CAULDRON_EMPTY = 0;
diff --git a/src/main/java/org/bukkit/material/Chest.java b/src/main/java/org/bukkit/material/Chest.java
-index 4d120d3c33566606ff7d8b03c32341bf2ac147c4..89bb1a34d620d6c39901a315629bc8f43f3d3181 100644
+index 302bf01e8b0eafdddab940cfe9d3d894329ce8f9..a07e320f3d7a32d11f3bb1c136ca2574dd9cf40f 100644
--- a/src/main/java/org/bukkit/material/Chest.java
+++ b/src/main/java/org/bukkit/material/Chest.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Chest extends DirectionalContainer {
public Chest() {
diff --git a/src/main/java/org/bukkit/material/Coal.java b/src/main/java/org/bukkit/material/Coal.java
-index fb842cfa7bf29ca6c670fc98e7deecaab31c71f2..f6c61c9005046386c3e8f36b0144f1c9c83f7e9c 100644
+index bc60ab8bda785798b36873596e6c186556ef73b3..bdb8345371cd64ec8bf17174ec9d874341572527 100644
--- a/src/main/java/org/bukkit/material/Coal.java
+++ b/src/main/java/org/bukkit/material/Coal.java
@@ -9,7 +9,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Coal extends MaterialData {
public Coal() {
super(Material.LEGACY_COAL);
diff --git a/src/main/java/org/bukkit/material/CocoaPlant.java b/src/main/java/org/bukkit/material/CocoaPlant.java
-index b1b1c729d182b676d8ea69a8d3c942c6820863dd..f2baf516ea97de4ce55915cee0507f2c07e2f9d5 100644
+index db1cdd8e26c71ca16b195307f4ba5b57b341cf9f..bebb09bca0565d18c4028ff6aa7a52fa4ff63c7a 100644
--- a/src/main/java/org/bukkit/material/CocoaPlant.java
+++ b/src/main/java/org/bukkit/material/CocoaPlant.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class CocoaPlant extends MaterialData implements Directional, Attachable {
public enum CocoaPlantSize {
diff --git a/src/main/java/org/bukkit/material/Command.java b/src/main/java/org/bukkit/material/Command.java
-index bcac1b08294569b218722278568b7106e1ce48f3..e8ac121789e8f3b3fe8982a660ed702f5e3a36c7 100644
+index c83abea1a81bacc8973004f31388c985e1ed70f4..d7953e28d050c03d37146484c0c5b346dd0bc84d 100644
--- a/src/main/java/org/bukkit/material/Command.java
+++ b/src/main/java/org/bukkit/material/Command.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Command extends MaterialData implements Redstone {
public Command() {
super(Material.LEGACY_COMMAND);
diff --git a/src/main/java/org/bukkit/material/Comparator.java b/src/main/java/org/bukkit/material/Comparator.java
-index 49d32d54438ad689bc7768342dc84d31e5f30285..7dcb7097119c0e170f29f04ff30d145966d78a1b 100644
+index 047f571be36e9f3862d04836b47d2168d6d91013..ec3a9ee830694162a31857b8c3559e76fada049a 100644
--- a/src/main/java/org/bukkit/material/Comparator.java
+++ b/src/main/java/org/bukkit/material/Comparator.java
@@ -12,7 +12,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Comparator extends MaterialData implements Directional, Redstone {
protected static final BlockFace DEFAULT_DIRECTION = BlockFace.NORTH;
protected static final boolean DEFAULT_SUBTRACTION_MODE = false;
diff --git a/src/main/java/org/bukkit/material/Crops.java b/src/main/java/org/bukkit/material/Crops.java
-index 4cf3de5fbba8617bc8edab9ca1c0ddee8033ed09..c73724d7b3ece146da6f7dd67167e7cd01fa3977 100644
+index b76c144f4497ced42212916cff112161926a41c8..1de6ad1dc1c0aaa3e3d2877c61afc772eb46c634 100644
--- a/src/main/java/org/bukkit/material/Crops.java
+++ b/src/main/java/org/bukkit/material/Crops.java
@@ -15,7 +15,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Crops extends MaterialData {
protected static final Material DEFAULT_TYPE = Material.LEGACY_CROPS;
protected static final CropState DEFAULT_STATE = CropState.SEEDED;
diff --git a/src/main/java/org/bukkit/material/DetectorRail.java b/src/main/java/org/bukkit/material/DetectorRail.java
-index e8ab2904214f160c56aa01bc106d96f59042e706..6c7c021e654ab020d4a1638d2e9d8b438ea70fdd 100644
+index 3a46eea9120999a91b3127daa8fe3b0f456e35fe..234132a9e85a1a76ceaba4744fecc4c6afcdf7d5 100644
--- a/src/main/java/org/bukkit/material/DetectorRail.java
+++ b/src/main/java/org/bukkit/material/DetectorRail.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class DetectorRail extends ExtendedRails implements PressureSensor {
public DetectorRail() {
super(Material.LEGACY_DETECTOR_RAIL);
diff --git a/src/main/java/org/bukkit/material/Diode.java b/src/main/java/org/bukkit/material/Diode.java
-index 36a62258bcdea8136672ef6b2313a3877b3c724c..490f345cfd2e9e0da151bc81f52c50b41c5933ca 100644
+index 1576aaab7f06fc34c5ffa3a2b0ee797d67c19cbb..68c1e05726cf5b6bdc81cfdc8b0364ac91858649 100644
--- a/src/main/java/org/bukkit/material/Diode.java
+++ b/src/main/java/org/bukkit/material/Diode.java
@@ -13,7 +13,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Diode extends MaterialData implements Directional, Redstone {
protected static final BlockFace DEFAULT_DIRECTION = BlockFace.NORTH;
diff --git a/src/main/java/org/bukkit/material/DirectionalContainer.java b/src/main/java/org/bukkit/material/DirectionalContainer.java
-index 0190e5f3df5b86a0d8f912baf0570a4f54853829..6a8ec139c03a6dcdfcb8f55e5fac55f1c0c43156 100644
+index c862d36ff2593b56e29f795c2d114a44afc17eec..aac0197ff88853c21f9eaa084c25c24846c26168 100644
--- a/src/main/java/org/bukkit/material/DirectionalContainer.java
+++ b/src/main/java/org/bukkit/material/DirectionalContainer.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class DirectionalContainer extends MaterialData implements Directional {
public DirectionalContainer(final Material type) {
diff --git a/src/main/java/org/bukkit/material/Dispenser.java b/src/main/java/org/bukkit/material/Dispenser.java
-index b12993a93781bd8a3d218a0dd102e357996ee79e..49e56116f0b224033c25b797e9c28011bbd9cf8f 100644
+index 340f372a9288811e9a650b55fad127d4887ec91c..c676d03b1313812a33fbead3fe4745223a00489e 100644
--- a/src/main/java/org/bukkit/material/Dispenser.java
+++ b/src/main/java/org/bukkit/material/Dispenser.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Dispenser extends FurnaceAndDispenser {
public Dispenser() {
diff --git a/src/main/java/org/bukkit/material/Door.java b/src/main/java/org/bukkit/material/Door.java
-index d04ece5abab7a22abc4283d3043a52d4286d4103..48de4417c835db433e7a0884330b11a7afc39303 100644
+index a92da22234dea8543bc1180eb4f2942ddcc4061e..0205e134f608b6f9c674595c55e699dde1edbf35 100644
--- a/src/main/java/org/bukkit/material/Door.java
+++ b/src/main/java/org/bukkit/material/Door.java
@@ -22,7 +22,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Door extends MaterialData implements Directional, Openable {
// This class breaks API contracts on Directional and Openable because
diff --git a/src/main/java/org/bukkit/material/Dye.java b/src/main/java/org/bukkit/material/Dye.java
-index f34f23da74013006ec453b539bb10751dcb3ecee..b2cc9c9173742c9f88bb78b0fb2e2138db95e80c 100644
+index 72d494631a4779f5b2147492a0dc8085b4b388b8..11375c51c0ed3493642335e1c8ef2d6c36987735 100644
--- a/src/main/java/org/bukkit/material/Dye.java
+++ b/src/main/java/org/bukkit/material/Dye.java
@@ -9,7 +9,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Dye extends MaterialData implements Colorable {
public Dye() {
super(Material.LEGACY_INK_SACK);
diff --git a/src/main/java/org/bukkit/material/EnderChest.java b/src/main/java/org/bukkit/material/EnderChest.java
-index ad232cacd94230fbcabb894cf35d540aff1d8662..f621a3ba0056db8a1b5b734252aad676214b4128 100644
+index 65f286a7ca3ebd98a9b0e2cd89b4775e769beaad..1d49f78e32eba67a21b4e7f23d3bb1d0f8532711 100644
--- a/src/main/java/org/bukkit/material/EnderChest.java
+++ b/src/main/java/org/bukkit/material/EnderChest.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class EnderChest extends DirectionalContainer {
public EnderChest() {
diff --git a/src/main/java/org/bukkit/material/ExtendedRails.java b/src/main/java/org/bukkit/material/ExtendedRails.java
-index 9b2577f7b5bab678d9e491323772ce616181ade3..fcea4a5169d1535b0696783fa73c05494702770d 100644
+index cbbf953b746c27ea2e30324ecea26543fa397cbb..23a329c7cef93f7f146edac9b0829f82aec4f76a 100644
--- a/src/main/java/org/bukkit/material/ExtendedRails.java
+++ b/src/main/java/org/bukkit/material/ExtendedRails.java
@@ -10,7 +10,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class ExtendedRails extends Rails {
public ExtendedRails(final Material type) {
diff --git a/src/main/java/org/bukkit/material/FlowerPot.java b/src/main/java/org/bukkit/material/FlowerPot.java
-index 6101e33288dded9ce871fe6c6f0b36c895d7214a..8fe99e15203cca6ed6b238ec3a7b57670940fbfb 100644
+index 45ebe2671b01fdd918dd6254d48dc35d0f46a899..5bf2cc1baeb9a7fd329cb49f34b8ba6cef4a4862 100644
--- a/src/main/java/org/bukkit/material/FlowerPot.java
+++ b/src/main/java/org/bukkit/material/FlowerPot.java
@@ -10,7 +10,7 @@ import org.bukkit.TreeSpecies;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.9.4")
++@Deprecated(since = "1.13", forRemoval = true)
public class FlowerPot extends MaterialData {
/**
diff --git a/src/main/java/org/bukkit/material/Furnace.java b/src/main/java/org/bukkit/material/Furnace.java
-index 380f7f4b1f3adaa59c3202db02221abec2678fd7..338b37fbbbb165399cfd45ed109bd18cdf5a14b9 100644
+index 7bfc7c6edb6fea760dc568932da6ba4716b7f995..9cd029934d40e9490ef6309fb50b066fc19623a0 100644
--- a/src/main/java/org/bukkit/material/Furnace.java
+++ b/src/main/java/org/bukkit/material/Furnace.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Furnace extends FurnaceAndDispenser {
public Furnace() {
diff --git a/src/main/java/org/bukkit/material/FurnaceAndDispenser.java b/src/main/java/org/bukkit/material/FurnaceAndDispenser.java
-index effa0d8a95ccbd58aa2b85a27cfccb4787e71422..e627c8ff419086a3bae221c65eeb2ec9453ab075 100644
+index b7fb6cf424becdfc356e0ea2c57b7fd38ccdf0b2..119dca552267b1ca0b566ddff1f8e70253af5f56 100644
--- a/src/main/java/org/bukkit/material/FurnaceAndDispenser.java
+++ b/src/main/java/org/bukkit/material/FurnaceAndDispenser.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class FurnaceAndDispenser extends DirectionalContainer {
public FurnaceAndDispenser(final Material type) {
diff --git a/src/main/java/org/bukkit/material/Gate.java b/src/main/java/org/bukkit/material/Gate.java
-index fc67fc59a75410f7aa70609ebc9538bfdecdd403..52d468ae5b21ea00b20314731ca26542d64e455b 100644
+index 10c259338f16d2a0e8b18a79b4f159f1fb782d3f..441a796cbb546e4a577f7189ea463614c6028281 100644
--- a/src/main/java/org/bukkit/material/Gate.java
+++ b/src/main/java/org/bukkit/material/Gate.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Gate extends MaterialData implements Directional, Openable {
private static final byte OPEN_BIT = 0x4;
private static final byte DIR_BIT = 0x3;
diff --git a/src/main/java/org/bukkit/material/Hopper.java b/src/main/java/org/bukkit/material/Hopper.java
-index cfd32666c274383204dee9f9734ffb06184d2aaa..9983f53d05b5edc7a6bb54eaf65733639ccfa883 100644
+index b5fc3746c8c6c72656a17880823c26e49b23c1d2..69abe65bca9562382c4307be497fb41fe38ce935 100644
--- a/src/main/java/org/bukkit/material/Hopper.java
+++ b/src/main/java/org/bukkit/material/Hopper.java
@@ -12,7 +12,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Hopper extends MaterialData implements Directional, Redstone {
protected static final BlockFace DEFAULT_DIRECTION = BlockFace.DOWN;
diff --git a/src/main/java/org/bukkit/material/Ladder.java b/src/main/java/org/bukkit/material/Ladder.java
-index de263530823aa8c1ae8b4a9bd2497d7239156384..dcccad5a6a517fb5e2409363751e9f94fdc24241 100644
+index ab607ae626ef6832955d25126285998d007013e4..ada73c2576e112926fa573e0665fa2879e8056bd 100644
--- a/src/main/java/org/bukkit/material/Ladder.java
+++ b/src/main/java/org/bukkit/material/Ladder.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Ladder extends SimpleAttachableMaterialData {
public Ladder() {
super(Material.LEGACY_LADDER);
diff --git a/src/main/java/org/bukkit/material/Leaves.java b/src/main/java/org/bukkit/material/Leaves.java
-index 923a794ac1d2f43b680165dfddb4119faf5ecdd1..75c52aeb4fc01dfc83a3985249d4d577d3aec578 100644
+index 69f47d00f17a8de564fc7d7903df7624d7872db2..f9dd206a4070dd9d24ad97616da7de81b9607f0b 100644
--- a/src/main/java/org/bukkit/material/Leaves.java
+++ b/src/main/java/org/bukkit/material/Leaves.java
@@ -13,7 +13,7 @@ import org.bukkit.TreeSpecies;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Leaves extends Wood {
protected static final Material DEFAULT_TYPE = Material.LEGACY_LEAVES;
protected static final boolean DEFAULT_DECAYABLE = true;
diff --git a/src/main/java/org/bukkit/material/Lever.java b/src/main/java/org/bukkit/material/Lever.java
-index 09f290f8898914b77f89c1546f285a6e6212499e..9ed20612235775c6e6f93b1cea5d2b7e73c2aa83 100644
+index e2add49ce34b46c24154cd9f0c5a755a2013cddf..1c1b36ea1ca646a3624c19c837cf4292da8c2464 100644
--- a/src/main/java/org/bukkit/material/Lever.java
+++ b/src/main/java/org/bukkit/material/Lever.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Lever extends SimpleAttachableMaterialData implements Redstone {
public Lever() {
super(Material.LEGACY_LEVER);
diff --git a/src/main/java/org/bukkit/material/LongGrass.java b/src/main/java/org/bukkit/material/LongGrass.java
-index 497857ec37482ff477eab77d680b2a1bec52ea14..1c683ad7c4c72671e74c5d2d4b5f872adc9f9021 100644
+index 5b7f21fff6570b848f21b6bf0a2806ac4f85ae3f..4db8006dc4210d416f1ea296528e458655f7824d 100644
--- a/src/main/java/org/bukkit/material/LongGrass.java
+++ b/src/main/java/org/bukkit/material/LongGrass.java
@@ -9,7 +9,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class LongGrass extends MaterialData {
public LongGrass() {
super(Material.LEGACY_LONG_GRASS);
diff --git a/src/main/java/org/bukkit/material/MaterialData.java b/src/main/java/org/bukkit/material/MaterialData.java
-index ccaddb87922b3afe22a350a3e5e5e7af86b2f398..b2b04456590b86a755b392a1ab4d88fa49f2b2bb 100644
+index 4b778e828f6d1b6b9cbb766ae7681f586812f1ec..874559af354ca12166f239882d95c74056f8d57f 100644
--- a/src/main/java/org/bukkit/material/MaterialData.java
+++ b/src/main/java/org/bukkit/material/MaterialData.java
@@ -9,7 +9,7 @@ import org.bukkit.inventory.ItemStack;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.13")
++@Deprecated(since = "1.13", forRemoval = true)
public class MaterialData implements Cloneable {
private final Material type;
private byte data = 0;
diff --git a/src/main/java/org/bukkit/material/MonsterEggs.java b/src/main/java/org/bukkit/material/MonsterEggs.java
-index 2fac218f1e237d4b867c1e6215fe40151dcceaf0..4f450808ead1464b8cb7192bfaa8005ccb5e3d0c 100644
+index 3c25dd940ebe0c8b1b091a7062073c093f150bd3..8fc242e4eb98af9b40bc54e1436b568d7890987c 100644
--- a/src/main/java/org/bukkit/material/MonsterEggs.java
+++ b/src/main/java/org/bukkit/material/MonsterEggs.java
@@ -10,7 +10,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class MonsterEggs extends TexturedMaterial {
private static final List textures = new ArrayList();
diff --git a/src/main/java/org/bukkit/material/Mushroom.java b/src/main/java/org/bukkit/material/Mushroom.java
-index 8927b307adcc3c98aa96caea38ea2eb9338e284e..e219d29fde408d464015f51dc64b93a929e48320 100644
+index 6e41bddacbe82e8c9195f3a5f270d211924d8c58..a05959f97390525bd6881770a3087093a7089cad 100644
--- a/src/main/java/org/bukkit/material/Mushroom.java
+++ b/src/main/java/org/bukkit/material/Mushroom.java
@@ -17,7 +17,7 @@ import org.bukkit.material.types.MushroomBlockTexture;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Mushroom extends MaterialData {
private static final byte NORTH_LIMIT = 4;
private static final byte SOUTH_LIMIT = 6;
diff --git a/src/main/java/org/bukkit/material/NetherWarts.java b/src/main/java/org/bukkit/material/NetherWarts.java
-index 1fed8b937a68bfd12d04e04b962e1627c36a074f..3d437cc6b35dbef4819b05326b86dfc926655a2a 100644
+index 1e6f4c6cc4bfd0fc20870251c04920f133239e6b..da784d87d260b9782d8a3a817cb4bdb69f65a867 100644
--- a/src/main/java/org/bukkit/material/NetherWarts.java
+++ b/src/main/java/org/bukkit/material/NetherWarts.java
@@ -9,7 +9,7 @@ import org.bukkit.NetherWartsState;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class NetherWarts extends MaterialData {
public NetherWarts() {
super(Material.LEGACY_NETHER_WARTS);
diff --git a/src/main/java/org/bukkit/material/Observer.java b/src/main/java/org/bukkit/material/Observer.java
-index 843790b331e1ed1db9e46716251851b0782497c1..079b0569332102e3f5c427a5c97c01cb1a609e6c 100644
+index e7ade2dd22826d52f5624fdfba3496c1468af0e9..06c7206b871981c8f874e009aad8167fe572668e 100644
--- a/src/main/java/org/bukkit/material/Observer.java
+++ b/src/main/java/org/bukkit/material/Observer.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Observer extends MaterialData implements Directional, Redstone {
public Observer() {
@@ -2444,80 +2444,80 @@ index 0ae54f973d11df74abb3105cf9226afb130b4f33..df2c2a774155d79ccf6fa7f366fe011a
/**
diff --git a/src/main/java/org/bukkit/material/PistonBaseMaterial.java b/src/main/java/org/bukkit/material/PistonBaseMaterial.java
-index 8165e94339097ac5cf8e27ebc60256c8fefd7d63..e7d05b6873c11f531cbea167ee006942bbc2249b 100644
+index a0fe943735ca40813e2c629407f87471f9f7df3d..2fdd7f2adf34a0ed11235c135bca295601f89a21 100644
--- a/src/main/java/org/bukkit/material/PistonBaseMaterial.java
+++ b/src/main/java/org/bukkit/material/PistonBaseMaterial.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class PistonBaseMaterial extends MaterialData implements Directional, Redstone {
public PistonBaseMaterial(final Material type) {
diff --git a/src/main/java/org/bukkit/material/PistonExtensionMaterial.java b/src/main/java/org/bukkit/material/PistonExtensionMaterial.java
-index e7cfc7158b5d31376ddb8f5415e22e76c6d62f10..9ab0b57a492a6d503ad72d41f3a52b358d73361a 100644
+index 19dfe68e3380165e5f1ce3a5aa506db000d75e32..c87e54ca5a1420ec6212800ab33744cdb8bcab9d 100644
--- a/src/main/java/org/bukkit/material/PistonExtensionMaterial.java
+++ b/src/main/java/org/bukkit/material/PistonExtensionMaterial.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class PistonExtensionMaterial extends MaterialData implements Attachable {
public PistonExtensionMaterial(final Material type) {
diff --git a/src/main/java/org/bukkit/material/PoweredRail.java b/src/main/java/org/bukkit/material/PoweredRail.java
-index feebc5c7359098d41abcccb1f1d8afe2a54a9130..27c8974c8fe68af51960dbad91dd424c9c3bfd17 100644
+index e563c8e53a748bbe42ff8ae867c964444b391519..d24968b9e3067e70cc17a9bd2d9c204787b01d3e 100644
--- a/src/main/java/org/bukkit/material/PoweredRail.java
+++ b/src/main/java/org/bukkit/material/PoweredRail.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class PoweredRail extends ExtendedRails implements Redstone {
public PoweredRail() {
super(Material.LEGACY_POWERED_RAIL);
diff --git a/src/main/java/org/bukkit/material/PressurePlate.java b/src/main/java/org/bukkit/material/PressurePlate.java
-index ffababbc1b1ef1f19e941beb6412457b839e92eb..0d7f0a7d0001ebbf9920e8d2f82786c5dae6d2e8 100644
+index 8827062fcd26741ead93fd2c0614719045034ae1..a04c024a48367ba36a92a6738200c73a855fbfec 100644
--- a/src/main/java/org/bukkit/material/PressurePlate.java
+++ b/src/main/java/org/bukkit/material/PressurePlate.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class PressurePlate extends MaterialData implements PressureSensor {
public PressurePlate() {
super(Material.LEGACY_WOOD_PLATE);
diff --git a/src/main/java/org/bukkit/material/Pumpkin.java b/src/main/java/org/bukkit/material/Pumpkin.java
-index 7c1b5eea0aba649bc9ed6b05836609e7cda314c0..c9241e64ade6e2aac739159c088aa3bee6bdd219 100644
+index 55b0ade2cbf3ba147fbd34768fb95e7eb9398477..49e3442377e1fb89dfdb2ea97a62f16c69bfe5ab 100644
--- a/src/main/java/org/bukkit/material/Pumpkin.java
+++ b/src/main/java/org/bukkit/material/Pumpkin.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Pumpkin extends MaterialData implements Directional {
public Pumpkin() {
diff --git a/src/main/java/org/bukkit/material/Rails.java b/src/main/java/org/bukkit/material/Rails.java
-index 0b041ee66c38cb884a0d69d1cc17df3fe25f7533..de12e71214ed22e40925a1b65260694c80321ff0 100644
+index 8b6b0139da8127d38dfb3b1f3e70ddf530d1788c..852e06835f8bb0982cb260e3660290fb3e6ecf50 100644
--- a/src/main/java/org/bukkit/material/Rails.java
+++ b/src/main/java/org/bukkit/material/Rails.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Rails extends MaterialData {
public Rails() {
@@ -2534,280 +2534,280 @@ index 3e46603f8cd38041394e0e1baf788d9009b3ffc7..eb621f34d0461c9bfe1bd7535344b677
/**
diff --git a/src/main/java/org/bukkit/material/RedstoneTorch.java b/src/main/java/org/bukkit/material/RedstoneTorch.java
-index 40956914366195f8a658952923ea7e92235dc4a8..b46b2dde7cd74abd8e05a5222856efdf551ec2ad 100644
+index 369f1826ecaafdb0ca096e8dd1506f35b8ceb283..9c7f7f72922ccd1ecf9dfba8618d7c618d9cf718 100644
--- a/src/main/java/org/bukkit/material/RedstoneTorch.java
+++ b/src/main/java/org/bukkit/material/RedstoneTorch.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class RedstoneTorch extends Torch implements Redstone {
public RedstoneTorch() {
super(Material.LEGACY_REDSTONE_TORCH_ON);
diff --git a/src/main/java/org/bukkit/material/RedstoneWire.java b/src/main/java/org/bukkit/material/RedstoneWire.java
-index 8877ef48eb8de20b220d40c8068e5da2566d6109..b21be01e753fa16159161ebfea46586ca3895313 100644
+index 01f93fbacc6152a3786a4082e00d92d2c0ce2920..b9a88c4efadcea415ebc65ffeb9df90a929230c3 100644
--- a/src/main/java/org/bukkit/material/RedstoneWire.java
+++ b/src/main/java/org/bukkit/material/RedstoneWire.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class RedstoneWire extends MaterialData implements Redstone {
public RedstoneWire() {
super(Material.LEGACY_REDSTONE_WIRE);
diff --git a/src/main/java/org/bukkit/material/Sandstone.java b/src/main/java/org/bukkit/material/Sandstone.java
-index 8d8673edcd19d03077e7d53388c3ba2e9d80a618..8c52df074acdf51957502782615786d3bb2752ed 100644
+index 6bab43f68a9282106586a63a31a5784e0bbe71e5..302db083d129a91eb24ddc06d835c85ce10bdf9a 100644
--- a/src/main/java/org/bukkit/material/Sandstone.java
+++ b/src/main/java/org/bukkit/material/Sandstone.java
@@ -9,7 +9,7 @@ import org.bukkit.SandstoneType;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Sandstone extends MaterialData {
public Sandstone() {
super(Material.LEGACY_SANDSTONE);
diff --git a/src/main/java/org/bukkit/material/Sapling.java b/src/main/java/org/bukkit/material/Sapling.java
-index c615a0022256887022ba7f347c19005478c35691..93d1bcac74ea8c4159462786865b6512713d5d91 100644
+index 84daf0d756ecfd6d46c9b6398b29ae5994364ce3..9a34ed6241a3b6a170d7e3a3cf52dbd49e82dc1b 100644
--- a/src/main/java/org/bukkit/material/Sapling.java
+++ b/src/main/java/org/bukkit/material/Sapling.java
@@ -11,7 +11,7 @@ import org.bukkit.TreeSpecies;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Sapling extends Wood {
/**
diff --git a/src/main/java/org/bukkit/material/Sign.java b/src/main/java/org/bukkit/material/Sign.java
-index 3b32679b4a670aaaaeb0481265d189a3bb99bdca..d96002acf89e67c6eb29d1d572192d461bb072b3 100644
+index 48cd4599b723b1fe8cab0e2d439773ea31f28569..ed63a98e8902d4f473881777f905fdc8ff9b1293 100644
--- a/src/main/java/org/bukkit/material/Sign.java
+++ b/src/main/java/org/bukkit/material/Sign.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Sign extends MaterialData implements Attachable {
public Sign() {
super(Material.LEGACY_SIGN_POST);
diff --git a/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java b/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java
-index 6267d81ba2e9dde3f8a1063df66940086b4f5fce..2d1b640a8ff5d4492408f64e6b01af9ab0ce839e 100644
+index d9527c6f786f7e9628dcb18afd20f36051d8b922..500eb54ba22f0534a858a4374aae1f62c30b1cdf 100644
--- a/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java
+++ b/src/main/java/org/bukkit/material/SimpleAttachableMaterialData.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public abstract class SimpleAttachableMaterialData extends MaterialData implements Attachable {
public SimpleAttachableMaterialData(Material type, BlockFace direction) {
diff --git a/src/main/java/org/bukkit/material/Skull.java b/src/main/java/org/bukkit/material/Skull.java
-index a73ad62468a9589f78e270a82cd9ac8ff1b240b2..bebe06be7279ce1c14c8c81ee58202f2ca3c3e20 100644
+index 8339519118c24206db38b55f8756941e9f762abc..95a38ab49303ebb38b8dfc0f996d8e786e273aa7 100644
--- a/src/main/java/org/bukkit/material/Skull.java
+++ b/src/main/java/org/bukkit/material/Skull.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Skull extends MaterialData implements Directional {
public Skull() {
super(Material.LEGACY_SKULL);
diff --git a/src/main/java/org/bukkit/material/SmoothBrick.java b/src/main/java/org/bukkit/material/SmoothBrick.java
-index e4812b7cef9847745d147aad87181c4eb903f5df..171771ab8d3a0b095ed74c4da608a61769f6a2f1 100644
+index 0dfbe2891ff9f3a8f18e7e9867b2eab7fb3b4ae0..f97a874360ed0890df8452535698cb9148b57c1a 100644
--- a/src/main/java/org/bukkit/material/SmoothBrick.java
+++ b/src/main/java/org/bukkit/material/SmoothBrick.java
@@ -10,7 +10,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class SmoothBrick extends TexturedMaterial {
private static final List textures = new ArrayList();
diff --git a/src/main/java/org/bukkit/material/SpawnEgg.java b/src/main/java/org/bukkit/material/SpawnEgg.java
-index a177021d259110ebf0c26e5a19cea5d9f6f3a8a8..f14a918b41d61869bc3b4a644011f4d2260c19ae 100644
+index 601bd3cfd38d02d0e8b652c4c4771795cc2349c6..69011a06f0cd695370b63798113e30c4e4039f28 100644
--- a/src/main/java/org/bukkit/material/SpawnEgg.java
+++ b/src/main/java/org/bukkit/material/SpawnEgg.java
@@ -8,7 +8,7 @@ import org.bukkit.inventory.meta.SpawnEggMeta;
* Represents a spawn egg that can be used to spawn mobs
* @deprecated use {@link SpawnEggMeta}
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.11")
++@Deprecated(since = "1.13", forRemoval = true)
public class SpawnEgg extends MaterialData {
public SpawnEgg() {
diff --git a/src/main/java/org/bukkit/material/Stairs.java b/src/main/java/org/bukkit/material/Stairs.java
-index e5db60bd0d5c0d4990d418cf89415274c7698a9d..e7fe9cec387e2c86549cfad086839a241840582d 100644
+index c68a7045b98471ca150a00e977489cb0802eab10..3b3ca6e6e907521b18b7ce74cd5fb2edd58d2371 100644
--- a/src/main/java/org/bukkit/material/Stairs.java
+++ b/src/main/java/org/bukkit/material/Stairs.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Stairs extends MaterialData implements Directional {
public Stairs(final Material type) {
diff --git a/src/main/java/org/bukkit/material/Step.java b/src/main/java/org/bukkit/material/Step.java
-index ea94222120ddd4e692b67cf48b029af9ed0e5835..b7417693ff9efc5d6fc9d1899b0bb03c9664f903 100644
+index dc5eedb278c07e7f447fe8aae7a182d33b05cdfd..2ca3794b697dedec5b34d73104886c51e292575f 100644
--- a/src/main/java/org/bukkit/material/Step.java
+++ b/src/main/java/org/bukkit/material/Step.java
@@ -10,7 +10,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Step extends TexturedMaterial {
private static final List textures = new ArrayList();
static {
diff --git a/src/main/java/org/bukkit/material/TexturedMaterial.java b/src/main/java/org/bukkit/material/TexturedMaterial.java
-index 6e0a834794453eff7b3efc93e90c9bf49ef7c688..fcac4e6aafd906c14683f0ab0843a7b9ca4d62c7 100644
+index 39adc75f7f81075f61a26e775b622ffc4eec4cff..361e2697308fbddc12e3bdbff336d6dfd6f39a25 100644
--- a/src/main/java/org/bukkit/material/TexturedMaterial.java
+++ b/src/main/java/org/bukkit/material/TexturedMaterial.java
@@ -9,7 +9,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public abstract class TexturedMaterial extends MaterialData {
public TexturedMaterial(Material m) {
diff --git a/src/main/java/org/bukkit/material/Torch.java b/src/main/java/org/bukkit/material/Torch.java
-index a4f0c62dcd39f94a68bca8cc76311847118d9ad1..2dafb1bb9779cc25471b5dfc0176a81014e8c840 100644
+index 194cd646221af2dd11f78ca427a7e672120ad1ca..b74e70f89c8a237eac0f0d0c4d5a94bd964a4163 100644
--- a/src/main/java/org/bukkit/material/Torch.java
+++ b/src/main/java/org/bukkit/material/Torch.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Torch extends SimpleAttachableMaterialData {
public Torch() {
super(Material.LEGACY_TORCH);
diff --git a/src/main/java/org/bukkit/material/TrapDoor.java b/src/main/java/org/bukkit/material/TrapDoor.java
-index effedfc714d67254428b548bba74264cdba4ba15..ed8035f3f45d07a08346efeebf206bcfdb083bc6 100644
+index 24b4391a915f5ffd8b236277764c73b25acddfff..3c1082931790b5b65792a04f63f70cd00d2db118 100644
--- a/src/main/java/org/bukkit/material/TrapDoor.java
+++ b/src/main/java/org/bukkit/material/TrapDoor.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class TrapDoor extends SimpleAttachableMaterialData implements Openable {
public TrapDoor() {
super(Material.LEGACY_TRAP_DOOR);
diff --git a/src/main/java/org/bukkit/material/Tree.java b/src/main/java/org/bukkit/material/Tree.java
-index e759f50339903ab10f50bebe56bab5cfe8d9f7e0..4f79b8ac23e4851da9ed41858eafaffa39efb59a 100644
+index 5c733a33633829efc7c6429dcff2ef5146bcc347..0c113a39a6a954a1606c2eeeb236838d341d2388 100644
--- a/src/main/java/org/bukkit/material/Tree.java
+++ b/src/main/java/org/bukkit/material/Tree.java
@@ -13,7 +13,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Tree extends Wood {
protected static final Material DEFAULT_TYPE = Material.LEGACY_LOG;
protected static final BlockFace DEFAULT_DIRECTION = BlockFace.UP;
diff --git a/src/main/java/org/bukkit/material/Tripwire.java b/src/main/java/org/bukkit/material/Tripwire.java
-index e5ffa4db87b435df8c04f1b43521fda6493fd43d..eb667f22b7a143d695cf78219986230c57ab229f 100644
+index 4378b2992b32b730d1cc8fa43a8ac693b9c5e2a6..676d5ebeac4536d37e24ccf2ce4c7a9aa4816c03 100644
--- a/src/main/java/org/bukkit/material/Tripwire.java
+++ b/src/main/java/org/bukkit/material/Tripwire.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Tripwire extends MaterialData {
public Tripwire() {
diff --git a/src/main/java/org/bukkit/material/TripwireHook.java b/src/main/java/org/bukkit/material/TripwireHook.java
-index 80aa1c7bc7a1ef71b51101b154361feff4dcf88e..8a19008272897fa32b0b30504545a9873b82a54c 100644
+index 458a3e9fc2e8f6d2a0a5c665422cee063c521f56..1864bb64d7dd464064fd0f63e7d78d9dd623dced 100644
--- a/src/main/java/org/bukkit/material/TripwireHook.java
+++ b/src/main/java/org/bukkit/material/TripwireHook.java
@@ -9,7 +9,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class TripwireHook extends SimpleAttachableMaterialData implements Redstone {
public TripwireHook() {
diff --git a/src/main/java/org/bukkit/material/Vine.java b/src/main/java/org/bukkit/material/Vine.java
-index 07a4f3b1511e274affe751aad2b9020b49df815f..574b09896f25e42e20c8953e9668cc4edae31348 100644
+index 784ea52519fee07507cd42a449e75afdec72aa66..4cb1d983217ce727f1ad39af1075640ce797a01f 100644
--- a/src/main/java/org/bukkit/material/Vine.java
+++ b/src/main/java/org/bukkit/material/Vine.java
@@ -11,7 +11,7 @@ import org.bukkit.block.BlockFace;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Vine extends MaterialData {
private static final int VINE_NORTH = 0x4;
private static final int VINE_EAST = 0x8;
diff --git a/src/main/java/org/bukkit/material/Wood.java b/src/main/java/org/bukkit/material/Wood.java
-index 5d51c9286dbf71ff4bb8717d5e83431b1815770e..2d4556ce2367395d42d622d94f073de9ae4e4a36 100644
+index 62253cfc84473bfa0028271893a87984385c356b..d139a212f46f970839dec8607c40937e2750cc40 100644
--- a/src/main/java/org/bukkit/material/Wood.java
+++ b/src/main/java/org/bukkit/material/Wood.java
@@ -13,7 +13,7 @@ import org.bukkit.TreeSpecies;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Wood extends MaterialData {
protected static final Material DEFAULT_TYPE = Material.LEGACY_WOOD;
protected static final TreeSpecies DEFAULT_SPECIES = TreeSpecies.GENERIC;
diff --git a/src/main/java/org/bukkit/material/WoodenStep.java b/src/main/java/org/bukkit/material/WoodenStep.java
-index b99a9a304d1c14c187ad2721424d5e5caed90973..827bcd7284919a7f7a71a3ea53c2c67bbbca378b 100644
+index 24990ed25759cd7a77bbd1b88bedb6063d1b3463..df6223d836bbb1ff0233f3071b0464df8ad9616c 100644
--- a/src/main/java/org/bukkit/material/WoodenStep.java
+++ b/src/main/java/org/bukkit/material/WoodenStep.java
@@ -11,7 +11,7 @@ import org.bukkit.TreeSpecies;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class WoodenStep extends Wood {
protected static final Material DEFAULT_TYPE = Material.LEGACY_WOOD_STEP;
protected static final boolean DEFAULT_INVERTED = false;
diff --git a/src/main/java/org/bukkit/material/Wool.java b/src/main/java/org/bukkit/material/Wool.java
-index 3b17409a98b53538989a8d2d5ad1b80643befeab..c5b32246f9d777d5b02f27ca616bdf8323a14ccd 100644
+index 5ad1f9f1995d3b8e4d71126c66217e817c587291..9758818bfbcee789bc8a705df0ff3c0b2fe56e97 100644
--- a/src/main/java/org/bukkit/material/Wool.java
+++ b/src/main/java/org/bukkit/material/Wool.java
@@ -8,7 +8,7 @@ import org.bukkit.Material;
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
--@Deprecated
-+@Deprecated(forRemoval = true, since = "1.13")
+-@Deprecated(since = "1.14.1")
++@Deprecated(since = "1.13", forRemoval = true)
public class Wool extends MaterialData implements Colorable {
public Wool() {
super(Material.LEGACY_WOOL);
diff --git a/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java b/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java
-index 0ea9c6b2420a0f990bd1fdf50fc015e37a7060d8..e99644eae1c662b117aa19060d2484aca19fe0a4 100644
+index 0044381b8ac521968b0915b76a74fd1f2542c2d0..8e6e22cefb432b07aa59f8b73b89e952bacbf902 100644
--- a/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java
+++ b/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java
@@ -7,7 +7,9 @@ import org.jetbrains.annotations.Nullable;
@@ -2821,7 +2821,7 @@ index 0ea9c6b2420a0f990bd1fdf50fc015e37a7060d8..e99644eae1c662b117aa19060d2484ac
/**
diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java
-index bd9ea2fe16b81f5ef5e83427e49c898db69cd4dc..e2d1d26b9debbe1ef852f0260180200a916a7db7 100644
+index 7fbcb12516a77b594061375abb0a447832abccc2..6375eed0ef4f8e897a00b4f77fb45b354888e74e 100644
--- a/src/main/java/org/bukkit/potion/PotionEffectType.java
+++ b/src/main/java/org/bukkit/potion/PotionEffectType.java
@@ -278,9 +278,9 @@ public abstract class PotionEffectType implements Keyed, Translatable {
@@ -2831,8 +2831,8 @@ index bd9ea2fe16b81f5ef5e83427e49c898db69cd4dc..e2d1d26b9debbe1ef852f0260180200a
- * @deprecated Magic value
+ * @deprecated use {@link #key()}
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.2") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
public abstract int getId();
/**
@@ -2843,7 +2843,7 @@ index bd9ea2fe16b81f5ef5e83427e49c898db69cd4dc..e2d1d26b9debbe1ef852f0260180200a
- * @deprecated Magic value
+ * @apiNote Internal Use Only
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static PotionEffectType getById(int id) {
diff --git a/patches/api/0201-Add-more-Evoker-API.patch b/patches/api/0201-Add-more-Evoker-API.patch
index 0d6f0f7328..169d22854c 100644
--- a/patches/api/0201-Add-more-Evoker-API.patch
+++ b/patches/api/0201-Add-more-Evoker-API.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] Add more Evoker API
diff --git a/src/main/java/org/bukkit/entity/Evoker.java b/src/main/java/org/bukkit/entity/Evoker.java
-index f8d173adc09197418883dc7bc66dd8bfff8c5c72..76f81cd124090337876c9e5e469862a1c8da4ec8 100644
+index e9fffd8967e95d370c3e64b4558e41e5a9d580a8..a0a46e6e1114f9f5e2843347f835f3cbf5a75d1b 100644
--- a/src/main/java/org/bukkit/entity/Evoker.java
+++ b/src/main/java/org/bukkit/entity/Evoker.java
@@ -64,4 +64,19 @@ public interface Evoker extends Spellcaster {
*/
- @Deprecated
+ @Deprecated(since = "1.11.2")
void setCurrentSpell(@Nullable Spell spell);
+
+ // Paper start
diff --git a/patches/api/0202-Add-methods-to-get-translation-keys.patch b/patches/api/0202-Add-methods-to-get-translation-keys.patch
index 000d7769c8..47ea45569b 100644
--- a/patches/api/0202-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0202-Add-methods-to-get-translation-keys.patch
@@ -144,7 +144,7 @@ index b3211a705acc26449675727823aa42ae6bacac4f..8b6584fae0a9d5cccbe350d889fa8b4a
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 309a79cbe65498c90d9e135607bc246688ac6274..8820dd330cee4f8463f2f39f84d4be0762558368 100644
+index 3913d0392131375d3e3b34c9da3dbbb341c8eb3b..5f10237b57909d8e457f831392a1629f9854987f 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -135,7 +135,7 @@ import org.jetbrains.annotations.Nullable;
@@ -187,7 +187,7 @@ index 309a79cbe65498c90d9e135607bc246688ac6274..8820dd330cee4f8463f2f39f84d4be07
if (this.isItem()) {
return asItemType().getTranslationKey();
diff --git a/src/main/java/org/bukkit/MusicInstrument.java b/src/main/java/org/bukkit/MusicInstrument.java
-index 807e89d026bffae521ead39c514a872ae4d406b3..f87364de1bf24ee78e0d823d9081a5f352934405 100644
+index 708286af95d39214f488bc19e58eee6c257d393a..3b107e35f006cb1a0745778d99dab0783c67d4d8 100644
--- a/src/main/java/org/bukkit/MusicInstrument.java
+++ b/src/main/java/org/bukkit/MusicInstrument.java
@@ -6,7 +6,7 @@ import java.util.Collections;
@@ -276,7 +276,7 @@ index f46932a12f46895ae10b63f7fbb54750da1bd2ba..b352886e697a1c9869226b583da52405
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 745413357506fa7399f8ba44dfe222d1f0c919f1..25db31b2e9a6d75f0c59f75237842f9ad7d1c350 100644
+index 4e79dc21824e4b1f286c344b0733057be27fb6c5..afed7dfcbc878c19d3821dde77d6ade084ccf271 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
@@ -302,7 +302,7 @@ index 745413357506fa7399f8ba44dfe222d1f0c919f1..25db31b2e9a6d75f0c59f75237842f9a
// Paper end
}
diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java
-index 5ba088456e2c647a719c4ee1e6f006f5c1cca651..aebd34785bb2070389ad2e2803fa9ff803b318c5 100644
+index f5b047345639cf8e55354cc514d18fd80ff1b712..1b026f88d3c231ca38dbe0c1b86124c1e8e2f8cf 100644
--- a/src/main/java/org/bukkit/block/BlockType.java
+++ b/src/main/java/org/bukkit/block/BlockType.java
@@ -129,7 +129,7 @@ import org.jetbrains.annotations.Nullable;
@@ -316,7 +316,7 @@ index 5ba088456e2c647a719c4ee1e6f006f5c1cca651..aebd34785bb2070389ad2e2803fa9ff8
* Typed represents a subtype of {@link BlockType}s that have a known block
@@ -3641,4 +3641,13 @@ public interface BlockType extends Keyed, Translatable {
@Nullable
- @Deprecated
+ @Deprecated(since = "1.20.6")
Material asMaterial();
+
+ // Paper start - add Translatable
@@ -329,7 +329,7 @@ index 5ba088456e2c647a719c4ee1e6f006f5c1cca651..aebd34785bb2070389ad2e2803fa9ff8
+ // Paper end - add Translatable
}
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
-index 25985a3872ac142c0a3b2fb2dc5387ecdd3ff5b3..269a7b42479c053e3320b6a0f9ca2013cfe4bdad 100644
+index 3ba81dc0e6bb907ca0ff2215ec1ac68ef0726352..72251952e771152016e32a3fe8bd06ec47c8ee6c 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
@@ -359,7 +359,7 @@ index 25985a3872ac142c0a3b2fb2dc5387ecdd3ff5b3..269a7b42479c053e3320b6a0f9ca2013
* Gets the Enchantment at the specified key
*
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
-index c4f86ba1037f3f0e5d697a0962d71d6f8c7c1fbe..ac0371285370594d4de1554871b19bbcd2311730 100644
+index 865ab3d2015e114d3cac72e0e26e4086a3913b38..f4422da4ebb0dc6551305f3e8468817eb08bdbc9 100644
--- a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
@@ -26,5 +26,10 @@ public abstract class EnchantmentWrapper extends Enchantment {
@@ -374,7 +374,7 @@ index c4f86ba1037f3f0e5d697a0962d71d6f8c7c1fbe..ac0371285370594d4de1554871b19bbc
// Paper end
}
diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java
-index e758a13ea84f472dcdf7fe31e2ea23c0e554c4c7..a5e5c252405a7b940afbb6715abcda7ec9007dd3 100644
+index 122ee01c4664617bb1b691d5ff24427abdbedcf2..5f06ccac0983dacd6a8c54b073c2dc786b373366 100644
--- a/src/main/java/org/bukkit/entity/EntityType.java
+++ b/src/main/java/org/bukkit/entity/EntityType.java
@@ -45,7 +45,7 @@ import org.jetbrains.annotations.Contract;
@@ -516,7 +516,7 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db
+
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index af09398e0864d338da530495bfd577db8adbe65a..60eec8a12f01562678732bcf38ac407e70d74965 100644
+index a919d50b31ed48a43bc47596eae44b3d05a417ee..665fe4b551abcd33a4c9bab69746200c3a150cae 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable;
@@ -554,7 +554,7 @@ index af09398e0864d338da530495bfd577db8adbe65a..60eec8a12f01562678732bcf38ac407e
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java
-index 88e1883dffb64974f5ec60acbf2828cfb9de9439..49e5a9ea7cf5e4d7a4333d2cffa4e44b1a436403 100644
+index 3ca11be42a07466ab96bff304dc90cf73cbf1f0d..767f7a1912743133d1a5d98783260a2ff51f99c6 100644
--- a/src/main/java/org/bukkit/inventory/ItemType.java
+++ b/src/main/java/org/bukkit/inventory/ItemType.java
@@ -48,7 +48,7 @@ import org.jetbrains.annotations.Nullable;
@@ -568,7 +568,7 @@ index 88e1883dffb64974f5ec60acbf2828cfb9de9439..49e5a9ea7cf5e4d7a4333d2cffa4e44b
* Typed represents a subtype of {@link ItemType}s that have a known item meta type
@@ -2448,4 +2448,13 @@ public interface ItemType extends Keyed, Translatable {
@Nullable
- @Deprecated
+ @Deprecated(since = "1.20.6")
Material asMaterial();
+
+ // Paper start - add Translatable
diff --git a/patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index 7cc686da5a..6e95b3eb23 100644
--- a/patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch
@@ -5,11 +5,11 @@ Subject: [PATCH] Add getMainThreadExecutor to BukkitScheduler
diff --git a/src/main/java/org/bukkit/scheduler/BukkitScheduler.java b/src/main/java/org/bukkit/scheduler/BukkitScheduler.java
-index 0368e9125e6d73449cfa22ec7bdabf274457f4c1..487b5ca23159b531475c3d650894be707b49914e 100644
+index 0a0e9461909c6c0bc4a8519483ec05d9c59e67cc..5c277ac7a61df8106f7c13a1ad8ccb1509338699 100644
--- a/src/main/java/org/bukkit/scheduler/BukkitScheduler.java
+++ b/src/main/java/org/bukkit/scheduler/BukkitScheduler.java
@@ -457,4 +457,15 @@ public interface BukkitScheduler {
- @Deprecated
+ @Deprecated(since = "1.7.10")
@NotNull
public BukkitTask runTaskTimerAsynchronously(@NotNull Plugin plugin, @NotNull BukkitRunnable task, long delay, long period) throws IllegalArgumentException;
+
diff --git a/patches/api/0264-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0264-add-RespawnFlags-to-PlayerRespawnEvent.patch
index c596be8b98..c849e73f56 100644
--- a/patches/api/0264-add-RespawnFlags-to-PlayerRespawnEvent.patch
+++ b/patches/api/0264-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 03225d2b4c91caa58c2995d9cf0e7fb4663749ab..b45f265ec7819b06a9a8361e8c1e43fd88b3138b 100644
+index 7e765886179b08d6b2edb5319aeacc9e7db5b8c2..4d925774f75e8982a8141a28de71e568834e1433 100644
--- a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java
@@ -18,6 +18,7 @@ public class PlayerRespawnEvent extends PlayerEvent {
@@ -14,7 +14,7 @@ index 03225d2b4c91caa58c2995d9cf0e7fb4663749ab..b45f265ec7819b06a9a8361e8c1e43fd
private final RespawnReason respawnReason;
+ private final java.util.Set respawnFlags; // Paper
- @Deprecated
+ @Deprecated(since = "1.16.1")
public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn) {
@@ -29,12 +30,24 @@ public class PlayerRespawnEvent extends PlayerEvent {
this(respawnPlayer, respawnLocation, isBedSpawn, false, RespawnReason.PLUGIN);
diff --git a/patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index 3103f1ce2c..12888ca2f4 100644
--- a/patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
@@ -6,11 +6,11 @@ Subject: [PATCH] Add a "should burn in sunlight" API for Phantoms and
diff --git a/src/main/java/org/bukkit/entity/AbstractSkeleton.java b/src/main/java/org/bukkit/entity/AbstractSkeleton.java
-index 4f4f1e48cdaee0d845f60666569e48731be3fbb9..504fd761e5863c09fe785300a5c3e68e00baf2b0 100644
+index 2d81d077015fff47c5a5b64e2e1c74f962b4ceee..db101017a0d25910632dcbdf80b3724c3b2cf65b 100644
--- a/src/main/java/org/bukkit/entity/AbstractSkeleton.java
+++ b/src/main/java/org/bukkit/entity/AbstractSkeleton.java
@@ -32,4 +32,24 @@ public interface AbstractSkeleton extends Monster, com.destroystokyo.paper.entit
- @Deprecated
+ @Deprecated(since = "1.17")
@Contract("_ -> fail")
public void setSkeletonType(Skeleton.SkeletonType type);
+
diff --git a/patches/api/0273-More-Enchantment-API.patch b/patches/api/0273-More-Enchantment-API.patch
index 4acfd23dc8..810ee1b78a 100644
--- a/patches/api/0273-More-Enchantment-API.patch
+++ b/patches/api/0273-More-Enchantment-API.patch
@@ -41,7 +41,7 @@ index 0000000000000000000000000000000000000000..aec3b41d7c3388e26fa203e3c062f1e6
+ }
+}
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
-index 269a7b42479c053e3320b6a0f9ca2013cfe4bdad..ddd44191c67c1926e615edabb82ed0b592fbee09 100644
+index 72251952e771152016e32a3fe8bd06ec47c8ee6c..fa20a0f13bb91955e2928b46c99ddaf0c4418d15 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -284,11 +284,7 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve
@@ -52,7 +52,7 @@ index 269a7b42479c053e3320b6a0f9ca2013cfe4bdad..ddd44191c67c1926e615edabb82ed0b5
- * only for {@link Enchantment#BINDING_CURSE} and
- * {@link Enchantment#VANISHING_CURSE}.
*/
-- @Deprecated
+- @Deprecated(since = "1.13")
public abstract boolean isCursed();
/**
@@ -176,7 +176,7 @@ index 269a7b42479c053e3320b6a0f9ca2013cfe4bdad..ddd44191c67c1926e615edabb82ed0b5
/**
* @deprecated this method assumes that the enchantments description
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
-index ac0371285370594d4de1554871b19bbcd2311730..da5d153a3e55a38b767359564001ad8663f9730b 100644
+index f4422da4ebb0dc6551305f3e8468817eb08bdbc9..ca3b2f9be7802f94bacc46e28e396054089f2737 100644
--- a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
@@ -31,5 +31,42 @@ public abstract class EnchantmentWrapper extends Enchantment {
diff --git a/patches/api/0285-Add-WaterBottleSplashEvent.patch b/patches/api/0285-Add-WaterBottleSplashEvent.patch
index 28205771ec..8eda8d586d 100644
--- a/patches/api/0285-Add-WaterBottleSplashEvent.patch
+++ b/patches/api/0285-Add-WaterBottleSplashEvent.patch
@@ -146,7 +146,7 @@ index 0000000000000000000000000000000000000000..1f74ea11c726273c3c2a7fc6f381716e
+ }
+}
diff --git a/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java b/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java
-index bc6ba6c4c07cacfc6ab7a2a72b12dfba110ba911..2e58b716fdb21026d2ee838e81559601344c8a00 100644
+index ef6b3a5f6a2c5238f04072cd0bd0c421c9da07ca..f079cd30b2117a0c120bd0e196dca09f7b6eb7f2 100644
--- a/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable;
@@ -156,5 +156,5 @@ index bc6ba6c4c07cacfc6ab7a2a72b12dfba110ba911..2e58b716fdb21026d2ee838e81559601
- private final Map affectedEntities;
+ protected final Map affectedEntities; // Paper
- @Deprecated
+ @Deprecated(since = "1.20.2")
public PotionSplashEvent(@NotNull final ThrownPotion potion, @NotNull final Map affectedEntities) {
diff --git a/patches/api/0287-Missing-Entity-API.patch b/patches/api/0287-Missing-Entity-API.patch
index 00f38bebc3..573742d40d 100644
--- a/patches/api/0287-Missing-Entity-API.patch
+++ b/patches/api/0287-Missing-Entity-API.patch
@@ -68,7 +68,7 @@ index 0000000000000000000000000000000000000000..a16329a8d08c74ce58960ff9dcc0af09
+
+}
diff --git a/src/main/java/org/bukkit/entity/AbstractHorse.java b/src/main/java/org/bukkit/entity/AbstractHorse.java
-index 0d88dce9978243a1f995c5fb448c5d71b01136eb..8b1048c94dffd058eb9fd9144f7f59fc9bd219ad 100644
+index 161af8bc4fe817ec628168dd5bdce47b76ddba56..2e9d6e6023b7c952c48a70152c55b1747561052b 100644
--- a/src/main/java/org/bukkit/entity/AbstractHorse.java
+++ b/src/main/java/org/bukkit/entity/AbstractHorse.java
@@ -106,17 +106,71 @@ public interface AbstractHorse extends Vehicle, InventoryHolder, Tameable {
@@ -144,7 +144,7 @@ index 0d88dce9978243a1f995c5fb448c5d71b01136eb..8b1048c94dffd058eb9fd9144f7f59fc
+ // Paper end - Horse API
}
diff --git a/src/main/java/org/bukkit/entity/AreaEffectCloud.java b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
-index 1df234d6538f08724297ed4ad916f6d488736171..3eba2a9f60636c7d58d311d46f0447bb6bcc5cfb 100644
+index 9d99a67014ba48c371be232dd05299582b3aaec1..c4b3ab4b9ca9b4eb064f52fc8ad059b3513fca36 100644
--- a/src/main/java/org/bukkit/entity/AreaEffectCloud.java
+++ b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
@@ -259,4 +259,20 @@ public interface AreaEffectCloud extends Entity {
@@ -350,7 +350,7 @@ index 191ce6c0e32ab3d05b1376e0fa56d1292c2d442c..8de09075e14a08a6c68f9c24e8960cc0
-public interface Cod extends Fish { }
+public interface Cod extends io.papermc.paper.entity.SchoolableFish { } // Paper - Schooling Fish API
diff --git a/src/main/java/org/bukkit/entity/Damageable.java b/src/main/java/org/bukkit/entity/Damageable.java
-index c4537080ee1875e984356eee42337a1342f4c9a3..f89edd9c129802f70eac022ff6bf80bef378f5e8 100644
+index 1d2447a28b370e2346fb099de52e2beed5fd3e42..4b94f1ed620c57bebca7cf0a5a0d478a93952d36 100644
--- a/src/main/java/org/bukkit/entity/Damageable.java
+++ b/src/main/java/org/bukkit/entity/Damageable.java
@@ -53,6 +53,25 @@ public interface Damageable extends Entity {
@@ -421,12 +421,12 @@ index 875817b807c9f515eb07b03cc85d368955388dc3..db01cc952f0a0efd799454d6c86ee4c2
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Endermite.java b/src/main/java/org/bukkit/entity/Endermite.java
-index 9e7f42caab1204036f4203354c115fd40c6def92..138d2530de2410f4a9424dabd3e5ce0cd1c1dcd2 100644
+index c77d1a4ea7efad489659122b34ddb19199b52b95..7b379fb21e800a766ad022705a12dff6d42279ab 100644
--- a/src/main/java/org/bukkit/entity/Endermite.java
+++ b/src/main/java/org/bukkit/entity/Endermite.java
@@ -23,4 +23,22 @@ public interface Endermite extends Monster {
*/
- @Deprecated
+ @Deprecated(since = "1.17")
void setPlayerSpawned(boolean playerSpawned);
+ // Paper start
+ /**
@@ -448,7 +448,7 @@ index 9e7f42caab1204036f4203354c115fd40c6def92..138d2530de2410f4a9424dabd3e5ce0c
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index c7364a6c266aba9568f491fe0794fa593ada224d..827574b3eff9b912500b092ca081e7163677695e 100644
+index 8521a9ae4d4427ef9cdbb1b8c67dd6ba81d1f5d9..3b40c63a380e519ecae2e272754a53aff5aebd9a 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -293,6 +293,40 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -609,7 +609,7 @@ index 6b3c9bef9a8a34ddc6ff42cf358541a2665bf5e3..9c618a27d590f186f29c5d9094fc565e
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 2eb6f650610ca1a9b9fca49e453f79e08944be75..c0772f72768846cffd065c53de7326f9fe6386a2 100644
+index 5db673a0572163574c41bd7827572372411142ed..c2ed2245604fcb638450d4aa00d8045685ce294d 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -1004,6 +1004,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
diff --git a/patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch
index 425b15cca4..db16d372fa 100644
--- a/patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch
+++ b/patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent data components copy in smithing recipes
diff --git a/src/main/java/org/bukkit/inventory/SmithingRecipe.java b/src/main/java/org/bukkit/inventory/SmithingRecipe.java
-index 717878019aa78bc3ab1acadd2908567b70614320..ee462ca9fd3e0ddcdb0fffd5dba91d82fa6ad08f 100644
+index 6ad1f37372cd77c0f0534deae53125ad148caa7f..eb1c83455e198ff9d6334499be1a865db8e03a2c 100644
--- a/src/main/java/org/bukkit/inventory/SmithingRecipe.java
+++ b/src/main/java/org/bukkit/inventory/SmithingRecipe.java
@@ -14,6 +14,7 @@ public class SmithingRecipe implements Recipe, Keyed {
@@ -18,7 +18,7 @@ index 717878019aa78bc3ab1acadd2908567b70614320..ee462ca9fd3e0ddcdb0fffd5dba91d82
* Create a smithing recipe to produce the specified result ItemStack.
@@ -29,6 +30,23 @@ public class SmithingRecipe implements Recipe, Keyed {
*/
- @Deprecated
+ @Deprecated(since = "1.20.1")
public SmithingRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result, @Nullable RecipeChoice base, @Nullable RecipeChoice addition) {
+ // Paper start
+ this(key, result, base, addition, true);
diff --git a/patches/api/0306-Add-critical-damage-API.patch b/patches/api/0306-Add-critical-damage-API.patch
index f04ac65ac5..419d0d892f 100644
--- a/patches/api/0306-Add-critical-damage-API.patch
+++ b/patches/api/0306-Add-critical-damage-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add critical damage API
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
-index 04449ef55caacf2ac910f0916f8afeb428c282e9..6b24d1281cb8f0253430c9c1a1323e2670bb9c93 100644
+index ca6f0fa51f7f0133dabb912508b6f4d2eeea0927..341f99550d077c60306e8a246a254b768ebbeb48 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
@@ -5,6 +5,7 @@ import java.util.Map;
@@ -22,7 +22,7 @@ index 04449ef55caacf2ac910f0916f8afeb428c282e9..6b24d1281cb8f0253430c9c1a1323e26
private final Entity damager;
+ private final boolean critical; // Paper
- @Deprecated(forRemoval = true)
+ @Deprecated(since = "1.20.4", forRemoval = true)
public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
this(damager, damagee, cause, DamageSource.builder(DamageType.GENERIC).withCausingEntity(damager).withDirectEntity(damager).build(), damage);
}
@@ -34,7 +34,7 @@ index 04449ef55caacf2ac910f0916f8afeb428c282e9..6b24d1281cb8f0253430c9c1a1323e26
+ this.critical = false; // Paper - add critical damage API
}
- @Deprecated(forRemoval = true)
+ @Deprecated(since = "1.20.4", forRemoval = true)
@@ -28,11 +32,34 @@ public class EntityDamageByEntityEvent extends EntityDamageEvent {
this(damager, damagee, cause, DamageSource.builder(DamageType.GENERIC).withCausingEntity(damager).withDirectEntity(damager).build(), modifiers, modifierFunctions);
}
diff --git a/patches/api/0307-Add-more-advancement-API.patch b/patches/api/0307-Add-more-advancement-API.patch
index 6b17b3c11e..1f051ac4c4 100644
--- a/patches/api/0307-Add-more-advancement-API.patch
+++ b/patches/api/0307-Add-more-advancement-API.patch
@@ -172,12 +172,12 @@ index 0000000000000000000000000000000000000000..59228f2e66e982feca77d9f962004cea
+ }
+}
diff --git a/src/main/java/org/bukkit/advancement/Advancement.java b/src/main/java/org/bukkit/advancement/Advancement.java
-index 17527c2f7bd5b8a5528388a53f2472bc1869c7f3..243e5f2debad7f12210169e15ef0b29763e988bb 100644
+index e683af5eb1d08179acd69c521f8f387dc8051e32..5d7ab518dc6be39965cc8925e5df6792456c6658 100644
--- a/src/main/java/org/bukkit/advancement/Advancement.java
+++ b/src/main/java/org/bukkit/advancement/Advancement.java
-@@ -19,13 +19,53 @@ public interface Advancement extends Keyed {
+@@ -27,13 +27,53 @@ public interface Advancement extends Keyed {
@NotNull
- Collection getCriteria();
+ AdvancementRequirements getRequirements();
+ // Paper start
/**
diff --git a/patches/api/0316-Improve-scoreboard-entries.patch b/patches/api/0316-Improve-scoreboard-entries.patch
index d6e077bd86..26f03310e9 100644
--- a/patches/api/0316-Improve-scoreboard-entries.patch
+++ b/patches/api/0316-Improve-scoreboard-entries.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Improve scoreboard entries
diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
-index a625bcab8e77b05b3341a52c708fae1542b7e3d5..a193ffabb05160b462dee1ba8f687fdbc84405b6 100644
+index 35755c9165c1b48eaacfff86a50a7973476fe04b..d6d52bc9185e8a1581ccfa57df3550bc12d9872a 100644
--- a/src/main/java/org/bukkit/scoreboard/Objective.java
+++ b/src/main/java/org/bukkit/scoreboard/Objective.java
@@ -148,9 +148,8 @@ public interface Objective {
@@ -14,8 +14,8 @@ index a625bcab8e77b05b3341a52c708fae1542b7e3d5..a193ffabb05160b462dee1ba8f687fdb
* @see #getScore(String)
- * @deprecated Scoreboards can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.7.8")
++ // @Deprecated(since = "1.7.8") // Paper
@NotNull
Score getScore(@NotNull OfflinePlayer player);
@@ -37,7 +37,7 @@ index a625bcab8e77b05b3341a52c708fae1542b7e3d5..a193ffabb05160b462dee1ba8f687fdb
+ // Paper end - improve scoreboard entries
}
diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
-index 3377511e1a6dd4aeb78871e47169d5bd9456c1aa..4a59f2734833cf39800b9aafbc1c5c6953c2d8f3 100644
+index 1cba9a96cc7efce2a4394add33e4c0369f94be31..81ca0c62ce32204681fcb8fd751d12b4fb0aeb97 100644
--- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java
+++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
@@ -215,9 +215,8 @@ public interface Scoreboard {
@@ -46,8 +46,8 @@ index 3377511e1a6dd4aeb78871e47169d5bd9456c1aa..4a59f2734833cf39800b9aafbc1c5c69
* @see #getScores(String)
- * @deprecated Scoreboards can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.7.8")
++ // @Deprecated(since = "1.7.8") // Paper
@NotNull
Set getScores(@NotNull OfflinePlayer player);
@@ -57,8 +57,8 @@ index 3377511e1a6dd4aeb78871e47169d5bd9456c1aa..4a59f2734833cf39800b9aafbc1c5c69
* @see #resetScores(String)
- * @deprecated Scoreboards can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.7.8")
++ // @Deprecated(since = "1.7.8") // Paper
void resetScores(@NotNull OfflinePlayer player);
/**
@@ -68,8 +68,8 @@ index 3377511e1a6dd4aeb78871e47169d5bd9456c1aa..4a59f2734833cf39800b9aafbc1c5c69
* @see #getEntryTeam(String)
- * @deprecated Scoreboards can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.8.6")
++ // @Deprecated(since = "1.8.6") // Paper
@Nullable
Team getPlayerTeam(@NotNull OfflinePlayer player);
@@ -110,7 +110,7 @@ index 3377511e1a6dd4aeb78871e47169d5bd9456c1aa..4a59f2734833cf39800b9aafbc1c5c69
+ // Paper end - improve scoreboard entries
}
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
-index 4d2b8e10263802432dfeac72666487f9547cd2c5..dff76db4a4c37c760144f00c1aa8f2bcac45ba1f 100644
+index 38deee00cfe2f6803070e98cd9ded95d859bf8e1..c500de6ed19bdf732f7bedbedb19a4b37ca343f8 100644
--- a/src/main/java/org/bukkit/scoreboard/Team.java
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
@@ -295,9 +295,8 @@ public interface Team extends net.kyori.adventure.audience.ForwardingAudience {
@@ -119,8 +119,8 @@ index 4d2b8e10263802432dfeac72666487f9547cd2c5..dff76db4a4c37c760144f00c1aa8f2bc
* @see #addEntry(String)
- * @deprecated Teams can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.8.6")
++ // @Deprecated(since = "1.8.6") // Paper
void addPlayer(@NotNull OfflinePlayer player);
/**
@@ -130,8 +130,8 @@ index 4d2b8e10263802432dfeac72666487f9547cd2c5..dff76db4a4c37c760144f00c1aa8f2bc
* @see #removeEntry(String)
- * @deprecated Teams can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.8.6")
++ // @Deprecated(since = "1.8.6") // Paper
boolean removePlayer(@NotNull OfflinePlayer player);
/**
@@ -141,8 +141,8 @@ index 4d2b8e10263802432dfeac72666487f9547cd2c5..dff76db4a4c37c760144f00c1aa8f2bc
* @see #hasEntry(String)
- * @deprecated Teams can contain entries that aren't players
*/
-- @Deprecated
-+ // @Deprecated // Paper
+- @Deprecated(since = "1.8.6")
++ // @Deprecated(since = "1.8.6") // Paper
boolean hasPlayer(@NotNull OfflinePlayer player);
/**
* Checks to see if the specified entry is a member of this team.
diff --git a/patches/api/0326-Fix-NotePlayEvent.patch b/patches/api/0326-Fix-NotePlayEvent.patch
index d3f827bfd8..0159992c04 100644
--- a/patches/api/0326-Fix-NotePlayEvent.patch
+++ b/patches/api/0326-Fix-NotePlayEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix NotePlayEvent
diff --git a/src/main/java/org/bukkit/event/block/NotePlayEvent.java b/src/main/java/org/bukkit/event/block/NotePlayEvent.java
-index a3887067d1b65fb100ac1407a43c455f5d215510..ea7cb75ba3ecbe40e0390fd5568db77de56c4f16 100644
+index c9ecbebbc27f27734d35f496783706f702dccb29..ea7cb75ba3ecbe40e0390fd5568db77de56c4f16 100644
--- a/src/main/java/org/bukkit/event/block/NotePlayEvent.java
+++ b/src/main/java/org/bukkit/event/block/NotePlayEvent.java
@@ -56,11 +56,13 @@ public class NotePlayEvent extends BlockEvent implements Cancellable {
@@ -20,7 +20,7 @@ index a3887067d1b65fb100ac1407a43c455f5d215510..ea7cb75ba3ecbe40e0390fd5568db77d
* @param instrument the Instrument. Has no effect if null.
- * @deprecated no effect on newer Minecraft versions
*/
-- @Deprecated
+- @Deprecated(since = "1.13")
public void setInstrument(@NotNull Instrument instrument) {
if (instrument != null) {
this.instrument = instrument;
@@ -30,7 +30,7 @@ index a3887067d1b65fb100ac1407a43c455f5d215510..ea7cb75ba3ecbe40e0390fd5568db77d
* @param note the Note. Has no effect if null.
- * @deprecated no effect on newer Minecraft versions
*/
-- @Deprecated
+- @Deprecated(since = "1.13")
public void setNote(@NotNull Note note) {
if (note != null) {
this.note = note;
diff --git a/patches/api/0331-Implement-regenerateChunk.patch b/patches/api/0331-Implement-regenerateChunk.patch
index 4146857008..ba17a9e629 100644
--- a/patches/api/0331-Implement-regenerateChunk.patch
+++ b/patches/api/0331-Implement-regenerateChunk.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement regenerateChunk
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 90270582b75705e42b4690cadb6d15de3188d98f..2720f290a632dd32fd9e70a40e73db9d1d161e94 100644
+index a8939bb5815fbc2926907bb3e8921f86255abd93..0f01e87c1f09f2291d12eaac7f12b32ca543c82f 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -405,8 +405,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -17,5 +17,5 @@ index 90270582b75705e42b4690cadb6d15de3188d98f..2720f290a632dd32fd9e70a40e73db9d
+ * chunk as before as terrain decoration may be spread across chunks. It may
+ * or may not change blocks in the adjacent chunks as well.
*/
- @Deprecated
+ @Deprecated(since = "1.13")
public boolean regenerateChunk(int x, int z);
diff --git a/patches/api/0336-Custom-Potion-Mixes.patch b/patches/api/0336-Custom-Potion-Mixes.patch
index 09a021cf31..5e26417fe9 100644
--- a/patches/api/0336-Custom-Potion-Mixes.patch
+++ b/patches/api/0336-Custom-Potion-Mixes.patch
@@ -152,7 +152,7 @@ index 0000000000000000000000000000000000000000..c252b432a9df5fd7da71a5eecba37a88
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 391088f214f21d23c2cbd81d3406a41d21f7665a..a7c42a10aee3d71203d25f522a1d304ccffd168b 100644
+index a9d1a9a5223148ea134ed146d059ec9edb922f03..9be54f481a14bc917b465fdef3c2695d8ee64880 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2665,6 +2665,15 @@ public final class Bukkit {
@@ -172,7 +172,7 @@ index 391088f214f21d23c2cbd81d3406a41d21f7665a..a7c42a10aee3d71203d25f522a1d304c
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 372be75058eb39ee9123e53462af4586a4b512f2..9a9f7ff35d3958c3156d66bc5f3906c65b0696d9 100644
+index 06cc09298abcefaacd7a6987c32e5bd86653e719..0da9cee02e2a77e16e3bfaec2197bfc567f5580a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2322,5 +2322,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -189,7 +189,7 @@ index 372be75058eb39ee9123e53462af4586a4b512f2..9a9f7ff35d3958c3156d66bc5f3906c6
// Paper end
}
diff --git a/src/main/java/org/bukkit/potion/PotionBrewer.java b/src/main/java/org/bukkit/potion/PotionBrewer.java
-index 2072f048e10eba829cef047d854b5a22c8f055a3..c1bcbeef9cb634e6cb8c4b58bf06883c37cc028b 100644
+index a90a97901475060e6a4c3ab4e864d30b03974c44..72e159698762f816c06378090a9847d211bfc451 100644
--- a/src/main/java/org/bukkit/potion/PotionBrewer.java
+++ b/src/main/java/org/bukkit/potion/PotionBrewer.java
@@ -4,10 +4,31 @@ import java.util.Collection;
@@ -246,8 +246,8 @@ index 2072f048e10eba829cef047d854b5a22c8f055a3..c1bcbeef9cb634e6cb8c4b58bf06883c
* @return The list of effects
* @deprecated Non-Functional
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.5") // Paper
+- @Deprecated(since = "1.6.2")
++ @Deprecated(since = "1.6.2", forRemoval = true) // Paper
@NotNull
- public Collection getEffectsFromDamage(int damage);
+ // Paper start - make default
@@ -262,7 +262,7 @@ index 2072f048e10eba829cef047d854b5a22c8f055a3..c1bcbeef9cb634e6cb8c4b58bf06883c
* @deprecated Upgraded / extended potions are now their own {@link PotionType} use {@link PotionType#getPotionEffects()} instead
*/
@NotNull
-- @Deprecated
-+ @Deprecated(forRemoval = true, since = "1.20.5") // Paper
+- @Deprecated(since = "1.20.2")
++ @Deprecated(since = "1.20.2", forRemoval = true) // Paper
public Collection getEffects(@NotNull PotionType type, boolean upgraded, boolean extended);
}
diff --git a/patches/api/0338-More-Projectile-API.patch b/patches/api/0338-More-Projectile-API.patch
index b94c7cf17a..9c3f7dd616 100644
--- a/patches/api/0338-More-Projectile-API.patch
+++ b/patches/api/0338-More-Projectile-API.patch
@@ -8,7 +8,7 @@ Co-authored-by: SoSeDiK
Co-authored-by: MelnCat
diff --git a/src/main/java/org/bukkit/entity/AbstractArrow.java b/src/main/java/org/bukkit/entity/AbstractArrow.java
-index 8bf9bf7940d2911486e9d3a4f688cfae3f6173f2..9bf4b86e730f3d066f6ebfd4e516caf78145479e 100644
+index ebb6976aba314f592459cdfa49f6c15079207fd2..88b8f2e81cdd22e5e879832c9223a770df7e9f42 100644
--- a/src/main/java/org/bukkit/entity/AbstractArrow.java
+++ b/src/main/java/org/bukkit/entity/AbstractArrow.java
@@ -139,17 +139,21 @@ public interface AbstractArrow extends Projectile {
@@ -193,7 +193,7 @@ index 0d31aa0b22cf1e849572294e2cfe38b48c9210af..217d348ad0bbef720b25d3b507a55ca8
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/FishHook.java b/src/main/java/org/bukkit/entity/FishHook.java
-index 94e1a30ea1bc26821065a6d89c1f5669bd1d08ae..fe32fa569afd62300f7fdc29eefaba291f265674 100644
+index e17851255506f23b33e3e010d2eeb74e83c6e682..c28e78aa259bbd80343cd6d788436833098f0aea 100644
--- a/src/main/java/org/bukkit/entity/FishHook.java
+++ b/src/main/java/org/bukkit/entity/FishHook.java
@@ -322,4 +322,50 @@ public interface FishHook extends Projectile {
@@ -248,7 +248,7 @@ index 94e1a30ea1bc26821065a6d89c1f5669bd1d08ae..fe32fa569afd62300f7fdc29eefaba29
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Projectile.java b/src/main/java/org/bukkit/entity/Projectile.java
-index 06e3ad9cd8f39de0ef6ead794df1492415bc4302..c3933fb5cd9708826effeef2ad2f81c9f7900a37 100644
+index fe64f4e87a0f600b5f1522f788f78ccfc5d7c7ea..f4c7317fd2da03181d836a3d1d24ae910710f0bc 100644
--- a/src/main/java/org/bukkit/entity/Projectile.java
+++ b/src/main/java/org/bukkit/entity/Projectile.java
@@ -12,6 +12,7 @@ public interface Projectile extends Entity {
@@ -261,7 +261,7 @@ index 06e3ad9cd8f39de0ef6ead794df1492415bc4302..c3933fb5cd9708826effeef2ad2f81c9
public ProjectileSource getShooter();
@@ -41,4 +42,89 @@ public interface Projectile extends Entity {
*/
- @Deprecated(forRemoval = true)
+ @Deprecated(since = "1.20.2", forRemoval = true)
public void setBounce(boolean doesBounce);
+ // Paper start
+
diff --git a/patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 1abc6221da..4d61563d3b 100644
--- a/patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch
@@ -183,7 +183,7 @@ index 91e96ee5362fd71d28deef1687ebeb0d8dfa05b9..c73489f4b745bc84501ce94f0227b034
/**
diff --git a/src/main/java/org/bukkit/event/entity/SheepDyeWoolEvent.java b/src/main/java/org/bukkit/event/entity/SheepDyeWoolEvent.java
-index 10d2466fb69919cead26af2fcdf6bd2e678f2927..ddf4aec01e4873aa799721ce615f5d7c929dc915 100644
+index d93a7efd0f6231dbb02fedc4a9108b7cb1d86838..5d056d6bcb0fec0a4ec0aedc3ce9cb52a33934d3 100644
--- a/src/main/java/org/bukkit/event/entity/SheepDyeWoolEvent.java
+++ b/src/main/java/org/bukkit/event/entity/SheepDyeWoolEvent.java
@@ -11,11 +11,8 @@ import org.jetbrains.annotations.Nullable;
@@ -198,7 +198,7 @@ index 10d2466fb69919cead26af2fcdf6bd2e678f2927..ddf4aec01e4873aa799721ce615f5d7c
+public class SheepDyeWoolEvent extends io.papermc.paper.event.entity.EntityDyeEvent implements Cancellable {
+ // Paper - move everything to superclass
- @Deprecated
+ @Deprecated(since = "1.17.1")
public SheepDyeWoolEvent(@NotNull final Sheep sheep, @NotNull final DyeColor color) {
@@ -23,20 +20,7 @@ public class SheepDyeWoolEvent extends EntityEvent implements Cancellable {
}
diff --git a/patches/api/0348-Expand-FallingBlock-API.patch b/patches/api/0348-Expand-FallingBlock-API.patch
index 94e67cd25a..14bfc40156 100644
--- a/patches/api/0348-Expand-FallingBlock-API.patch
+++ b/patches/api/0348-Expand-FallingBlock-API.patch
@@ -10,7 +10,7 @@ Subject: [PATCH] Expand FallingBlock API
Co-authored-by: Lukas Planz
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 2da3b4d3aa7bedd7c9e253d4036cef1f0d911d45..24eaf74420f6fbd4f0a0f13b719f57b50696aef3 100644
+index 0f01e87c1f09f2291d12eaac7f12b32ca543c82f..8bfa8db3d0fdbe0c26e3b327d134c6c0af6be206 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2281,8 +2281,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -42,10 +42,10 @@ index 2da3b4d3aa7bedd7c9e253d4036cef1f0d911d45..24eaf74420f6fbd4f0a0f13b719f57b5
- * @deprecated Magic value
+ * @deprecated Magic value. Use {@link #spawn(Location, Class, Consumer)} (or a variation thereof) in combination with {@link FallingBlock#setBlockData(BlockData)}
*/
- @Deprecated
+ @Deprecated(since = "1.7.5")
@NotNull
diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java
-index ae1ce2ee2deb82f3f4144ec54b3ba119b437c5e9..7904c716a3b0869ebf2f9b416536c59121a539a8 100644
+index 315dcf9da29e077a819f602ebf1c76286164b264..f4ec235b9ccc81e8482f721783561313d160629b 100644
--- a/src/main/java/org/bukkit/entity/FallingBlock.java
+++ b/src/main/java/org/bukkit/entity/FallingBlock.java
@@ -26,6 +26,33 @@ public interface FallingBlock extends Entity {
diff --git a/patches/api/0378-fix-Instruments.patch b/patches/api/0378-fix-Instruments.patch
index 0bffaca02f..3ce4ac68fa 100644
--- a/patches/api/0378-fix-Instruments.patch
+++ b/patches/api/0378-fix-Instruments.patch
@@ -7,7 +7,7 @@ Add missing instrument enums
fix some wrong javadocs
diff --git a/src/main/java/org/bukkit/Instrument.java b/src/main/java/org/bukkit/Instrument.java
-index 032d7b812ddc0a85e316882c8f7de0c5a0a4fd30..8df26e0d7bea77bb257cddbc2ab9e969fa160681 100644
+index 90bf1521e5b8b6c6d47489145e116f2a43fd3250..8df26e0d7bea77bb257cddbc2ab9e969fa160681 100644
--- a/src/main/java/org/bukkit/Instrument.java
+++ b/src/main/java/org/bukkit/Instrument.java
@@ -7,7 +7,7 @@ import org.jetbrains.annotations.Nullable;
@@ -82,7 +82,7 @@ index 032d7b812ddc0a85e316882c8f7de0c5a0a4fd30..8df26e0d7bea77bb257cddbc2ab9e969
* @return The type ID of this instrument.
- * @deprecated Magic value
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
public byte getType() {
return this.type;
@@ -93,7 +93,7 @@ index 032d7b812ddc0a85e316882c8f7de0c5a0a4fd30..8df26e0d7bea77bb257cddbc2ab9e969
* @return The instrument
- * @deprecated Magic value
*/
-- @Deprecated
+- @Deprecated(since = "1.6.2")
+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
@Nullable
public static Instrument getByType(final byte type) {
diff --git a/patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 27abcd1f93..6eeaa9736f 100644
--- a/patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch
@@ -5,15 +5,15 @@ Subject: [PATCH] Fix SpawnEggMeta#get/setSpawnedType
diff --git a/src/main/java/org/bukkit/inventory/meta/SpawnEggMeta.java b/src/main/java/org/bukkit/inventory/meta/SpawnEggMeta.java
-index b3447e22ab880eef7e84ba3c2f0cd6d5d0323d32..35deb3519f46047009b529d6a80517e25e6cf20a 100644
+index 2151946cf791c4c37b2ad527fe20bd784a037190..159055dfc6bd1eb77e07c5eb199c3ae892a749e0 100644
--- a/src/main/java/org/bukkit/inventory/meta/SpawnEggMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/SpawnEggMeta.java
@@ -17,7 +17,7 @@ public interface SpawnEggMeta extends ItemMeta {
* @return The entity type. May be null for implementation specific default.
* @deprecated different types are different items
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true) // Paper
+- @Deprecated(since = "1.13")
++ @Deprecated(since = "1.13", forRemoval = true) // Paper
@Contract("-> fail")
EntityType getSpawnedType();
@@ -21,8 +21,8 @@ index b3447e22ab880eef7e84ba3c2f0cd6d5d0323d32..35deb3519f46047009b529d6a80517e2
* default.
* @deprecated different types are different items
*/
-- @Deprecated
-+ @Deprecated(forRemoval = true) // Paper
+- @Deprecated(since = "1.13")
++ @Deprecated(since = "1.13", forRemoval = true) // Paper
@Contract("_ -> fail")
void setSpawnedType(EntityType type);
diff --git a/patches/api/0392-Expand-PlayerItemMendEvent.patch b/patches/api/0392-Expand-PlayerItemMendEvent.patch
index 95b15a4753..d13509496b 100644
--- a/patches/api/0392-Expand-PlayerItemMendEvent.patch
+++ b/patches/api/0392-Expand-PlayerItemMendEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand PlayerItemMendEvent
diff --git a/src/main/java/org/bukkit/event/player/PlayerItemMendEvent.java b/src/main/java/org/bukkit/event/player/PlayerItemMendEvent.java
-index 5b2415c2c92127947a21dfe8d672d2b88ea457df..2be94101e96a4ff011e872437ea24b15cb356ee3 100644
+index cfbd0b42ae0d7c083467e9c3139fd1ed99d9e94b..f0533271dd38276e210061f8767a8acc0fef2a64 100644
--- a/src/main/java/org/bukkit/event/player/PlayerItemMendEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerItemMendEvent.java
@@ -6,6 +6,7 @@ import org.bukkit.event.Cancellable;
@@ -82,5 +82,5 @@ index 5b2415c2c92127947a21dfe8d672d2b88ea457df..2be94101e96a4ff011e872437ea24b15
}
+ // Paper end
- @Deprecated
+ @Deprecated(since = "1.19.2")
public PlayerItemMendEvent(@NotNull Player who, @NotNull ItemStack item, @NotNull ExperienceOrb experienceOrb, int repairAmount) {
diff --git a/patches/api/0397-Fix-BanList-API.patch b/patches/api/0397-Fix-BanList-API.patch
index 0d0a781306..c09a61d374 100644
--- a/patches/api/0397-Fix-BanList-API.patch
+++ b/patches/api/0397-Fix-BanList-API.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] Fix BanList API
diff --git a/src/main/java/org/bukkit/BanList.java b/src/main/java/org/bukkit/BanList.java
-index 548f6d28c28d74bed8b58ee82875909354afe132..a77c0411a68a9bad33ddfb335b7a996a843e478c 100644
+index 5829aca9e5aa700bd95f19db3ae032100f74d5a3..60aea29d51a8ad499401f94a7c326d9b415b6a3a 100644
--- a/src/main/java/org/bukkit/BanList.java
+++ b/src/main/java/org/bukkit/BanList.java
@@ -48,7 +48,7 @@ public interface BanList {
*/
- @Deprecated
+ @Deprecated(since = "1.20.1")
@Nullable
- public BanEntry getBanEntry(@NotNull String target);
+ public > E getBanEntry(@NotNull String target); // Paper
@@ -19,7 +19,7 @@ index 548f6d28c28d74bed8b58ee82875909354afe132..a77c0411a68a9bad33ddfb335b7a996a
* Gets a {@link BanEntry} by target.
@@ -77,7 +77,7 @@ public interface BanList {
*/
- @Deprecated
+ @Deprecated(since = "1.20.1")
@Nullable
- public BanEntry addBan(@NotNull String target, @Nullable String reason, @Nullable Date expires, @Nullable String source);
+ public > E addBan(@NotNull String target, @Nullable String reason, @Nullable Date expires, @Nullable String source); // Paper
@@ -36,7 +36,7 @@ index 548f6d28c28d74bed8b58ee82875909354afe132..a77c0411a68a9bad33ddfb335b7a996a
/**
* Gets if a {@link BanEntry} exists for the target, indicating an active
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
-index d81701f0128bdeca180ff9957621f695c787f334..299d1cc510d24541c6bb47d02db0b6a86fb1d0eb 100644
+index 9facde856fa9b1b8f2a6198a1b541b819ea12518..a8003b4796b3f80986043a9dbc2e6ad08a1bb4d7 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -147,7 +147,7 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@@ -130,7 +130,7 @@ index e805e629cede1c4c0674282c930cb67852718c3e..5248cf08ef83c7304dd76c42a2f646bb
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index dd4ce1d68962ec668db7c687c1e4764db52bc04f..baf7ff3b23be8dd80d2e59299a6ec8f9ce1053df 100644
+index c2d49ff3aee971598451734f95144ac5dbbf131a..ad8e53bc528f6a078c85962fb85956bd97d67703 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -359,7 +359,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
diff --git a/patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch b/patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch
index 97d99a40d2..0d0054f292 100644
--- a/patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expose hand during BlockCanBuildEvent
diff --git a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
-index a1350c0f74d445dca09eea6e10abac050bb06990..08d09c2a92d8aa6adf6610cc05905d58a76fce1f 100644
+index 7d2501278812c7f06d1416fa73389e84c258d71c..31fd64187fc5bd50a5ba36b3b68001ce6ff2211c 100644
--- a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
@@ -25,10 +25,11 @@ public class BlockCanBuildEvent extends BlockEvent {
@@ -14,7 +14,7 @@ index a1350c0f74d445dca09eea6e10abac050bb06990..08d09c2a92d8aa6adf6610cc05905d58
private final Player player;
+ private final org.bukkit.inventory.EquipmentSlot hand; // Paper - expose hand
- @Deprecated
+ @Deprecated(since = "1.13.2")
public BlockCanBuildEvent(@NotNull final Block block, @NotNull final BlockData type, final boolean canBuild) {
- this(block, null, type, canBuild);
+ this(block, null, type, canBuild, org.bukkit.inventory.EquipmentSlot.HAND); // Paper - expose hand
diff --git a/patches/api/0424-Expand-LingeringPotion-API.patch b/patches/api/0424-Expand-LingeringPotion-API.patch
index 40b5a5f547..4fc454cfb4 100644
--- a/patches/api/0424-Expand-LingeringPotion-API.patch
+++ b/patches/api/0424-Expand-LingeringPotion-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand LingeringPotion API
diff --git a/src/main/java/org/bukkit/event/entity/LingeringPotionSplashEvent.java b/src/main/java/org/bukkit/event/entity/LingeringPotionSplashEvent.java
-index 1584c6c41c3ca51b8ab7f48efb140b0fe31f535b..34efe59493729449fe1316ab8f2f7211acf679be 100644
+index 581241d066310ba6f59811fee8cb32811b8e0b65..2392885ca6294079b939d25b8cbf23c12d86220d 100644
--- a/src/main/java/org/bukkit/event/entity/LingeringPotionSplashEvent.java
+++ b/src/main/java/org/bukkit/event/entity/LingeringPotionSplashEvent.java
@@ -17,6 +17,7 @@ public class LingeringPotionSplashEvent extends ProjectileHitEvent implements Ca
@@ -14,7 +14,7 @@ index 1584c6c41c3ca51b8ab7f48efb140b0fe31f535b..34efe59493729449fe1316ab8f2f7211
private final AreaEffectCloud entity;
+ private boolean allowEmptyAreaEffectCreation; // Paper
- @Deprecated
+ @Deprecated(since = "1.20.2")
public LingeringPotionSplashEvent(@NotNull final ThrownPotion potion, @NotNull final AreaEffectCloud entity) {
@@ -44,6 +45,26 @@ public class LingeringPotionSplashEvent extends ProjectileHitEvent implements Ca
return entity;
diff --git a/patches/api/0427-Experimental-annotations-change.patch b/patches/api/0427-Experimental-annotations-change.patch
index 5660d684ce..77ab53a191 100644
--- a/patches/api/0427-Experimental-annotations-change.patch
+++ b/patches/api/0427-Experimental-annotations-change.patch
@@ -5,11 +5,11 @@ Subject: [PATCH] Experimental annotations change
diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java
-index a96600443a0997c3a696a637422ab66ee1884fb0..20eb27ee041f77f295eb271f878c524ce5592251 100644
+index 5c33daf443691cf0a584ecc5f8546cbcc2f2dfa3..79144c8594ea5cbd57e94cd60642459832b94181 100644
--- a/src/main/java/org/bukkit/FeatureFlag.java
+++ b/src/main/java/org/bukkit/FeatureFlag.java
@@ -29,6 +29,7 @@ public interface FeatureFlag extends Keyed {
- @Deprecated
+ @Deprecated(since = "1.20.2")
public static final FeatureFlag UPDATE_1_20 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_20"));
+ @ApiStatus.Experimental // Paper - add missing annotation
@@ -17,7 +17,7 @@ index a96600443a0997c3a696a637422ab66ee1884fb0..20eb27ee041f77f295eb271f878c524c
/**
@@ -39,10 +40,13 @@ public interface FeatureFlag extends Keyed {
- @Deprecated
+ @Deprecated(since = "1.21")
public static final FeatureFlag UPDATE_121 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_21"));
+ @ApiStatus.Experimental // Paper - add missing annotation
@@ -149,7 +149,7 @@ index 4adc91ba3dff00ab44303778e9d4499f7808ad00..beb62426490a361af793fb530106d854
}
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
-index ae4ae1fa6d407665ef03edcdef683d741668acf1..b4fe8108e8b36b8ce859cdd4a5b557034f923c85 100644
+index 06e037ce94b368b3685ab04ba46c1ab5e5479dbb..e0d73d432cd31da35a72b479c854f2124c63ebe5 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -148,7 +148,6 @@ public enum InventoryType {
@@ -171,7 +171,7 @@ index bb1fb5e0518c6a62ef8b206733ee51d831f1f85b..49d0a37bbeb0b8fa9207164c74245ef0
-@ApiStatus.Experimental
public interface CrafterInventory extends Inventory { }
diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java
-index 0899981b9ab1f98dacc617156d12779421e4c275..6c33fbf720a2e11655e254aeb516e08831c2adf4 100644
+index bd1c0417fbf72731e6301bf79966c6ea4102fc70..8d00f58883222fac4c3bef62eafa7bcbdedc896d 100644
--- a/src/main/java/org/bukkit/map/MapCursor.java
+++ b/src/main/java/org/bukkit/map/MapCursor.java
@@ -314,12 +314,26 @@ public final class MapCursor {
diff --git a/patches/api/0432-Add-drops-to-shear-events.patch b/patches/api/0432-Add-drops-to-shear-events.patch
index c87460e48d..abbab7dac4 100644
--- a/patches/api/0432-Add-drops-to-shear-events.patch
+++ b/patches/api/0432-Add-drops-to-shear-events.patch
@@ -50,7 +50,7 @@ index 71c0af9373069cfaa074e1fbad592eab81025b1c..610768bd329b8612627d361fd9a773a7
+ // Paper end - custom shear drops
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerShearEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerShearEntityEvent.java
-index 04b3dce008edefb045162d0f69f87462ea1f3534..63f6799c2543ba67ce9fe6484002062d7a754fd0 100644
+index 2616943d298c523e9fe71926f42b1362c9379853..3a12674e47f3e20a32ac1ea5647105196cf3a1c9 100644
--- a/src/main/java/org/bukkit/event/player/PlayerShearEntityEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerShearEntityEvent.java
@@ -18,17 +18,20 @@ public class PlayerShearEntityEvent extends PlayerEvent implements Cancellable {
@@ -69,7 +69,7 @@ index 04b3dce008edefb045162d0f69f87462ea1f3534..63f6799c2543ba67ce9fe6484002062d
+ this.drops = drops; // Paper - custom shear drops
}
- @Deprecated
+ @Deprecated(since = "1.15.2")
public PlayerShearEntityEvent(@NotNull final Player who, @NotNull final Entity what) {
- this(who, what, new ItemStack(Material.SHEARS), EquipmentSlot.HAND);
+ this(who, what, new ItemStack(Material.SHEARS), EquipmentSlot.HAND, java.util.Collections.emptyList()); // Paper - custom shear drops
diff --git a/patches/api/0466-Fix-equipment-slot-and-group-API.patch b/patches/api/0466-Fix-equipment-slot-and-group-API.patch
index 81d91485d7..6808e66777 100644
--- a/patches/api/0466-Fix-equipment-slot-and-group-API.patch
+++ b/patches/api/0466-Fix-equipment-slot-and-group-API.patch
@@ -10,19 +10,19 @@ Adds the following:
Co-authored-by: SoSeDiK
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
-index def473b6424da1e81448bd492b7fef46691eaf8c..027a7d3b6feb52f6c3424edc0820d29fdaf6ebae 100644
+index 4ad09a2673ce573b63d133635a772197a2062901..c60f2170fbcc3cc932104e3517b5608a1e471474 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -130,6 +130,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed {
*/
@Nullable
- @Deprecated
+ @Deprecated(since = "1.20.5")
+ @io.papermc.paper.annotation.DoNotUse // Paper
public EquipmentSlot getSlot() {
return slot == EquipmentSlotGroup.ANY ? null : slot.getExample();
}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 51a428473e702be3ab79bd1e579d1114f747791b..68c08e7a212bc3e3885f9b5a4d9aef85fcb3b029 100644
+index ac86962fa3c0fb0c3138e98bd89d73b467a5fb60..d21a228bbec0302e75c4db5aa1db54f321143587 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -1457,4 +1457,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -42,7 +42,7 @@ index 51a428473e702be3ab79bd1e579d1114f747791b..68c08e7a212bc3e3885f9b5a4d9aef85
+ // Paper end - Expose canUseSlot
}
diff --git a/src/main/java/org/bukkit/inventory/EntityEquipment.java b/src/main/java/org/bukkit/inventory/EntityEquipment.java
-index 1b34286fb6cbedb3841c84c499eb626f61885126..91cd0a918b640df7e75f6e40f3c6bd3689d4ff40 100644
+index 6a94bdba82e183b6509b4bff711dbbeed245a9ba..4264cf878c0999f1c0c2a679028becb858743495 100644
--- a/src/main/java/org/bukkit/inventory/EntityEquipment.java
+++ b/src/main/java/org/bukkit/inventory/EntityEquipment.java
@@ -15,6 +15,8 @@ public interface EntityEquipment {
@@ -88,7 +88,7 @@ index c1c69ba4c361740f0ad422a7840a7f0f055c186a..1bedf9b7ee16729397e1fa2915dd76a1
private final Supplier group; // Supplier because of class loading order, since EquipmentSlot and EquipmentSlotGroup reference each other on class init
diff --git a/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java b/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java
-index 0019c8d91eefbfb44e76b9f929b25cd189295b79..2ba475ee5e976a6f5451021be17697345b29110a 100644
+index 1a272fec57727397b6fc57b14d6adbae3a658b4c..2c4353e8fa3090d2ae38ec6f29c88185e7dde6ed 100644
--- a/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java
+++ b/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java
@@ -25,7 +25,8 @@ public final class EquipmentSlotGroup implements Predicate {
@@ -102,7 +102,7 @@ index 0019c8d91eefbfb44e76b9f929b25cd189295b79..2ba475ee5e976a6f5451021be1769734
private final String key;
private final Predicate predicate;
diff --git a/src/main/java/org/bukkit/inventory/PlayerInventory.java b/src/main/java/org/bukkit/inventory/PlayerInventory.java
-index 2c54660dc1fbc7c1232096797a23cae1262888e9..bcfcf963063e7c0fdc711febef2df2d0ff12776d 100644
+index 4294e9296fed42d01b431dbabec97fda26308530..58fcfaf2e3645293e920d42c17ace3eaceae086d 100644
--- a/src/main/java/org/bukkit/inventory/PlayerInventory.java
+++ b/src/main/java/org/bukkit/inventory/PlayerInventory.java
@@ -95,6 +95,8 @@ public interface PlayerInventory extends Inventory {
diff --git a/patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch b/patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch
index 1608d48862..ffbe79b17f 100644
--- a/patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch
+++ b/patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Proxy ItemStack to CraftItemStack
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index b503b5e13c51580367d53939ad4c19a7718c22ce..307439827b401acb96f0df1cf4ef31835bd1d513 100644
+index ff155bd22a6ea7f59dbf91c9280a653917b5010f..6b1cb9c49b44b2137c20018d2644310f9727fa7f 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -281,4 +281,6 @@ public interface UnsafeValues {
@@ -16,7 +16,7 @@ index b503b5e13c51580367d53939ad4c19a7718c22ce..307439827b401acb96f0df1cf4ef3183
+ ItemStack createEmptyStack(); // Paper - proxy ItemStack
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 77edc2e1c5c865db7e101aaa186657ac85edfed9..6fc8bddfcabca8c363e0d9f958f0ce7bc39099f1 100644
+index 10b913490eaba71849f896754dfcb62b4b114e2c..f9f4f59461ee572ae28e24c22384d4586251a9a7 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -28,10 +28,38 @@ import org.jetbrains.annotations.Nullable;
@@ -185,7 +185,7 @@ index 77edc2e1c5c865db7e101aaa186657ac85edfed9..6fc8bddfcabca8c363e0d9f958f0ce7b
/**
@@ -254,11 +273,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
*/
- @Deprecated
+ @Deprecated(since = "1.13")
public void setDurability(final short durability) {
- ItemMeta meta = getItemMeta();
- if (meta != null) {
@@ -198,7 +198,7 @@ index 77edc2e1c5c865db7e101aaa186657ac85edfed9..6fc8bddfcabca8c363e0d9f958f0ce7b
/**
@@ -269,8 +284,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
*/
- @Deprecated
+ @Deprecated(since = "1.13")
public short getDurability() {
- ItemMeta meta = getItemMeta();
- return (meta == null) ? 0 : (short) ((Damageable) meta).getDamage();
diff --git a/patches/api/0484-Add-FeatureFlag-API.patch b/patches/api/0484-Add-FeatureFlag-API.patch
index 008c2d793c..211e999df1 100644
--- a/patches/api/0484-Add-FeatureFlag-API.patch
+++ b/patches/api/0484-Add-FeatureFlag-API.patch
@@ -104,7 +104,7 @@ index 0000000000000000000000000000000000000000..0955699df65ccbb8711cfa48f0b34d5a
+ @Unmodifiable Set getFeatureFlags();
+}
diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java
-index 20eb27ee041f77f295eb271f878c524ce5592251..0acea3e8d639c252b44cd5da5e3584aa6e6c9b5c 100644
+index 79144c8594ea5cbd57e94cd60642459832b94181..15e2d70732751187b66d6737c2178eb92870b561 100644
--- a/src/main/java/org/bukkit/FeatureFlag.java
+++ b/src/main/java/org/bukkit/FeatureFlag.java
@@ -1,17 +1,24 @@
@@ -138,37 +138,35 @@ index 20eb27ee041f77f295eb271f878c524ce5592251..0acea3e8d639c252b44cd5da5e3584aa
/**
* AVAILABLE BETWEEN VERSIONS: 1.19.3 - 1.21.1
-@@ -19,34 +26,43 @@ public interface FeatureFlag extends Keyed {
+@@ -19,18 +26,19 @@ public interface FeatureFlag extends Keyed {
* @deprecated not available since 1.21.2
*/
- @Deprecated
+ @Deprecated(since = "1.21.2")
- public static final FeatureFlag BUNDLE = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("bundle"));
+ FeatureFlag BUNDLE = deprecated("bundle");
/**
-- * AVAILABLE BETWEEN VERSIONS: 1.19 - 1.19.4
-- *
-- * @deprecated not available since 1.20
+ * AVAILABLE BETWEEN VERSIONS: 1.19 - 1.19.4
+ *
+ * @deprecated not available since 1.20
+ * The {@code trade_rebalance} feature flag.
*/
-- @Deprecated
+- @Deprecated(since = "1.20.2")
- public static final FeatureFlag UPDATE_1_20 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_20"));
--
++ @Deprecated(since = "1.20")
++ FeatureFlag UPDATE_1_20 = deprecated("update_1_20");
+
@ApiStatus.Experimental // Paper - add missing annotation
- public static final FeatureFlag TRADE_REBALANCE = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("trade_rebalance"));
+ FeatureFlag TRADE_REBALANCE = create("trade_rebalance");
-- /**
-- * AVAILABLE BETWEEN VERSIONS: 1.20.5 - 1.20.6
-- *
-- * @deprecated not available since 1.21
-- */
-- @Deprecated
+ /**
+ * AVAILABLE BETWEEN VERSIONS: 1.20.5 - 1.20.6
+@@ -38,15 +46,31 @@ public interface FeatureFlag extends Keyed {
+ * @deprecated not available since 1.21
+ */
+ @Deprecated(since = "1.21")
- public static final FeatureFlag UPDATE_121 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_21"));
-+ @Deprecated(since = "1.20")
-+ FeatureFlag UPDATE_1_20 = deprecated("update_1_20");
-+
-+ @Deprecated(since = "1.21")
+ FeatureFlag UPDATE_121 = deprecated("update_1_21");
@ApiStatus.Experimental // Paper - add missing annotation
@@ -247,7 +245,7 @@ index eb33e8e671972aa308ad75a7ce9aa9ac526f470f..05ecf3cb38ff42c8b52405d900197e6b
/**
* Gets the {@link Biome} at the given {@link Location}.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 307439827b401acb96f0df1cf4ef31835bd1d513..e8dc8a6abebf6c31cb095ca3646eb4909e42f105 100644
+index 6b1cb9c49b44b2137c20018d2644310f9727fa7f..98fe2763dcb45e1a89629c01098569fa477593cb 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -111,8 +111,7 @@ public interface UnsafeValues {
@@ -261,7 +259,7 @@ index 307439827b401acb96f0df1cf4ef31835bd1d513..e8dc8a6abebf6c31cb095ca3646eb490
/**
* Do not use, method will get removed, and the plugin won't run
diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java
-index c080c2a3323d19cb3d549aa0fe6c164666d7da75..ed534fe4983873a2d5f623f0d9d5e3ce254615eb 100644
+index 80e98f444c64b6106bad98c26c0293c298c2fbbf..e795eacd86e15d8f7db3ad834c85bbf54cb3cf91 100644
--- a/src/main/java/org/bukkit/block/BlockType.java
+++ b/src/main/java/org/bukkit/block/BlockType.java
@@ -129,7 +129,7 @@ import org.jetbrains.annotations.Nullable;
@@ -284,7 +282,7 @@ index c080c2a3323d19cb3d549aa0fe6c164666d7da75..ed534fe4983873a2d5f623f0d9d5e3ce
/**
diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java
-index 9e115cec6232b22760e91ade671f81461c0c0364..c1aa59bab82aee8fd42f7149c520b45660b29082 100644
+index 4d82a7b88c713222383b16be29bddf889d0d6edb..348f82b2be6cace6bd74802e8ebc36a712addfc6 100644
--- a/src/main/java/org/bukkit/entity/EntityType.java
+++ b/src/main/java/org/bukkit/entity/EntityType.java
@@ -45,7 +45,7 @@ import org.jetbrains.annotations.Contract;
@@ -310,7 +308,7 @@ index 5067f1371433cccd3287af7f03e152f2c3c1ece3..e0cb282541548ac3bd24cce86b3413f5
/**
* Gets the unique name of this world
diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java
-index ef3a30d5cca29c7a7c546791be3c333e63e425f4..72803c00e4af576f286d2af34bf300ee554a7f3c 100644
+index 79d99a915d8ec16e4a50a58752f15bb2ed6f453f..5981e6f2c15d4eaa524817fad4af621d03128630 100644
--- a/src/main/java/org/bukkit/inventory/ItemType.java
+++ b/src/main/java/org/bukkit/inventory/ItemType.java
@@ -48,7 +48,7 @@ import org.jetbrains.annotations.Nullable;
@@ -346,7 +344,7 @@ index 34d45a105da72481a7c4f2e3831f5d2a676c91c6..529143c9007d6da4f671576f9934933f
/**
* A MenuType which represents a chest with 1 row.
diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java
-index d02bb37768404422969d8b93e009960d0a693a93..294ba70f1e446ec8d502e5c14f82ae52547aeb21 100644
+index 5f32728fad44c3c5f3f5382b0ad6fd9b1ef5e0fd..e4cfdc80c9e49fc7992183022bdf2f36aae0d95a 100644
--- a/src/main/java/org/bukkit/potion/PotionEffectType.java
+++ b/src/main/java/org/bukkit/potion/PotionEffectType.java
@@ -17,7 +17,7 @@ import org.jetbrains.annotations.Nullable;
@@ -359,7 +357,7 @@ index d02bb37768404422969d8b93e009960d0a693a93..294ba70f1e446ec8d502e5c14f82ae52
/**
diff --git a/src/main/java/org/bukkit/potion/PotionType.java b/src/main/java/org/bukkit/potion/PotionType.java
-index 453c626092caa734a0af5800699f299fc6fd0e43..c82cc9d9db5cb0e0e3c02f6a9564fc935ee594aa 100644
+index ca79f97be64cd2dba2ac2cac46072f7ab976b6ff..912eb2f48c5d5b17bbd34100bb3d8e1f23f82ca3 100644
--- a/src/main/java/org/bukkit/potion/PotionType.java
+++ b/src/main/java/org/bukkit/potion/PotionType.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
diff --git a/patches/api/0501-Disable-deprecated-annotation-test.patch b/patches/api/0501-Disable-deprecated-annotation-test.patch
new file mode 100644
index 0000000000..3e72cd94b7
--- /dev/null
+++ b/patches/api/0501-Disable-deprecated-annotation-test.patch
@@ -0,0 +1,26 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nassim Jahnke
+Date: Tue, 3 Dec 2024 15:33:45 +0100
+Subject: [PATCH] Disable deprecated annotation test
+
+
+diff --git a/src/test/java/org/bukkit/DeprecatedTest.java b/src/test/java/org/bukkit/DeprecatedTest.java
+index dd3b241c7be5725c39d642fbad8adff2f0669470..424756f9cd69ec950ea95b83110c4dca08012e82 100644
+--- a/src/test/java/org/bukkit/DeprecatedTest.java
++++ b/src/test/java/org/bukkit/DeprecatedTest.java
+@@ -5,6 +5,7 @@ import com.google.common.base.Joiner;
+ import java.util.ArrayList;
+ import java.util.List;
+ import org.bukkit.support.test.ClassNodeTest;
++import org.junit.jupiter.api.Disabled;
+ import org.objectweb.asm.Type;
+ import org.objectweb.asm.tree.AnnotationNode;
+ import org.objectweb.asm.tree.ClassNode;
+@@ -12,6 +13,7 @@ import org.objectweb.asm.tree.FieldNode;
+ import org.objectweb.asm.tree.MethodNode;
+ import org.objectweb.asm.tree.RecordComponentNode;
+
++@Disabled
+ public class DeprecatedTest {
+
+ private static final String DEPRECATED_DESC = Type.getDescriptor(Deprecated.class);
diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch
index 50afbc86c9..8170779c37 100644
--- a/patches/server/0008-CB-fixes.patch
+++ b/patches/server/0008-CB-fixes.patch
@@ -53,6 +53,19 @@ index 4f68394a94308513269f0a4c749b6a36738e3ca0..953ab7638f7242b5a11dd1de87861724
ChunkGenerator chunkGenerator,
RandomState noiseConfig,
LevelHeightAccessor world,
+diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+index 19f165b855a0ca10732fd43c7ee093b11e535471..d54e0ab739ad33b8222d9ea2766e2a893154ee26 100644
+--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
++++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+@@ -424,7 +424,7 @@ public class CraftChunk implements Chunk {
+ }
+ }
+
+- return new CraftChunkSnapshot(x, z, world.getMinHeight(), world.getMaxHeight(), world.getSeaLevel(), world.getName(), world.getFullTime(), blockIDs, skyLight, emitLight, empty, new Heightmap(actual, Heightmap.Types.MOTION_BLOCKING), iregistry, biome);
++ return new CraftChunkSnapshot(x, z, world.getMinHeight(), world.getMaxY(), world.getSeaLevel(), world.getName(), world.getFullTime(), blockIDs, skyLight, emitLight, empty, new Heightmap(actual, Heightmap.Types.MOTION_BLOCKING), iregistry, biome);
+ }
+
+ static void validateChunkCoordinates(int minY, int maxY, int x, int y, int z) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java b/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java
index a70e6872add1c952a89e74be0e6d09a53cc16559..90b82ad996b2b85628c9a5ddeef9410150b7f70c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java
@@ -69,8 +82,23 @@ index a70e6872add1c952a89e74be0e6d09a53cc16559..90b82ad996b2b85628c9a5ddeef94101
+ }
+ // Paper end
}
+diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+index 36a847cf1560c0c188209998d7b92b73ccca35d5..00f64bd917aaf13d00b22129f2ca298a733054f4 100644
+--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+@@ -1300,6 +1300,10 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+ return this.world.getMaxY() + 1;
+ }
+
++ public int getMaxY() {
++ return this.world.getMaxY();
++ }
++
+ @Override
+ public int getLogicalHeight() {
+ return this.world.dimensionType().logicalHeight();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 755b1d77418ecae0dc9ec5197275d0cd914e7bee..94004204b6cdbbbf35263faae56e3e06cb6b650c 100644
+index 3ee69736494467aa6a1450baf868e73c94733e5b..39126769594a535ebd4bf7052f42e9eda9d3e10a 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -123,6 +123,7 @@ public class Main {
@@ -82,7 +110,7 @@ index 755b1d77418ecae0dc9ec5197275d0cd914e7bee..94004204b6cdbbbf35263faae56e3e06
this.acceptsAll(Main.asList("nojline"), "Disables jline and emulates the vanilla console");
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index 163d54a8bf4cedbd1471e86b7ab1a1b850ed3f39..6effe47b32a8551aa6f6b11bc0315714a119e199 100644
+index a25ccafc861249a2309bd42f08a32601644de46f..a7b53187a24d11b8c91e8c50eeb907aca60891cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -26,6 +26,7 @@ import org.bukkit.scheduler.BukkitWorker;
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 9958d9735c..5688fb2dd1 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -6339,10 +6339,10 @@ index d5451cb1976ca3675dd19b07bd8a2d363f82db86..e5054699f2f7555455b4da20249e253d
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 799444e4101283c972a160742a9e2548e604173f..fb8c641604473a3853b2f8b9cd5c8a65fd2482be 100644
+index 00f64bd917aaf13d00b22129f2ca298a733054f4..72f2c9e9f4f4338a3fc03621a5e06e50ba83570f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -256,8 +256,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -257,8 +257,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk[] getLoadedChunks() {
@@ -6353,7 +6353,7 @@ index 799444e4101283c972a160742a9e2548e604173f..fb8c641604473a3853b2f8b9cd5c8a65
}
@Override
-@@ -334,7 +334,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -335,7 +335,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean refreshChunk(int x, int z) {
@@ -6362,7 +6362,7 @@ index 799444e4101283c972a160742a9e2548e604173f..fb8c641604473a3853b2f8b9cd5c8a65
if (playerChunk == null) return false;
playerChunk.getTickingChunkFuture().thenAccept(either -> {
-@@ -2110,4 +2110,51 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2115,4 +2115,51 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.spigot;
}
// Spigot end
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 07b2834d8e..77613c7c61 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -2637,7 +2637,7 @@ index bb97fdb9aa6167083442a928276ebe4225a586ef..eeaa40e8121643c6c1d951e76e7361e2
@Override
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 709330ca9caa82a6de71767b3d5c32f97ea1d68b..daf20aa9a83a2583c0c61a4123cc2e528d19801d 100644
+index 1b6cf839450cc69bd3cda6d874656c5345b0ac51..2e6259e1d07892cb4fbcc81de069b75144d6f533 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -208,6 +208,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot
@@ -2730,7 +2730,7 @@ index 709330ca9caa82a6de71767b3d5c32f97ea1d68b..daf20aa9a83a2583c0c61a4123cc2e52
public boolean logIPs() {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 785c7e11f92610be58b624d252d1858658496af7..99607edee9fba8df87f0525bf0eadee865ab38a4 100644
+index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7aad89432 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -190,6 +190,7 @@ import net.minecraft.world.item.trading.MerchantOffers;
@@ -3584,10 +3584,10 @@ index cbdb1a56a97150c164515a4ce6d3ba06428bf321..b214e7b302abbfe1641485a05f1371ac
public URI getUrl() {
return this.handle.link();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index fb8c641604473a3853b2f8b9cd5c8a65fd2482be..0ced83dba344ec55df0a0c992437dbb162426518 100644
+index 72f2c9e9f4f4338a3fc03621a5e06e50ba83570f..5612f66ec7b0e927824d5503b15dc28af0dfb168 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -166,6 +166,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -167,6 +167,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this);
private final Object2IntOpenHashMap spawnCategoryLimit = new Object2IntOpenHashMap<>();
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
@@ -3595,7 +3595,7 @@ index fb8c641604473a3853b2f8b9cd5c8a65fd2482be..0ced83dba344ec55df0a0c992437dbb1
private static final Random rand = new Random();
-@@ -1705,6 +1706,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1710,6 +1711,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
entityTracker.broadcastAndSend(packet);
}
}
@@ -3611,7 +3611,7 @@ index fb8c641604473a3853b2f8b9cd5c8a65fd2482be..0ced83dba344ec55df0a0c992437dbb1
@Override
public void playSound(Entity entity, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
-@@ -1717,6 +1727,33 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1722,6 +1732,33 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
@@ -3645,7 +3645,7 @@ index fb8c641604473a3853b2f8b9cd5c8a65fd2482be..0ced83dba344ec55df0a0c992437dbb1
private Map> gamerules;
public synchronized Map> getGameRulesNMS() {
if (this.gamerules != null) {
-@@ -2156,5 +2193,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2161,5 +2198,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public void setSendViewDistance(final int viewDistance) {
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -4185,7 +4185,7 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917
public boolean isOp() {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a3550d84c273c9720491484382a4bc50dc3246a6..24631135f90bb74bf829160ed079e152573666a2 100644
+index 2e4e6fee48d0f6be3b23a109a7c661b27179ccaa..361d138f36e6eb25c225b1278fc73f045f0fc72f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -395,14 +395,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -5228,7 +5228,7 @@ index c71a4971f127fdfc753306019313ce1a31201120..fd3b12477c30d1eabdbe57ea77902793
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 2d68086ef09b5f2d6b3d3e6200e621c23747b25a..f3789ea732b17a311d8203a58a97d11370ec7863 100644
+index 4054deb8ba4eb26c712d76311a250b6b80ff8455..bae8b6486d8adb9be035e2f6f697d2d35ec0e67e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1097,6 +1097,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch
index 7e5e8a1054..1c9bd827bd 100644
--- a/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -20,10 +20,10 @@ index 943c14b26cf5b1c9f9ea1acec058cecac3b93bf7..e5eac1977f77b7ce1112bfe7ac1b77d9
private final List pendingBlockEntityTickers = Lists.newArrayList();
private boolean tickingBlockEntities;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 0ced83dba344ec55df0a0c992437dbb162426518..ea90a64810e2f0669d862b5b6deba0905380051f 100644
+index 67f9a3ff28014235754121363e7a622787092bfb..ecdfe2d1e9ddc16034523619aa304a451269763b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -168,6 +168,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -169,6 +169,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
diff --git a/patches/server/0126-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0126-Remove-CraftScheduler-Async-Task-Debugger.patch
index 15ad3dc3e2..08692be694 100644
--- a/patches/server/0126-Remove-CraftScheduler-Async-Task-Debugger.patch
+++ b/patches/server/0126-Remove-CraftScheduler-Async-Task-Debugger.patch
@@ -9,7 +9,7 @@ One report of a suspected memory leak with the system.
This adds additional overhead to asynchronous task dispatching
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index 0c0115ccd8541ac62975f4759b4e2083ac560332..300d31e31a55dbee3489320e21e42f14ac429478 100644
+index 152c816efbd633210ff308ef56f5d0cda6edb1b5..22a5eff6c82df46e528c980afa33be78536b1b93 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -432,7 +432,7 @@ public class CraftScheduler implements BukkitScheduler {
@@ -30,7 +30,7 @@ index 0c0115ccd8541ac62975f4759b4e2083ac560332..300d31e31a55dbee3489320e21e42f14
}
private void addTask(final CraftTask task) {
-@@ -509,10 +509,15 @@ public class CraftScheduler implements BukkitScheduler {
+@@ -505,10 +505,15 @@ public class CraftScheduler implements BukkitScheduler {
@Override
public String toString() {
diff --git a/patches/server/0177-Improved-Async-Task-Scheduler.patch b/patches/server/0177-Improved-Async-Task-Scheduler.patch
index d53657768c..82d5ebd660 100644
--- a/patches/server/0177-Improved-Async-Task-Scheduler.patch
+++ b/patches/server/0177-Improved-Async-Task-Scheduler.patch
@@ -159,7 +159,7 @@ index 0000000000000000000000000000000000000000..0ca279fb71d39c81b1f608e0ee9ba3e4
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index 300d31e31a55dbee3489320e21e42f14ac429478..7de4db0099b380c81d6a809a298d580f0f6e4acc 100644
+index 22a5eff6c82df46e528c980afa33be78536b1b93..4f2eafbc012b7f9bdbe409d266fdb467ec788de6 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -75,7 +75,7 @@ public class CraftScheduler implements BukkitScheduler {
@@ -324,16 +324,13 @@ index 300d31e31a55dbee3489320e21e42f14ac429478..7de4db0099b380c81d6a809a298d580f
// We don't need to parse pending
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
-@@ -450,7 +508,7 @@ public class CraftScheduler implements BukkitScheduler {
+@@ -450,12 +508,18 @@ public class CraftScheduler implements BukkitScheduler {
//this.debugHead = this.debugHead.getNextHead(this.currentTick); // Paper
}
- private void addTask(final CraftTask task) {
+ protected void addTask(final CraftTask task) {
- final AtomicReference tail = this.tail;
- CraftTask tailTask = tail.get();
- while (!tail.compareAndSet(tailTask, task)) {
-@@ -459,7 +517,13 @@ public class CraftScheduler implements BukkitScheduler {
+ final CraftTask tailTask = this.tail.getAndSet(task);
tailTask.setNext(task);
}
@@ -348,7 +345,7 @@ index 300d31e31a55dbee3489320e21e42f14ac429478..7de4db0099b380c81d6a809a298d580f
task.setNextRun(this.currentTick + delay);
this.addTask(task);
return task;
-@@ -482,7 +546,7 @@ public class CraftScheduler implements BukkitScheduler {
+@@ -478,7 +542,7 @@ public class CraftScheduler implements BukkitScheduler {
return id;
}
diff --git a/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch
index 978cde4c95..532ff4941f 100644
--- a/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -34,10 +34,10 @@ index 3d54f52ed43ceef368804f7dce1dd95de3acc045..03161ef12960cab3b9c81c190dd808a9
if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index ea90a64810e2f0669d862b5b6deba0905380051f..807b912a0d24ded99dc487e55c9b1812ffd86c3f 100644
+index 9ad27a6908ac07d87dc0453b61f69d3b3037a971..51e5cd3e56487c3438d9b4ab1670e551790967ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1984,8 +1984,19 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1989,8 +1989,19 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
diff --git a/patches/server/0201-Expand-Explosions-API.patch b/patches/server/0201-Expand-Explosions-API.patch
index 7bf62df21c..c005daa850 100644
--- a/patches/server/0201-Expand-Explosions-API.patch
+++ b/patches/server/0201-Expand-Explosions-API.patch
@@ -54,10 +54,10 @@ index 9f37d7284c81d529551107e2836627977efabd65..d1878f597c3d8119e9b248f4fe8af435
while (iterator.hasNext()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 807b912a0d24ded99dc487e55c9b1812ffd86c3f..195e698eadc7ce916b4bcfe04849501ee4a39aad 100644
+index bb407fe2a2f65d8bb73024b3c33025808a50f6e3..ec32a4c6d55784c27390ccdf3f90362eacd15eb2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -776,6 +776,11 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -777,6 +777,11 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) {
@@ -69,7 +69,7 @@ index 807b912a0d24ded99dc487e55c9b1812ffd86c3f..195e698eadc7ce916b4bcfe04849501e
net.minecraft.world.level.Level.ExplosionInteraction explosionType;
if (!breakBlocks) {
explosionType = net.minecraft.world.level.Level.ExplosionInteraction.NONE; // Don't break blocks
-@@ -786,8 +791,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -787,8 +792,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
net.minecraft.world.entity.Entity entity = (source == null) ? null : ((CraftEntity) source).getHandle();
diff --git a/patches/server/0205-Implement-World.getEntity-UUID-API.patch b/patches/server/0205-Implement-World.getEntity-UUID-API.patch
index ad1944ffb4..3e3ff89c36 100644
--- a/patches/server/0205-Implement-World.getEntity-UUID-API.patch
+++ b/patches/server/0205-Implement-World.getEntity-UUID-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 195e698eadc7ce916b4bcfe04849501ee4a39aad..5cc7cb42bd6c456ca0f3d62666083c9fd0516ffa 100644
+index ec32a4c6d55784c27390ccdf3f90362eacd15eb2..4ca004c9f94fdcfa56a3c151a45a534271b20909 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1129,6 +1129,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1130,6 +1130,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return list;
}
diff --git a/patches/server/0232-Optimize-CraftBlockData-Creation.patch b/patches/server/0232-Optimize-CraftBlockData-Creation.patch
index 03c51206ce..d66c9bf468 100644
--- a/patches/server/0232-Optimize-CraftBlockData-Creation.patch
+++ b/patches/server/0232-Optimize-CraftBlockData-Creation.patch
@@ -26,10 +26,10 @@ index 0bae4e8d1e9fcc4608b3ef1c981c65f3b03de22b..83a3c877f2969549ea154ad86687e96f
private boolean calculateSolid() {
if (((Block) this.owner).properties.forceSolidOn) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index da39a252be9b77c81c07d6b67da9f2380f9445a8..c53dbcfde62ae8e2f019e854c336ce4a60346dc9 100644
+index e3987a1947548f152daaa9c7ad1d894a13eacbd8..b472cd2d8ca0885ca5f2c42787d796f3e27ec413 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-@@ -574,7 +574,17 @@ public class CraftBlockData implements BlockData {
+@@ -578,7 +578,17 @@ public class CraftBlockData implements BlockData {
return craft;
}
diff --git a/patches/server/0236-Inventory-removeItemAnySlot.patch b/patches/server/0236-Inventory-removeItemAnySlot.patch
index 1316343a0a..f1cf07d2eb 100644
--- a/patches/server/0236-Inventory-removeItemAnySlot.patch
+++ b/patches/server/0236-Inventory-removeItemAnySlot.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Inventory#removeItemAnySlot
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-index 88d5590aa07de09e56ac0bd8d23caa588e36807b..6a47c6adb721f0c6737150d8b0ee18ab70f5f281 100644
+index 35651063e7fc48d8f2bea3d6a2b06a36cca59930..54ce9218c1759d641b2c780d79f1da1e0981c474 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
@@ -224,10 +224,16 @@ public class CraftInventory implements Inventory {
@@ -26,7 +26,7 @@ index 88d5590aa07de09e56ac0bd8d23caa588e36807b..6a47c6adb721f0c6737150d8b0ee18ab
for (int i = 0; i < inventory.length; i++) {
if (inventory[i] == null) continue;
-@@ -351,6 +357,17 @@ public class CraftInventory implements Inventory {
+@@ -339,6 +345,17 @@ public class CraftInventory implements Inventory {
@Override
public HashMap removeItem(ItemStack... items) {
@@ -44,7 +44,7 @@ index 88d5590aa07de09e56ac0bd8d23caa588e36807b..6a47c6adb721f0c6737150d8b0ee18ab
Preconditions.checkArgument(items != null, "items cannot be null");
HashMap leftover = new HashMap();
-@@ -362,7 +379,10 @@ public class CraftInventory implements Inventory {
+@@ -350,7 +367,10 @@ public class CraftInventory implements Inventory {
int toDelete = item.getAmount();
while (true) {
diff --git a/patches/server/0237-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0237-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
index 658a8370ad..ab6a007442 100644
--- a/patches/server/0237-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
+++ b/patches/server/0237-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5cc7cb42bd6c456ca0f3d62666083c9fd0516ffa..c3874468dc5bcdbe08e473760b028223b3ed8bb1 100644
+index 4ca004c9f94fdcfa56a3c151a45a534271b20909..55f2305ceebe2307796fe22d62d51ec2215b98b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -430,7 +430,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -431,7 +431,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
diff --git a/patches/server/0251-Add-sun-related-API.patch b/patches/server/0251-Add-sun-related-API.patch
index d8ad64f351..65a25e657d 100644
--- a/patches/server/0251-Add-sun-related-API.patch
+++ b/patches/server/0251-Add-sun-related-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add sun related API
public net.minecraft.world.entity.Mob isSunBurnTick()Z
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c3874468dc5bcdbe08e473760b028223b3ed8bb1..0e074cabe81a7135773c59dbdd5607247fa8bf16 100644
+index 55f2305ceebe2307796fe22d62d51ec2215b98b0..a526c27ab0b4ea8ed70d338accce63d028901fd2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -754,6 +754,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -755,6 +755,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
diff --git a/patches/server/0261-Restore-custom-InventoryHolder-support.patch b/patches/server/0261-Restore-custom-InventoryHolder-support.patch
index f86f8995c6..2830a3ac08 100644
--- a/patches/server/0261-Restore-custom-InventoryHolder-support.patch
+++ b/patches/server/0261-Restore-custom-InventoryHolder-support.patch
@@ -194,10 +194,10 @@ index 1a2329021a6b29777c637ee4dc8cd69ed18001c9..674e3a827f8fb64e5c0beefb3c1874d6
// SPIGOT-4598 - we should still delegate the shift click handler
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-index 6a47c6adb721f0c6737150d8b0ee18ab70f5f281..75eb794f796b31c0c5ef80a6d27a56711a522f5e 100644
+index 54ce9218c1759d641b2c780d79f1da1e0981c474..628e0cffa6cac6da137a25b85e86a50aec59c4b4 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-@@ -497,6 +497,10 @@ public class CraftInventory implements Inventory {
+@@ -485,6 +485,10 @@ public class CraftInventory implements Inventory {
return InventoryType.BREWING;
} else if (this.inventory instanceof CraftInventoryCustom.MinecraftInventory) {
return ((CraftInventoryCustom.MinecraftInventory) this.inventory).getType();
diff --git a/patches/server/0364-Inventory-getHolder-method-without-block-snapshot.patch b/patches/server/0364-Inventory-getHolder-method-without-block-snapshot.patch
index b30d42bf56..e5f25132df 100644
--- a/patches/server/0364-Inventory-getHolder-method-without-block-snapshot.patch
+++ b/patches/server/0364-Inventory-getHolder-method-without-block-snapshot.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Inventory getHolder method without block snapshot
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-index 75eb794f796b31c0c5ef80a6d27a56711a522f5e..e824fe361286a5f41b137be92d799eef54ae4b87 100644
+index 628e0cffa6cac6da137a25b85e86a50aec59c4b4..f3a1859a1c2adb0448186c322793585dafefe7e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-@@ -543,6 +543,13 @@ public class CraftInventory implements Inventory {
+@@ -531,6 +531,13 @@ public class CraftInventory implements Inventory {
return this.inventory.getOwner();
}
diff --git a/patches/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index a0949c9fb2..ec9498320e 100644
--- a/patches/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -8,7 +8,7 @@ makes it so that the server keeps the last difficulty used instead
of restoring the server.properties every single load.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3d2c70ab9938555c976588b0a98901d57876e51e..99b5877fc2f568929b35aa10638173bbef27503b 100644
+index c2ba34f6d5765fd8574a61825a6aab8fdd98a0f2..74515a58cd698ebca3ee98bd89a8f9de477736e7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -850,7 +850,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop%s", nms, bukkit);
}
diff --git a/patches/server/0427-Add-Destroy-Speed-API.patch b/patches/server/0427-Add-Destroy-Speed-API.patch
index 2274f8a5d4..d7c93744a0 100644
--- a/patches/server/0427-Add-Destroy-Speed-API.patch
+++ b/patches/server/0427-Add-Destroy-Speed-API.patch
@@ -35,10 +35,10 @@ index a2fe7149a837040cf9f23eb426d398a5f90be394..27a7852a5d3f8c8960f098646ff5587c
private Collection getModifiersOrEmpty(AttributeModifier.Operation operation) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index 7f0d87bd43a54885fc521068116888083327f37e..a17c1d1651d4d36c40ef97c1cf0b1e0d61f53418 100644
+index cabf3146b0dd5790536cb9995de6a876d7ab3f50..0cf033e1b559506bd902a2159adef2b279c18798 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-@@ -725,4 +725,35 @@ public class CraftBlockData implements BlockData {
+@@ -729,4 +729,35 @@ public class CraftBlockData implements BlockData {
public BlockState createBlockState() {
return CraftBlockStates.getBlockState(this.state, null);
}
diff --git a/patches/server/0454-Add-WorldGameRuleChangeEvent.patch b/patches/server/0454-Add-WorldGameRuleChangeEvent.patch
index 5e011c5b51..a2d6d932ee 100644
--- a/patches/server/0454-Add-WorldGameRuleChangeEvent.patch
+++ b/patches/server/0454-Add-WorldGameRuleChangeEvent.patch
@@ -64,10 +64,10 @@ index 7ea92a0b0f5d4eb6bd873e61c42bc0499d5d2028..09299e45552eb998fd02123c3921c065
public int get() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 2ad9c104c7a99882417f9662d657841636751223..5304fb017b6ecda3ff96e1e44be444260fd8d715 100644
+index 8d2d5cae4de522676cc4764f8b36f93744f3c890..8fc7192b8eb56fb1411391153e37ae654af9b68e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1879,9 +1879,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1884,9 +1884,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (rule == null || value == null) return false;
if (!this.isGameRule(rule)) return false;
@@ -83,7 +83,7 @@ index 2ad9c104c7a99882417f9662d657841636751223..5304fb017b6ecda3ff96e1e44be44426
handle.onChanged(this.getHandle());
return true;
}
-@@ -1916,9 +1921,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1921,9 +1926,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(newValue != null, "GameRule value cannot be null");
if (!this.isGameRule(rule.getName())) return false;
diff --git a/patches/server/0482-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0482-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index ead28f59cb..2f143cc0b4 100644
--- a/patches/server/0482-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/server/0482-Add-getMainThreadExecutor-to-BukkitScheduler.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getMainThreadExecutor to BukkitScheduler
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index a700dac93499650fdaa0af06ff77607ffa4dbbb2..6fef86e47e37eab6721cfd67d494afb25a2ded68 100644
+index 20760e08b3d9aba86969b886b46deec5b125bf1f..1354ccfbf525e5e64483ac5f443cc2325ba63850 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-@@ -637,4 +637,15 @@ public class CraftScheduler implements BukkitScheduler {
+@@ -633,4 +633,15 @@ public class CraftScheduler implements BukkitScheduler {
public BukkitTask runTaskTimerAsynchronously(Plugin plugin, BukkitRunnable task, long delay, long period) throws IllegalArgumentException {
throw new UnsupportedOperationException("Use BukkitRunnable#runTaskTimerAsynchronously(Plugin, long, long)");
}
diff --git a/patches/server/0510-More-World-API.patch b/patches/server/0510-More-World-API.patch
index c9ff78a94a..6f6b279ced 100644
--- a/patches/server/0510-More-World-API.patch
+++ b/patches/server/0510-More-World-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5304fb017b6ecda3ff96e1e44be444260fd8d715..75554719891cfeccfde1b6b58bf9861db1268adc 100644
+index 8fc7192b8eb56fb1411391153e37ae654af9b68e..956f7206f26325ed1be639bd6289991332763a70 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2125,6 +2125,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2130,6 +2130,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value()), CraftLocation.toBukkit(found.getFirst(), this));
}
diff --git a/patches/server/0521-Inventory-close.patch b/patches/server/0521-Inventory-close.patch
index 9ca8b717ab..9dcad3d0b1 100644
--- a/patches/server/0521-Inventory-close.patch
+++ b/patches/server/0521-Inventory-close.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Inventory#close
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-index e824fe361286a5f41b137be92d799eef54ae4b87..3b0d3e9a067fccb10122c273aaf658ba240aa716 100644
+index f3a1859a1c2adb0448186c322793585dafefe7e0..bc5ec42a54401a2275c05f0f506ba89f00c19ec9 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-@@ -451,6 +451,14 @@ public class CraftInventory implements Inventory {
+@@ -439,6 +439,14 @@ public class CraftInventory implements Inventory {
this.clear(i);
}
}
diff --git a/patches/server/0534-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0534-Add-cause-to-Weather-ThunderChangeEvents.patch
index ef52ee655c..a95ce30f68 100644
--- a/patches/server/0534-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/server/0534-Add-cause-to-Weather-ThunderChangeEvents.patch
@@ -95,10 +95,10 @@ index 6a3959095e57f76b3a092b32d26ff91cf1c5e068..0fa16ff37f09ecfda104b751e48bf246
if (weather.isCancelled()) {
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 75554719891cfeccfde1b6b58bf9861db1268adc..b2455a03d92187b35bb0efeb4b041bbf7936851e 100644
+index 72e547073782c657d8a500c3a40046208dde7201..8603f52c40e5e604dbc704097289ab072bd6a950 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1200,7 +1200,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1201,7 +1201,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setStorm(boolean hasStorm) {
@@ -107,7 +107,7 @@ index 75554719891cfeccfde1b6b58bf9861db1268adc..b2455a03d92187b35bb0efeb4b041bbf
this.setWeatherDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
}
-@@ -1222,7 +1222,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1223,7 +1223,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThundering(boolean thundering) {
diff --git a/patches/server/0547-add-per-world-spawn-limits.patch b/patches/server/0547-add-per-world-spawn-limits.patch
index 430c3bbabc..17abe63582 100644
--- a/patches/server/0547-add-per-world-spawn-limits.patch
+++ b/patches/server/0547-add-per-world-spawn-limits.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] add per world spawn limits
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b2455a03d92187b35bb0efeb4b041bbf7936851e..6596af8332ca6abbcaa68cae60ba994c39767938 100644
+index 8603f52c40e5e604dbc704097289ab072bd6a950..9221be1aef355a488745ca44e4cd5dd84060a2f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -218,6 +218,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -219,6 +219,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
this.biomeProvider = biomeProvider;
this.environment = env;
diff --git a/patches/server/0577-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0577-Add-methods-to-find-targets-for-lightning-strikes.patch
index 01813e49c7..792cc392d0 100644
--- a/patches/server/0577-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0577-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -31,10 +31,10 @@ index 57b82b90ab55922e57ccf79c57296d1d2e34d6a2..50d4bd6223eb92c640a61ee61af862e7
blockposition1 = blockposition1.above(2);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 6596af8332ca6abbcaa68cae60ba994c39767938..1812dcd6e21d6de834ce6c39b5b69cee31a5fa06 100644
+index 9221be1aef355a488745ca44e4cd5dd84060a2f9..55b8b25dfece08ecc82fa2f15c81bd6a03a5de90 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -675,6 +675,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -676,6 +676,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (LightningStrike) lightning.getBukkitEntity();
}
diff --git a/patches/server/0580-Add-more-advancement-API.patch b/patches/server/0580-Add-more-advancement-API.patch
index 1875c743c1..70ac177106 100644
--- a/patches/server/0580-Add-more-advancement-API.patch
+++ b/patches/server/0580-Add-more-advancement-API.patch
@@ -96,11 +96,11 @@ index 05de12414a3ad1c8f0f02f7973898dda84b89b82..6581cdbec730d5d184566e7b611369b3
public DisplayInfo(
ItemStack icon,
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
-index 52baf818579a6841b77ff80e42f4f1b9f635ea08..8dfaca2efa0b0bdc97b75aaa83158a2e46361e4e 100644
+index d119093d3a68c5a378fcd20860e36dbd2ba5024f..d12d9913f15c274df9c23f68e4e0304d41fccbdb 100644
--- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
-@@ -29,12 +29,47 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement {
- return Collections.unmodifiableCollection(this.handle.value().criteria().keySet());
+@@ -35,12 +35,47 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement {
+ return new CraftAdvancementRequirements(this.handle.value().requirements());
}
+ // Paper start - Add more advancement API
diff --git a/patches/server/0583-Fix-issues-with-mob-conversion.patch b/patches/server/0583-Fix-issues-with-mob-conversion.patch
index 281a6e42c5..c286b73b30 100644
--- a/patches/server/0583-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0583-Fix-issues-with-mob-conversion.patch
@@ -31,17 +31,17 @@ index 6f6454bcec7e0d1cefbf818fc2fc6eb90adeec83..3972e2ed0554e2550519e994888e068d
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
-index d51acb788803048c0eacd762a2fd311115ac0970..6ea90e54759dbeab025e0a1896ee834ea9986427 100644
+index 34fff71edbdcefe87985f31cbf1ef282435ace06..92270912ef26924f611a1df7cb3d5b485b0a262d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
-@@ -260,9 +260,15 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
+@@ -241,9 +241,15 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
}
private void finishConversion() {
-- this.convertTo(
-+ net.minecraft.world.entity.Entity converted = this.convertTo( // Paper - Fix issues with mob conversion; reset to prevent event spam
- EntityType.ZOGLIN, ConversionParams.single(this, true, false), zoglin -> zoglin.addEffect(new MobEffectInstance(MobEffects.CONFUSION, 200, 0))
- );
+- this.convertTo(EntityType.ZOGLIN, ConversionParams.single(this, true, false), (entityzoglin) -> {
++ net.minecraft.world.entity.Entity converted = this.convertTo(EntityType.ZOGLIN, ConversionParams.single(this, true, false), (entityzoglin) -> {
+ entityzoglin.addEffect(new MobEffectInstance(MobEffects.CONFUSION, 200, 0));
+ }, org.bukkit.event.entity.EntityTransformEvent.TransformReason.PIGLIN_ZOMBIFIED, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.PIGLIN_ZOMBIFIED); // CraftBukkit - add spawn and transform reasons
+
+ // Paper start - Fix issues with mob conversion; reset to prevent event spam
+ if (converted == null) {
diff --git a/patches/server/0591-Improve-and-expand-AsyncCatcher.patch b/patches/server/0591-Improve-and-expand-AsyncCatcher.patch
index f2bb9da75a..751923d583 100644
--- a/patches/server/0591-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0591-Improve-and-expand-AsyncCatcher.patch
@@ -166,10 +166,10 @@ index 4eb0b0969325f39a7ae65492cccd482515a50142..5aa74c00a61282830d82359eae2b114e
PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason});
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 1812dcd6e21d6de834ce6c39b5b69cee31a5fa06..8fdae6c7d37d2403d95d37fe0dc35f168ce0f256 100644
+index be27fe25d1d1057da4734a8d9c2a92690a7eec3c..302812de273fe21d3ce7aedc325d9a739b69ef20 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1750,6 +1750,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1755,6 +1755,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Location loc, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -177,7 +177,7 @@ index 1812dcd6e21d6de834ce6c39b5b69cee31a5fa06..8fdae6c7d37d2403d95d37fe0dc35f16
if (loc == null || sound == null || category == null) return;
double x = loc.getX();
-@@ -1761,6 +1762,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1766,6 +1767,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Location loc, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -185,7 +185,7 @@ index 1812dcd6e21d6de834ce6c39b5b69cee31a5fa06..8fdae6c7d37d2403d95d37fe0dc35f16
if (loc == null || sound == null || category == null) return;
double x = loc.getX();
-@@ -1793,6 +1795,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1798,6 +1800,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Entity entity, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -193,7 +193,7 @@ index 1812dcd6e21d6de834ce6c39b5b69cee31a5fa06..8fdae6c7d37d2403d95d37fe0dc35f16
if (!(entity instanceof CraftEntity craftEntity) || entity.getWorld() != this || sound == null || category == null) return;
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(CraftSound.bukkitToMinecraftHolder(sound), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
-@@ -1813,6 +1816,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1818,6 +1821,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Entity entity, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
diff --git a/patches/server/0592-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0592-Add-paper-mobcaps-and-paper-playermobcaps.patch
index 4f2526463b..61d853b7df 100644
--- a/patches/server/0592-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0592-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -294,10 +294,10 @@ index 45d887f4143444321f563cdd7d084b2b9ccf911e..33d9f3778996eedc83064332a2fbbdc7
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8fdae6c7d37d2403d95d37fe0dc35f168ce0f256..a6cb8225338a6450f13116aaec587d97ecbd5197 100644
+index 302812de273fe21d3ce7aedc325d9a739b69ef20..4166d69347912b03c9aa566a9523590c5e4f6630 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1708,9 +1708,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1713,9 +1713,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null");
Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory);
diff --git a/patches/server/0600-Add-missing-InventoryType.patch b/patches/server/0600-Add-missing-InventoryType.patch
index a49bdf073d..768c150fc1 100644
--- a/patches/server/0600-Add-missing-InventoryType.patch
+++ b/patches/server/0600-Add-missing-InventoryType.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add missing InventoryType
Upstream did not add a DECORATED_POT inventory type
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-index 3b0d3e9a067fccb10122c273aaf658ba240aa716..af1ae3dacb628da23f7d2988c6e76d3fb2d64103 100644
+index bc5ec42a54401a2275c05f0f506ba89f00c19ec9..c6159c70f7a37b9bffe268b91905ce848d1d2927 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
-@@ -541,6 +541,10 @@ public class CraftInventory implements Inventory {
+@@ -529,6 +529,10 @@ public class CraftInventory implements Inventory {
return InventoryType.COMPOSTER;
} else if (this.inventory instanceof JukeboxBlockEntity) {
return InventoryType.JUKEBOX;
diff --git a/patches/server/0638-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0638-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 64fb16f6c5..735eff701a 100644
--- a/patches/server/0638-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0638-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expose vanilla BiomeProvider from WorldInfo
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 8e0bc6559aad75a713e1760ea17e5004686d7e7a..0db44e8205d795cbeca1d6411aca0da5edf40d21 100644
+index 8f7b68cda090e038b5b6a7928e872debca4e011d..a63621fa5e15cf74a6c2e5a3d4e7c2d390ff4845 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -625,7 +625,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 83771925dc7009d56fc3c8283d75880c7e61296a..9b7304ea9a4f226872d13e64722adb267f727806 100644
+index 085b5a185a8470600e88d68f4fedfee8bae2b28a..d5675c1aec7d4b1a426cff55c8cac2decac6ec0a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1385,7 +1385,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1386,7 +1386,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(material != null, "Material cannot be null");
Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material);
@@ -28,7 +28,7 @@ index 83771925dc7009d56fc3c8283d75880c7e61296a..9b7304ea9a4f226872d13e64722adb26
return (FallingBlock) entity.getBukkitEntity();
}
-@@ -1394,7 +1399,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1395,7 +1400,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(location != null, "Location cannot be null");
Preconditions.checkArgument(data != null, "BlockData cannot be null");
diff --git a/patches/server/0703-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0703-Add-missing-important-BlockStateListPopulator-method.patch
index e0b94dc4ac..94a1b50995 100644
--- a/patches/server/0703-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0703-Add-missing-important-BlockStateListPopulator-method.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add missing important BlockStateListPopulator methods
Without these methods it causes exceptions due to these being used by certain feature generators.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
-index 072d105f05f3b535d53cfbf8538d1716f9cfcd0e..4d6d637188ef4010a71ea2eb6ea0310aea820511 100644
+index e32321f46625a3f08a9b6adb8f35895d0ee1b14e..514084aff8412251432dfe174a445ddb43361aed 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
-@@ -129,7 +129,7 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
+@@ -130,7 +130,7 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
@Override
public boolean isFluidAtPosition(BlockPos pos, Predicate state) {
@@ -18,9 +18,9 @@ index 072d105f05f3b535d53cfbf8538d1716f9cfcd0e..4d6d637188ef4010a71ea2eb6ea0310a
}
@Override
-@@ -152,4 +152,33 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
- public long nextSubTickCount() {
- return this.world.nextSubTickCount();
+@@ -159,4 +159,33 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
+ public RandomSource getRandom() {
+ return this.world.getRandom();
}
+
+ // Paper start
diff --git a/patches/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch
index 504e0b4859..990dd560c1 100644
--- a/patches/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0716-Warn-on-plugins-accessing-faraway-chunks.patch
@@ -18,10 +18,10 @@ index 9afc0eaaca5ab7b6445d90ce53e31a6ae76f8848..f0c2187a92de633a1d4cc7e71ff62cbe
private static boolean isOutsideSpawnableHeight(int y) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3fd936c71c 100644
+index 33735897ec3800754ba690ca215d3d11d746f728..b0e57ca463a3c7cb1be8920a899c9afc7c871f4b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -301,9 +301,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -302,9 +302,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean setSpawnLocation(int x, int y, int z) {
return this.setSpawnLocation(x, y, z, 0.0F);
}
@@ -46,7 +46,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
return new CraftChunk(chunk);
}
-@@ -399,6 +414,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -400,6 +415,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!unloadChunk0(x, z, false)) {
return false;
}
@@ -54,7 +54,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
final long chunkKey = ChunkCoordIntPair.pair(x, z);
world.getChunkProvider().unloadQueue.remove(chunkKey);
-@@ -472,6 +488,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -473,6 +489,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
@@ -62,7 +62,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper
// If generate = false, but the chunk already exists, we will get this back.
-@@ -504,6 +521,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -505,6 +522,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean addPluginChunkTicket(int x, int z, Plugin plugin) {
@@ -70,7 +70,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
Preconditions.checkArgument(plugin != null, "null plugin");
Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled");
-@@ -604,6 +622,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -605,6 +623,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setChunkForceLoaded(int x, int z, boolean forced) {
@@ -78,7 +78,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
this.getHandle().setChunkForced(x, z, forced);
}
-@@ -938,6 +957,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -939,6 +958,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
@@ -86,7 +86,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
}
-@@ -2339,6 +2359,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2344,6 +2364,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper start
@Override
public void getChunkAtAsync(int x, int z, boolean gen, boolean urgent, @NotNull Consumer super Chunk> cb) {
@@ -94,7 +94,7 @@ index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3f
ca.spottedleaf.moonrise.common.util.ChunkSystem.scheduleChunkLoad(
this.getHandle(), x, z, gen, ChunkStatus.FULL, true,
urgent ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL,
-@@ -2351,6 +2372,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2356,6 +2377,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void getChunksAtAsync(int minX, int minZ, int maxX, int maxZ, boolean urgent, Runnable cb) {
diff --git a/patches/server/0721-Block-Ticking-API.patch b/patches/server/0721-Block-Ticking-API.patch
index c2a5c23d6c..b490077b4f 100644
--- a/patches/server/0721-Block-Ticking-API.patch
+++ b/patches/server/0721-Block-Ticking-API.patch
@@ -46,10 +46,10 @@ index 68fcec085334383808b2117a49220f4d8239220b..7afb933782cac7e1ad621e80211c1306
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index a17c1d1651d4d36c40ef97c1cf0b1e0d61f53418..3ec64c995dcb59a758741e32b886925983a8be56 100644
+index 0cf033e1b559506bd902a2159adef2b279c18798..d66cab6adc3f76a3863fed5d0d9a6abf765af5c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-@@ -756,4 +756,11 @@ public class CraftBlockData implements BlockData {
+@@ -760,4 +760,11 @@ public class CraftBlockData implements BlockData {
return speed;
}
// Paper end - destroy speed API
diff --git a/patches/server/0843-Bandaid-fix-for-Effect.patch b/patches/server/0843-Bandaid-fix-for-Effect.patch
index c6a0aab0ab..fd2b0030e9 100644
--- a/patches/server/0843-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0843-Bandaid-fix-for-Effect.patch
@@ -68,10 +68,10 @@ index 71733f918ed84b9879ac1b142ef6205c5e768a9c..c856384019eff2f2d0bb831ebe1ccb0f
break;
case BONE_MEAL_USE:
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 431bd698e28b7731bf781e29de6c6a3fd936c71c..bca9e4908c7949a6f0b24fed2aa7332dd8f23e92 100644
+index 5ac5f5a1963a89dace45d61e0ca0588c1c0fd05c..01c06c0287e8c6538adac33f9e3755d062545a01 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1362,7 +1362,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1363,7 +1363,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public void playEffect(Location loc, Effect effect, T data, int radius) {
if (data != null) {
Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect);
@@ -81,7 +81,7 @@ index 431bd698e28b7731bf781e29de6c6a3fd936c71c..bca9e4908c7949a6f0b24fed2aa7332d
// Special case: the axis is optional for ELECTRIC_SPARK
Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e00a0eef7166793849f1caca285a51b922d422fa..e98d9d0c7a04d168cf8de42d575e07d55065bd09 100644
+index f4401ae5d4f9ceb963b582db63d65524f9a653fb..3c9aff1848d902a566e0dc252a88528ea471c72e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -924,7 +924,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 50464e50cb..f8c8435473 100644
--- a/patches/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/0886-Add-API-to-get-the-collision-shape-of-a-block-before.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add API to get the collision shape of a block before it's
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index 3ec64c995dcb59a758741e32b886925983a8be56..50fb7edd25c1b38f5c463b78d21d4583bdc89229 100644
+index d66cab6adc3f76a3863fed5d0d9a6abf765af5c6..21764b9d723e5c37a5d21d57d24d8631205ecbf2 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-@@ -683,6 +683,20 @@ public class CraftBlockData implements BlockData {
+@@ -687,6 +687,20 @@ public class CraftBlockData implements BlockData {
return this.state.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, CraftBlock.blockFaceToNotch(face), CraftBlockSupport.toNMS(support));
}
diff --git a/patches/server/0887-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0887-Add-predicate-for-blocks-when-raytracing.patch
index 1be78144b4..a85d20a914 100644
--- a/patches/server/0887-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/0887-Add-predicate-for-blocks-when-raytracing.patch
@@ -47,10 +47,10 @@ index 7e1a332168357b9af14dbe3299549c2c93903fa6..93738c7dea1ea3d19013a47380391274
Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo());
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index bca9e4908c7949a6f0b24fed2aa7332dd8f23e92..d72ce4b4cd5bec76eb45d6f0027643740f9907fd 100644
+index 01c06c0287e8c6538adac33f9e3755d062545a01..e3db170099b674c46248509daba332c771c3f750 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1096,9 +1096,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1097,9 +1097,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize, Predicate super Entity> filter) {
@@ -68,7 +68,7 @@ index bca9e4908c7949a6f0b24fed2aa7332dd8f23e92..d72ce4b4cd5bec76eb45d6f002764374
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1148,9 +1154,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1149,9 +1155,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) {
@@ -87,7 +87,7 @@ index bca9e4908c7949a6f0b24fed2aa7332dd8f23e92..d72ce4b4cd5bec76eb45d6f002764374
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1163,16 +1176,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1164,16 +1177,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
Vector dir = direction.clone().normalize().multiply(maxDistance);
diff --git a/patches/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index 1efd2d32b1..d70f73f92e 100644
--- a/patches/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/0890-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
@@ -45,10 +45,10 @@ index 152ecd38814089333b8d61538297ce720756d2c3..12127b14babf646711d3a118416453c4
if (world instanceof ServerLevel) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d72ce4b4cd5bec76eb45d6f0027643740f9907fd..b5b21852b4c3dc15e548afd81bdefbb83b9e7e9c 100644
+index e3db170099b674c46248509daba332c771c3f750..7f9c39649c9e11e34b043e914bbfb52a813ef6db 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -722,7 +722,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -723,7 +723,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create(this.world, EntitySpawnReason.COMMAND);
lightning.moveTo(loc.getX(), loc.getY(), loc.getZ());
diff --git a/patches/server/0897-Add-Structure-check-API.patch b/patches/server/0897-Add-Structure-check-API.patch
index a7d968138a..ea82ad83a2 100644
--- a/patches/server/0897-Add-Structure-check-API.patch
+++ b/patches/server/0897-Add-Structure-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b5b21852b4c3dc15e548afd81bdefbb83b9e7e9c..77faa873b22f59d27d5a99f4fef0d86a977875d0 100644
+index 7f9c39649c9e11e34b043e914bbfb52a813ef6db..725c25beef960feb567b9a0304f74cd53c450175 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -242,6 +242,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -243,6 +243,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
};
}
// Paper end
diff --git a/patches/server/0925-More-Raid-API.patch b/patches/server/0925-More-Raid-API.patch
index c9f33a2368..095d7f04b8 100644
--- a/patches/server/0925-More-Raid-API.patch
+++ b/patches/server/0925-More-Raid-API.patch
@@ -86,10 +86,10 @@ index b8ce1c1c2447f9cff1717bfcfd6eb911ade0d4b3..51f21af9d75769abdcba713b9aa33392
+ // Paper end - more Raid API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 77faa873b22f59d27d5a99f4fef0d86a977875d0..06b73ace3ae89e8a9de592bb4b8439b4e0cac9f2 100644
+index 0633bc206578b3bca7203ea721cfdfcd609dc568..035ffd365555cc2a82917e56c3d7454730287755 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2306,6 +2306,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2311,6 +2311,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (raid == null) ? null : new CraftRaid(raid);
}
diff --git a/patches/server/0968-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0968-Properly-remove-the-experimental-smithing-inventory-.patch
index 9ede88caa7..aa554450a4 100644
--- a/patches/server/0968-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/server/0968-Properly-remove-the-experimental-smithing-inventory-.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Properly remove the experimental smithing inventory type
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftAbstractInventoryView.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftAbstractInventoryView.java
-index 149825642976124e852be9aef54a3cb4a8ac193d..71d3a5e5dc5630007cf46f4be3d39da4145dd431 100644
+index 1b93774c35ca9d476e054bdef7d4971511231881..6331be47814d7116861ac6a87d3e97dc92993150 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftAbstractInventoryView.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftAbstractInventoryView.java
-@@ -160,7 +160,6 @@ public abstract class CraftAbstractInventoryView implements InventoryView {
+@@ -164,7 +164,6 @@ public abstract class CraftAbstractInventoryView implements InventoryView {
type = InventoryType.SlotType.CRAFTING;
break;
case ANVIL:
@@ -16,7 +16,7 @@ index 149825642976124e852be9aef54a3cb4a8ac193d..71d3a5e5dc5630007cf46f4be3d39da4
case CARTOGRAPHY:
case GRINDSTONE:
case MERCHANT:
-@@ -178,6 +177,7 @@ public abstract class CraftAbstractInventoryView implements InventoryView {
+@@ -182,6 +181,7 @@ public abstract class CraftAbstractInventoryView implements InventoryView {
}
break;
case LOOM:
diff --git a/patches/server/0976-Anti-Xray.patch b/patches/server/0976-Anti-Xray.patch
index e2439a6f77..126f7a294c 100644
--- a/patches/server/0976-Anti-Xray.patch
+++ b/patches/server/0976-Anti-Xray.patch
@@ -1612,10 +1612,10 @@ index 338b60f0254d55ac4a0645ca351d0ce736ce0681..87477ad186b5f692a39f323a618d016b
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 06b73ace3ae89e8a9de592bb4b8439b4e0cac9f2..5ce8d2a57fd2f29d227d223f1f5742540f1701bd 100644
+index 6c51f0a66236c6a64f4ed18bf4fb0ba6ad822d94..cec56346e6832603dab3eb0f67426d4de571438e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -452,11 +452,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -453,11 +453,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
List playersInRange = playerChunk.playerProvider.getPlayers(playerChunk.getPos(), false);
if (playersInRange.isEmpty()) return;
diff --git a/patches/server/1017-Add-FeatureFlag-API.patch b/patches/server/1017-Add-FeatureFlag-API.patch
index 15ab16d841..2d3757f237 100644
--- a/patches/server/1017-Add-FeatureFlag-API.patch
+++ b/patches/server/1017-Add-FeatureFlag-API.patch
@@ -162,10 +162,10 @@ index f0bd7d01f56bb792886354ca4f199e46c2cf7503..adc6741e0e017660fbd39a62b69be1e6
+ // Paper end - feature flag API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5ce8d2a57fd2f29d227d223f1f5742540f1701bd..61271ef3741656e81f30f9276ee48630ce97b3d3 100644
+index bc78b58dec47d8ca1da7762b0b3f168a35e090b8..1a6f4621190c9f3859c1ef6588718a8a555e026d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2359,10 +2359,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2364,10 +2364,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.persistentDataContainer;
}
diff --git a/patches/server/1029-Void-damage-configuration-API.patch b/patches/server/1029-Void-damage-configuration-API.patch
index e1006ef695..49dc8ef853 100644
--- a/patches/server/1029-Void-damage-configuration-API.patch
+++ b/patches/server/1029-Void-damage-configuration-API.patch
@@ -33,10 +33,10 @@ index f2708479ccf994278ad1ab4665edc46672001e8a..59c992173fda6153c58722caae061b0e
protected void updateSwingTime() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 61271ef3741656e81f30f9276ee48630ce97b3d3..4a5a0e33af16369f665bf39e70238e4e5a5486da 100644
+index c79c4db56fc4f43498d7886dcb3248798a4c509e..cd2e74ebadc1aa8282b3d5b89696ddbc053b2708 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -167,6 +167,41 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -168,6 +168,41 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final Object2IntOpenHashMap spawnCategoryLimit = new Object2IntOpenHashMap<>();
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
@@ -78,7 +78,7 @@ index 61271ef3741656e81f30f9276ee48630ce97b3d3..4a5a0e33af16369f665bf39e70238e4e
// Paper start - Provide fast information methods
@Override
-@@ -267,6 +302,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -268,6 +303,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
// Paper end - per world spawn limits
diff --git a/patches/server/1037-Moonrise-optimisation-patches.patch b/patches/server/1037-Moonrise-optimisation-patches.patch
index c2bbb5a373..34722c234c 100644
--- a/patches/server/1037-Moonrise-optimisation-patches.patch
+++ b/patches/server/1037-Moonrise-optimisation-patches.patch
@@ -36066,7 +36066,7 @@ index 26620c06d26a2c0eb957fbadc6ac3d7a309bff46..3858c83c58e78435a6e29de84c33faa2
for (SavedTick savedTick : this.pendingTicks) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index f65cc95ab28e8a3b21eac2b16bd9ebe97e56e571..0074bc0e7147dc3a8c538e796f14ac9bf8725896 100644
+index 028174f712ea9605f22243b76c3f5dd6da76b57f..2dd38f40c8c0b48b12ffe557ceeed69213066a6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -82,6 +82,12 @@ public class CraftChunk implements Chunk {
@@ -36177,10 +36177,10 @@ index 87477ad186b5f692a39f323a618d016b669d8051..1df118625aeb57f3353c40f9552f00d2
// Paper start - Adventure
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 4a5a0e33af16369f665bf39e70238e4e5a5486da..696152286a4d16fa51a23ff6e15fb297f3476007 100644
+index ebee036527eaef5e940dd4fec8e3c5dab12fac76..ddf6403682025e544ab4060c32ff089ed11ffe0a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -488,10 +488,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -489,10 +489,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -36198,7 +36198,7 @@ index 4a5a0e33af16369f665bf39e70238e4e5a5486da..696152286a4d16fa51a23ff6e15fb297
// Paper start - Anti-Xray bypass
final Map