diff --git a/patches/api/0417-Mark-experimental-api-as-such.patch b/patches/api/0417-Mark-experimental-api-as-such.patch new file mode 100644 index 0000000000..ec7bb22571 --- /dev/null +++ b/patches/api/0417-Mark-experimental-api-as-such.patch @@ -0,0 +1,456 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Thu, 8 Dec 2022 17:31:21 -0800 +Subject: [PATCH] Mark experimental api as such + + +diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java +index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe08b0b9906 100644 +--- a/src/main/java/org/bukkit/Material.java ++++ b/src/main/java/org/bukkit/Material.java +@@ -154,9 +154,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + ACACIA_PLANKS(31312), + DARK_OAK_PLANKS(20869), + MANGROVE_PLANKS(7078), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_PLANKS(8520), + CRIMSON_PLANKS(18812), + WARPED_PLANKS(16045), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_MOSAIC(10715), + /** + * BlockData: {@link Sapling} +@@ -352,6 +354,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Orientable} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_BLOCK(20770, Orientable.class), + /** + * BlockData: {@link Orientable} +@@ -428,6 +431,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Orientable} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + STRIPPED_BAMBOO_BLOCK(14799, Orientable.class), + /** + * BlockData: {@link Orientable} +@@ -622,10 +626,12 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Slab} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_SLAB(17798, Slab.class), + /** + * BlockData: {@link Slab} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_MOSAIC_SLAB(22118, Slab.class), + /** + * BlockData: {@link Slab} +@@ -712,6 +718,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link ChiseledBookshelf} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + CHISELED_BOOKSHELF(8099, ChiseledBookshelf.class), + MOSSY_COBBLESTONE(21900), + OBSIDIAN(32723), +@@ -805,6 +812,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Fence} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_FENCE(17207, Fence.class), + /** + * BlockData: {@link Fence} +@@ -981,10 +989,12 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Stairs} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_STAIRS(25674, Stairs.class), + /** + * BlockData: {@link Stairs} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_MOSAIC_STAIRS(20977, Stairs.class), + /** + * BlockData: {@link Stairs} +@@ -1828,6 +1838,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Switch} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_BUTTON(21810, Switch.class), + /** + * BlockData: {@link Switch} +@@ -1884,6 +1895,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Powerable} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_PRESSURE_PLATE(26740, Powerable.class), + /** + * BlockData: {@link Powerable} +@@ -1928,6 +1940,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Door} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_DOOR(19971, Door.class), + /** + * BlockData: {@link Door} +@@ -1972,6 +1985,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link TrapDoor} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_TRAPDOOR(9174, TrapDoor.class), + /** + * BlockData: {@link TrapDoor} +@@ -2012,6 +2026,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Gate} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_FENCE_GATE(14290, Gate.class), + /** + * BlockData: {@link Gate} +@@ -2060,7 +2075,9 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + DARK_OAK_CHEST_BOAT(8733, 1), + MANGROVE_BOAT(20792, 1), + MANGROVE_CHEST_BOAT(18572, 1), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_RAFT(25901, 1), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_CHEST_RAFT(20056, 1), + /** + * BlockData: {@link StructureBlock} +@@ -2194,6 +2211,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Sign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_SIGN(26139, 16, Sign.class), + /** + * BlockData: {@link Sign} +@@ -2206,42 +2224,52 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + OAK_HANGING_SIGN(20116, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + SPRUCE_HANGING_SIGN(24371, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BIRCH_HANGING_SIGN(17938, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + JUNGLE_HANGING_SIGN(27671, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + ACACIA_HANGING_SIGN(30257, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + DARK_OAK_HANGING_SIGN(23360, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + MANGROVE_HANGING_SIGN(25106, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_HANGING_SIGN(4726, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + CRIMSON_HANGING_SIGN(20696, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + WARPED_HANGING_SIGN(8195, 16, HangingSign.class), + BUCKET(15215, 16), + WATER_BUCKET(8802, 1), +@@ -2265,6 +2293,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + EGG(21603, 16), + COMPASS(24139), + RECOVERY_COMPASS(12710), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BUNDLE(16835, 1), + FISHING_ROD(4167, 1, 64), + CLOCK(14980), +@@ -2405,6 +2434,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + BEE_SPAWN_EGG(22924), + BLAZE_SPAWN_EGG(4759), + CAT_SPAWN_EGG(29583), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + CAMEL_SPAWN_EGG(14760), + CAVE_SPIDER_SPAWN_EGG(23341), + CHICKEN_SPAWN_EGG(5462), +@@ -2515,6 +2545,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Rotatable} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + PIGLIN_HEAD(5512, Rotatable.class), + NETHER_STAR(12469), + PUMPKIN_PIE(28725), +@@ -2916,46 +2947,57 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link WallSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_WALL_SIGN(18857, 16, WallSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + OAK_WALL_HANGING_SIGN(15637, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + SPRUCE_WALL_HANGING_SIGN(18833, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BIRCH_WALL_HANGING_SIGN(15937, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + ACACIA_WALL_HANGING_SIGN(22477, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + JUNGLE_WALL_HANGING_SIGN(16691, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + DARK_OAK_WALL_HANGING_SIGN(14296, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + MANGROVE_WALL_HANGING_SIGN(16974, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + CRIMSON_WALL_HANGING_SIGN(28982, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + WARPED_WALL_HANGING_SIGN(20605, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO_WALL_HANGING_SIGN(6669, WallHangingSign.class), + /** + * BlockData: {@link RedstoneWallTorch} +@@ -3063,6 +3105,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata + /** + * BlockData: {@link Directional} + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + PIGLIN_WALL_HEAD(4446, Directional.class), + /** + * BlockData: {@link Directional} +diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java +index d34f0481b3f27591f089dce5673dbe2feae358f5..a8530852fd7fddedbc2a4199399e8f5301d842b1 100644 +--- a/src/main/java/org/bukkit/Tag.java ++++ b/src/main/java/org/bukkit/Tag.java +@@ -142,6 +142,7 @@ public interface Tag extends Keyed { + /** + * Vanilla block tag representing all bamboo blocks. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + Tag BAMBOO_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("bamboo_blocks"), Material.class); + /** + * Vanilla block tag representing all banner blocks. +@@ -312,14 +313,17 @@ public interface Tag extends Keyed { + /** + * Vanilla block tag representing all ceiling signs. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + Tag CEILING_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("ceiling_hanging_signs"), Material.class); + /** + * Vanilla block tag representing all wall hanging signs. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + Tag WALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wall_hanging_signs"), Material.class); + /** + * Vanilla block tag representing all hanging signs. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + Tag ALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("all_hanging_signs"), Material.class); + /** + * Vanilla block tag representing all signs, regardless of type. +@@ -739,6 +743,7 @@ public interface Tag extends Keyed { + /** + * Vanilla item tag representing all books that may be placed on bookshelves. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + Tag ITEMS_BOOKSHELF_BOOKS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("bookshelf_books"), Material.class); + /** + * Vanilla item tag representing all items that may be placed in beacons. +@@ -759,6 +764,7 @@ public interface Tag extends Keyed { + /** + * Vanilla item tag representing all hanging signs. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + Tag ITEMS_HANGING_SIGNS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("hanging_signs"), Material.class); + /** + * Vanilla item tag representing all items which will ignite creepers when +diff --git a/src/main/java/org/bukkit/block/ChiseledBookshelf.java b/src/main/java/org/bukkit/block/ChiseledBookshelf.java +index 4cae298f18b35f73e3a64d5c8926bdc0f0402c4b..93ddac92266edf3b08096ca6c9bc182991924aa8 100644 +--- a/src/main/java/org/bukkit/block/ChiseledBookshelf.java ++++ b/src/main/java/org/bukkit/block/ChiseledBookshelf.java +@@ -7,6 +7,7 @@ import org.jetbrains.annotations.NotNull; + /** + * Represents a captured state of a chiseled bookshelf. + */ ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface ChiseledBookshelf extends TileState, BlockInventoryHolder { + + /** +diff --git a/src/main/java/org/bukkit/block/HangingSign.java b/src/main/java/org/bukkit/block/HangingSign.java +index 9bef6c6597222833f6c36bbfc382849fecad4439..d404ee784f3b99276080ec77d91ba5da724ce563 100644 +--- a/src/main/java/org/bukkit/block/HangingSign.java ++++ b/src/main/java/org/bukkit/block/HangingSign.java +@@ -3,5 +3,6 @@ package org.bukkit.block; + /** + * Represents a captured state of a hanging sign. + */ ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface HangingSign extends Sign { + } +diff --git a/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java b/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java +index a172e22ce47c74554a582e8fce2796238bfb5d65..c21e8afdbe944b74049d959e27d4d389a6980d15 100644 +--- a/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java ++++ b/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java +@@ -11,6 +11,7 @@ import org.jetbrains.annotations.NotNull; + *
+ * Block may have 0, 1... {@link #getMaximumOccupiedSlots()}-1 occupied slots. + */ ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface ChiseledBookshelf extends Directional { + + /** +diff --git a/src/main/java/org/bukkit/block/data/type/HangingSign.java b/src/main/java/org/bukkit/block/data/type/HangingSign.java +index c5a0c1476317ce2688ead25c53f3adabf875eefd..42d05598b27e59fba09b0bd2a7208215e7f771ed 100644 +--- a/src/main/java/org/bukkit/block/data/type/HangingSign.java ++++ b/src/main/java/org/bukkit/block/data/type/HangingSign.java +@@ -4,5 +4,6 @@ import org.bukkit.block.data.Attachable; + import org.bukkit.block.data.Rotatable; + import org.bukkit.block.data.Waterlogged; + ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface HangingSign extends Attachable, Rotatable, Waterlogged { + } +diff --git a/src/main/java/org/bukkit/block/data/type/WallHangingSign.java b/src/main/java/org/bukkit/block/data/type/WallHangingSign.java +index 283b21024d7a6eeebbf7306f95fce7eb4714bac6..7c9273b07b39b656796983cb43cd7f0987ee0fd8 100644 +--- a/src/main/java/org/bukkit/block/data/type/WallHangingSign.java ++++ b/src/main/java/org/bukkit/block/data/type/WallHangingSign.java +@@ -3,5 +3,6 @@ package org.bukkit.block.data.type; + import org.bukkit.block.data.Directional; + import org.bukkit.block.data.Waterlogged; + ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface WallHangingSign extends Directional, Waterlogged { + } +diff --git a/src/main/java/org/bukkit/entity/Boat.java b/src/main/java/org/bukkit/entity/Boat.java +index fbe0a946d821e479fd3097021058d95732ace1b3..f54136f7f1ed11bd8e49cc48f8f50ebde694c327 100644 +--- a/src/main/java/org/bukkit/entity/Boat.java ++++ b/src/main/java/org/bukkit/entity/Boat.java +@@ -143,6 +143,7 @@ public interface Boat extends Vehicle { + ACACIA(Material.ACACIA_PLANKS), + DARK_OAK(Material.DARK_OAK_PLANKS), + MANGROVE(Material.MANGROVE_PLANKS), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + BAMBOO(Material.BAMBOO_PLANKS), + ; + +diff --git a/src/main/java/org/bukkit/entity/Camel.java b/src/main/java/org/bukkit/entity/Camel.java +index 17e4e0a822d4372e0a98612294ec0bd728830164..f827d8f508441a035974974d34450879835de91e 100644 +--- a/src/main/java/org/bukkit/entity/Camel.java ++++ b/src/main/java/org/bukkit/entity/Camel.java +@@ -3,6 +3,7 @@ package org.bukkit.entity; + /** + * Represents a Camel. + */ ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface Camel extends AbstractHorse, Sittable { + + /** +diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java +index 5a0c96875d9c3bd32b4649a3fccd43af1ccb195b..b507b715f9b28b98e32f6589344a5066d1009f64 100644 +--- a/src/main/java/org/bukkit/entity/EntityType.java ++++ b/src/main/java/org/bukkit/entity/EntityType.java +@@ -276,6 +276,7 @@ public enum EntityType implements Keyed, net.kyori.adventure.translation.Transla + FROG("frog", Frog.class, -1), + TADPOLE("tadpole", Tadpole.class, -1), + WARDEN("warden", Warden.class, -1), ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + CAMEL("camel", Camel.class, -1), + /** + * A fishing line and bobber. +diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java +index b917c13a30254a83cc2ea87279d427276bc75074..8d7ad84c2bdafa8c8a385fe31acb887a883194ff 100644 +--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java ++++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java +@@ -137,6 +137,7 @@ public enum InventoryType { + /** + * Pseudo chiseled bookshelf inventory, with 6 slots of undefined type. + */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper + CHISELED_BOOKSHELF(6, "Chiseled Bookshelf"), + ; + +diff --git a/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java b/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java +index b99f26079c14931d443615fa81eac9791080ecb0..47a8f451e8112bf533778f25166dcf1966057c70 100644 +--- a/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java ++++ b/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java +@@ -6,6 +6,7 @@ import org.jetbrains.annotations.Nullable; + /** + * Interface to the inventory of a chiseled bookshelf. + */ ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface ChiseledBookshelfInventory extends Inventory { + + @Nullable +diff --git a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java +index bc992fdf6d5517995547d136e8cdbe4bd3496abe..751a13c4c00c7167ed3c64c0cd91ac66dc2f0dc3 100644 +--- a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java ++++ b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java +@@ -5,6 +5,7 @@ import org.bukkit.inventory.ItemStack; + import org.jetbrains.annotations.NotNull; + import org.jetbrains.annotations.Nullable; + ++@org.jetbrains.annotations.ApiStatus.Experimental // Paper + public interface BundleMeta extends ItemMeta { + + /**