aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-06-27 22:33:36 +0200
committerNassim Jahnke <[email protected]>2024-06-27 22:33:36 +0200
commitf9ef3c26ab21fb923ab13440f626da575c870c78 (patch)
tree9915aa7c8becfdb236fe3f2436e89053f8c1f726
parent1f5db504244fe6563ab32cee646dad0c53360e01 (diff)
downloadPaper-f9ef3c26ab21fb923ab13440f626da575c870c78.tar.gz
Paper-f9ef3c26ab21fb923ab13440f626da575c870c78.zip
Add forRemoval to material data deprecations
-rw-r--r--patches/api/0166-Fix-Spigot-annotation-mistakes.patch846
1 files changed, 832 insertions, 14 deletions
diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
index 9ff09f5aa8..e2d46db8f6 100644
--- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
@@ -91,26 +91,26 @@ index fb143a39f81ca7f14688ee3515a06256feac0f80..7b29a19610dbdc99e3662f70a8a291e6
return server.getScoreboardManager();
}
diff --git a/src/main/java/org/bukkit/CoalType.java b/src/main/java/org/bukkit/CoalType.java
-index c07499dbdd49d70717dbd674d97b6dbcfd7e9d5b..75e563d2a6d417b95c7f06a0636811aec8259672 100644
+index c07499dbdd49d70717dbd674d97b6dbcfd7e9d5b..039b71c6471d00123226edda0fe839fd946029c4 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;
/**
* Represents the two types of coal
*/
-+@Deprecated // Paper
++@Deprecated(forRemoval = true, since = "1.13")
public enum CoalType {
COAL(0x0),
CHARCOAL(0x1);
diff --git a/src/main/java/org/bukkit/CropState.java b/src/main/java/org/bukkit/CropState.java
-index fb4832fb796a38c0f5f51cf80a67259924f2c607..519deeeb86672fd75ae62026f956727d01f78fef 100644
+index fb4832fb796a38c0f5f51cf80a67259924f2c607..a4f88f4420b855a08f98b77fa1ff35dcec9da8a9 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;
/**
* Represents the different growth states of crops
*/
-+@Deprecated // Paper
++@Deprecated(forRemoval = true, since = "1.13")
public enum CropState {
/**
@@ -255,7 +255,7 @@ index 938c3217f92e6d3ef9a637269c469f8359af6347..81e45984a88fc84acd0f76d825abf4dd
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..f8ae143acbf586d5279b44f7311ca97f3ae4ead2 100644
+index f9c9ae463aacd593e3aa9caf037ea1e23d56c780..38ccfd0a1b38e7a87185e668d3c020816c68a66b 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;
@@ -264,7 +264,7 @@ index f9c9ae463aacd593e3aa9caf037ea1e23d56c780..f8ae143acbf586d5279b44f7311ca97f
* Represents the different types of grass.
+ * @deprecated use {@link org.bukkit.block.data.BlockData}
*/
-+@Deprecated // Paper
++@Deprecated(forRemoval = true, since = "1.13")
public enum GrassSpecies {
/**
@@ -373,7 +373,7 @@ index 9b61129c3ef83d0bfceba54aba2effa12bc90678..cbdaa121dbc1876d0cd55f4b7b57f283
Preconditions.checkArgument(namespace != null && isValidNamespace(namespace), "Invalid namespace. Must be [a-z0-9._-]: %s", namespace);
Preconditions.checkArgument(key != null && isValidKey(key), "Invalid key. Must be [a-z0-9/._-]: %s", key);
diff --git a/src/main/java/org/bukkit/NetherWartsState.java b/src/main/java/org/bukkit/NetherWartsState.java
-index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..f0094e6fb05e526736629ad3181c8d2c16ba6ca4 100644
+index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..d6c09d88189b3e9ecc629d8cf18a2b81e6801871 100644
--- a/src/main/java/org/bukkit/NetherWartsState.java
+++ b/src/main/java/org/bukkit/NetherWartsState.java
@@ -1,5 +1,11 @@
@@ -383,7 +383,7 @@ index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..f0094e6fb05e526736629ad3181c8d2c
+/**
+ * @deprecated use {@link org.bukkit.block.data.BlockData} and {@link org.bukkit.block.data.Ageable}
+ */
-+@Deprecated
++@Deprecated(forRemoval = true, since = "1.13")
+// Paper end
public enum NetherWartsState {
@@ -484,7 +484,7 @@ index f1a7f3b3e20963fa9d97bcc0686a35863de2b60f..3effaea369d9c7a6a22979fbfc270f55
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..10f5cfb1885833a1d2c1027c03974da45ab28e2f 100644
+index 6277451c3c6c551078c237cd767b6d70c4f585ea..7d33b3e2f81c14d3aeb800b39e7823831ecc39e4 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;
@@ -493,7 +493,7 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da4
* Represents the three different types of Sandstone
+ * @deprecated use {@link org.bukkit.block.data.BlockData}
*/
-+@Deprecated // Paper
++@Deprecated(forRemoval = true, since = "1.13")
public enum SandstoneType {
CRACKED(0x0),
GLYPHED(0x1),
@@ -548,6 +548,32 @@ index c1a1baa2c79ad48b210e770f198ca9a2d7815df4..75b3295a5544626d28c57b317d95db90
ScoreboardManager getScoreboardManager();
/**
+diff --git a/src/main/java/org/bukkit/SkullType.java b/src/main/java/org/bukkit/SkullType.java
+index 49f2f1128892fa991ed18785cd954b07ddd8e51a..08a946aaf29726d19be970c19d0bbbc59dd21efe 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")
+ 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..806df617dedae81cb8a6e9b16f82ff1b3ad84609 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.13")
+ 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
--- a/src/main/java/org/bukkit/UndefinedNullability.java
@@ -729,6 +755,18 @@ index b90f5dc345ad2cdd3ae353dc57f42a14c231d18a..a7b915ded9154d53ac8ca599119c1699
@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
+--- 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")
+ 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 c7a901707048e9dc82b8f17f3285727460173c72..64675a3641acb50676ca0122f8473ce94de8fba7 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -1919,29 +1957,809 @@ index 9b8b68b66dc15b06800251702c2722623c8462a0..e998c5d871e02564c24260a8205dcfaf
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
+--- 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(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
+--- 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(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
+--- 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(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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ public class MonsterEggs extends TexturedMaterial {
+
+ private static final List<Material> textures = new ArrayList<Material>();
+diff --git a/src/main/java/org/bukkit/material/Mushroom.java b/src/main/java/org/bukkit/material/Mushroom.java
+index 8927b307adcc3c98aa96caea38ea2eb9338e284e..e219d29fde408d464015f51dc64b93a929e48320 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ public class Observer extends MaterialData implements Directional, Redstone {
+
+ public Observer() {
diff --git a/src/main/java/org/bukkit/material/Openable.java b/src/main/java/org/bukkit/material/Openable.java
-index 0ae54f973d11df74abb3105cf9226afb130b4f33..597036bad6bc61b4aa63a61b45e886dd74a0b7f6 100644
+index 0ae54f973d11df74abb3105cf9226afb130b4f33..df2c2a774155d79ccf6fa7f366fe011ae4a43b90 100644
--- a/src/main/java/org/bukkit/material/Openable.java
+++ b/src/main/java/org/bukkit/material/Openable.java
@@ -1,5 +1,6 @@
package org.bukkit.material;
-+@Deprecated // Paper
++@Deprecated(forRemoval = true, since = "1.13")
public interface Openable {
/**
+diff --git a/src/main/java/org/bukkit/material/PistonBaseMaterial.java b/src/main/java/org/bukkit/material/PistonBaseMaterial.java
+index 8165e94339097ac5cf8e27ebc60256c8fefd7d63..e7d05b6873c11f531cbea167ee006942bbc2249b 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ public class Rails extends MaterialData {
+
+ public Rails() {
diff --git a/src/main/java/org/bukkit/material/Redstone.java b/src/main/java/org/bukkit/material/Redstone.java
-index 3e46603f8cd38041394e0e1baf788d9009b3ffc7..b15c141f1db07296bb349f11c6f39b0fbe53e7b1 100644
+index 3e46603f8cd38041394e0e1baf788d9009b3ffc7..eb621f34d0461c9bfe1bd7535344b6778e7b39c5 100644
--- a/src/main/java/org/bukkit/material/Redstone.java
+++ b/src/main/java/org/bukkit/material/Redstone.java
@@ -3,6 +3,7 @@ package org.bukkit.material;
/**
* Indicated a Material that may carry or create a Redstone current
*/
-+@Deprecated // Paper
++@Deprecated(forRemoval = true, since = "1.13")
public interface Redstone {
/**
+diff --git a/src/main/java/org/bukkit/material/RedstoneTorch.java b/src/main/java/org/bukkit/material/RedstoneTorch.java
+index 40956914366195f8a658952923ea7e92235dc4a8..b46b2dde7cd74abd8e05a5222856efdf551ec2ad 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ public class SmoothBrick extends TexturedMaterial {
+
+ private static final List<Material> textures = new ArrayList<Material>();
+diff --git a/src/main/java/org/bukkit/material/SpawnEgg.java b/src/main/java/org/bukkit/material/SpawnEgg.java
+index a177021d259110ebf0c26e5a19cea5d9f6f3a8a8..f14a918b41d61869bc3b4a644011f4d2260c19ae 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ public class Step extends TexturedMaterial {
+ private static final List<Material> textures = new ArrayList<Material>();
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
+--- 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")
+ 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
--- a/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java