Paper/patches/api/0399-Actually-mark-mc-experimental-API-as-such.patch
Nassim Jahnke efd47e3a68
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9188)
* Updated Upstream (Bukkit/CraftBukkit/Spigot)

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

Bukkit Changes:
2fcba9b2 SPIGOT-7347: Add missing documentation and details to ShapedRecipe
c278419d PR-854: Move getHighestBlockYAt methods from World to RegionAccessor
201399fb PR-853: Add API for directly setting Display transformation matrices
ecfa559a PR-849: Add InventoryView#setTitle
653d7edb SPIGOT-519: Add TNTPrimeEvent
22fccc09 PR-846: Add method to get chunk load level
a070a52c PR-844: Add methods to convert Vector to and from JOML vectors
cc7111fe PR-276: Add accessors to Wither's invulnerability ticks
777d24e9 SPIGOT-7209: Accessors and events for player's exp cooldown
ccb2d01b SPIGOT-6308: Deprecate the location name property of map items
cd04a31b PR-780: Add PlayerSpawnChangeEvent
7d1f5b64 SPIGOT-6780: Improve documentation for World#spawnFallingBlock
5696668a SPIGOT-6885: Add test and easier to debug code for reference in yaml configuration comments
2e13cff7 PR-589: Expand the FishHook API
2c7d3da5 PR-279: Minor edits to various Javadocs

CraftBukkit Changes:
01b2e1af4 SPIGOT-7346: Disallow players from executing commands after disconnecting
7fe5ee022 PR-1186: Move getHighestBlockYAt methods from World to RegionAccessor
bcc85ef67 PR-1185: Add API for directly setting Display transformation matrices
a7cfc778f PR-1176: Add InventoryView#setTitle
563d42226 SPIGOT-519: Add TNTPrimeEvent
ccbc6abca Add test for Chunk.LoadLevel mirroring
2926e0513 PR-1171: Add method to get chunk load level
63cad7f84 PR-375: Add accessors to Wither's invulnerability ticks
bfd8b1ac8 SPIGOT-7209: Accessors and events for player's exp cooldown
f92a41c39 PR-1181: Consolidate Location conversion code
10f866759 SPIGOT-6308: Deprecate the location name property of map items
82f7b658a PR-1095: Add PlayerSpawnChangeEvent
b421af7e4 PR-808: Expand the FishHook API
598ad7b3f Increase outdated build delay

Spigot Changes:
d1bd3bd2 Rebuild patches
e4265cc8 SPIGOT-7297: Entity Tracking Range option for Display entities

* Work around javac bug

* Call PlayerSpawnChangeEvent

* Updated Upstream (Bukkit/CraftBukkit/Spigot)

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

Bukkit Changes:
2fcba9b2 SPIGOT-7347: Add missing documentation and details to ShapedRecipe
c278419d PR-854: Move getHighestBlockYAt methods from World to RegionAccessor
201399fb PR-853: Add API for directly setting Display transformation matrices

CraftBukkit Changes:
01b2e1af4 SPIGOT-7346: Disallow players from executing commands after disconnecting
7fe5ee022 PR-1186: Move getHighestBlockYAt methods from World to RegionAccessor
bcc85ef67 PR-1185: Add API for directly setting Display transformation matrices

Spigot Changes:
7da74dae Rebuild patches
2023-05-12 13:10:08 +02:00

315 lines
14 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Thu, 8 Dec 2022 17:31:21 -0800
Subject: [PATCH] Actually mark mc experimental API as such
upstream has inconsistent and incomplete
minecraft experimental annotations
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 7ce5ac66e6d598c9ecffc52e5c75d80f644e8895..adb2416887cc3b544ec36c552bdf7105328c24a5 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -471,6 +471,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Orientable}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
STRIPPED_BAMBOO_BLOCK(14799, Orientable.class),
/**
* BlockData: {@link Orientable}
@@ -893,6 +895,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Fence}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_FENCE(17207, Fence.class),
/**
* BlockData: {@link Fence}
@@ -1932,6 +1936,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Switch}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_BUTTON(21810, Switch.class),
/**
* BlockData: {@link Switch}
@@ -1994,6 +2000,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Powerable}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_PRESSURE_PLATE(26740, Powerable.class),
/**
* BlockData: {@link Powerable}
@@ -2044,6 +2052,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Door}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_DOOR(19971, Door.class),
/**
* BlockData: {@link Door}
@@ -2094,6 +2104,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link TrapDoor}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_TRAPDOOR(9174, TrapDoor.class),
/**
* BlockData: {@link TrapDoor}
@@ -2140,6 +2152,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Gate}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_FENCE_GATE(14290, Gate.class),
/**
* BlockData: {@link Gate}
@@ -2194,7 +2208,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
DARK_OAK_CHEST_BOAT(8733, 1),
MANGROVE_BOAT(20792, 1),
MANGROVE_CHEST_BOAT(18572, 1),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_RAFT(25901, 1),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_CHEST_RAFT(20056, 1),
/**
* BlockData: {@link StructureBlock}
@@ -2334,6 +2352,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link Sign}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_SIGN(26139, 16, Sign.class),
/**
* BlockData: {@link Sign}
@@ -3151,6 +3171,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
/**
* BlockData: {@link WallSign}
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BAMBOO_WALL_SIGN(18857, 16, WallSign.class),
/**
* BlockData: {@link WallHangingSign}
diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java
index 762b0d9ba22a1012ebe5ea77b6aef909fddc0403..55b8d67af1f75207cac36c197150601850a3f28b 100644
--- a/src/main/java/org/bukkit/Sound.java
+++ b/src/main/java/org/bukkit/Sound.java
@@ -77,13 +77,29 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa
BLOCK_BAMBOO_SAPLING_HIT("block.bamboo_sapling.hit"),
BLOCK_BAMBOO_SAPLING_PLACE("block.bamboo_sapling.place"),
BLOCK_BAMBOO_STEP("block.bamboo.step"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_BREAK("block.bamboo_wood.break"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_BUTTON_CLICK_OFF("block.bamboo_wood_button.click_off"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_BUTTON_CLICK_ON("block.bamboo_wood_button.click_on"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_DOOR_CLOSE("block.bamboo_wood_door.close"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_DOOR_OPEN("block.bamboo_wood_door.open"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_FALL("block.bamboo_wood.fall"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_FENCE_GATE_CLOSE("block.bamboo_wood_fence_gate.close"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_FENCE_GATE_OPEN("block.bamboo_wood_fence_gate.open"),
@MinecraftExperimental
@ApiStatus.Experimental
@@ -100,12 +116,26 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa
@MinecraftExperimental
@ApiStatus.Experimental
BLOCK_BAMBOO_WOOD_HANGING_SIGN_STEP("block.bamboo_wood_hanging_sign.step"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_HIT("block.bamboo_wood.hit"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_PLACE("block.bamboo_wood.place"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_OFF("block.bamboo_wood_pressure_plate.click_off"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_ON("block.bamboo_wood_pressure_plate.click_on"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_STEP("block.bamboo_wood.step"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_TRAPDOOR_CLOSE("block.bamboo_wood_trapdoor.close"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_BAMBOO_WOOD_TRAPDOOR_OPEN("block.bamboo_wood_trapdoor.open"),
BLOCK_BARREL_CLOSE("block.barrel.close"),
BLOCK_BARREL_OPEN("block.barrel.open"),
@@ -412,10 +442,20 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa
BLOCK_HANGING_ROOTS_HIT("block.hanging_roots.hit"),
BLOCK_HANGING_ROOTS_PLACE("block.hanging_roots.place"),
BLOCK_HANGING_ROOTS_STEP("block.hanging_roots.step"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_HANGING_SIGN_BREAK("block.hanging_sign.break"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_HANGING_SIGN_FALL("block.hanging_sign.fall"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_HANGING_SIGN_HIT("block.hanging_sign.hit"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_HANGING_SIGN_PLACE("block.hanging_sign.place"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_HANGING_SIGN_STEP("block.hanging_sign.step"),
BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"),
BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"),
@@ -551,11 +591,23 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa
BLOCK_NOTE_BLOCK_GUITAR("block.note_block.guitar"),
BLOCK_NOTE_BLOCK_HARP("block.note_block.harp"),
BLOCK_NOTE_BLOCK_HAT("block.note_block.hat"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_NOTE_BLOCK_IMITATE_CREEPER("block.note_block.imitate.creeper"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_NOTE_BLOCK_IMITATE_ENDER_DRAGON("block.note_block.imitate.ender_dragon"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_NOTE_BLOCK_IMITATE_PIGLIN("block.note_block.imitate.piglin"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_NOTE_BLOCK_IMITATE_SKELETON("block.note_block.imitate.skeleton"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_NOTE_BLOCK_IMITATE_WITHER_SKELETON("block.note_block.imitate.wither_skeleton"),
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
BLOCK_NOTE_BLOCK_IMITATE_ZOMBIE("block.note_block.imitate.zombie"),
BLOCK_NOTE_BLOCK_IRON_XYLOPHONE("block.note_block.iron_xylophone"),
BLOCK_NOTE_BLOCK_PLING("block.note_block.pling"),
@@ -830,26 +882,37 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa
ENTITY_BOAT_PADDLE_LAND("entity.boat.paddle_land"),
ENTITY_BOAT_PADDLE_WATER("entity.boat.paddle_water"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_AMBIENT("entity.camel.ambient"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_DASH("entity.camel.dash"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_DASH_READY("entity.camel.dash_ready"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_DEATH("entity.camel.death"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_EAT("entity.camel.eat"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_HURT("entity.camel.hurt"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_SADDLE("entity.camel.saddle"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_SIT("entity.camel.sit"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_STAND("entity.camel.stand"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_STEP("entity.camel.step"),
@MinecraftExperimental
+ @ApiStatus.Experimental // Paper
ENTITY_CAMEL_STEP_SAND("entity.camel.step_sand"),
ENTITY_CAT_AMBIENT("entity.cat.ambient"),
ENTITY_CAT_BEG_FOR_FOOD("entity.cat.beg_for_food"),
diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java
index e8206aa4cb574ee629f375a85acf597ae164a1c3..30f9e5e28edd5c267cc1ddef4aa5eac1bdc14a36 100644
--- a/src/main/java/org/bukkit/Tag.java
+++ b/src/main/java/org/bukkit/Tag.java
@@ -149,6 +149,8 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla block tag representing all bamboo blocks.
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
Tag<Material> BAMBOO_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("bamboo_blocks"), Material.class);
/**
* Vanilla block tag representing all banner blocks.
@@ -768,6 +770,8 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla item tag representing all books that may be placed on bookshelves.
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
Tag<Material> 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.
@@ -788,6 +792,8 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla item tag representing all hanging signs.
*/
+ @MinecraftExperimental // Paper
+ @ApiStatus.Experimental // Paper
Tag<Material> 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/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
index b821fa535b23fe5af5884e536b1708460076ee40..a8e631315f2da68895a258cf0ba9875bc88fc48c 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -138,6 +138,8 @@ public enum InventoryType {
/**
* Pseudo chiseled bookshelf inventory, with 6 slots of undefined type.
*/
+ @MinecraftExperimental // Paper
+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper
CHISELED_BOOKSHELF(6, "Chiseled Bookshelf", false),
/**
* Pseudo jukebox inventory with 1 slot of undefined type.
@@ -149,6 +151,7 @@ public enum InventoryType {
* @apiNote draft, experimental 1.20 API
*/
@MinecraftExperimental
+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper
SMITHING_NEW(4, "Upgrade Gear"),
;
diff --git a/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java b/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java
index 08fd3eca8383cdc2d06c3ce973e8c402d279077e..999e60a4a0f20fe4bbf5d8eefbafe368b80d1c4d 100644
--- a/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java
+++ b/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java
@@ -6,6 +6,8 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a smithing transform recipe.
*/
+@org.bukkit.MinecraftExperimental // Paper
+@org.jetbrains.annotations.ApiStatus.Experimental // Paper
public class SmithingTransformRecipe extends SmithingRecipe {
private final RecipeChoice template;