From 76f5566e60d498f479f8c26ab1fd1e3645de4e3e Mon Sep 17 00:00:00 2001
From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
Date: Mon, 27 Jan 2025 21:27:01 +0100
Subject: [PATCH] Experimental annotation changes

---
 .editorconfig                                 | 24 +++++++++----------
 CONTRIBUTING.md                               |  3 ++-
 .../src/main/java/org/bukkit/Registry.java    |  1 -
 .../main/java/org/bukkit/block/Crafter.java   |  3 ---
 .../java/org/bukkit/block/CreakingHeart.java  |  3 ---
 .../java/org/bukkit/block/TrialSpawner.java   |  1 -
 .../src/main/java/org/bukkit/block/Vault.java |  2 --
 .../bukkit/block/data/type/CreakingHeart.java |  2 --
 .../bukkit/block/data/type/HangingMoss.java   |  2 --
 .../bukkit/block/data/type/MossyCarpet.java   |  2 --
 .../org/bukkit/entity/AbstractWindCharge.java |  2 --
 .../main/java/org/bukkit/entity/Bogged.java   |  2 --
 .../main/java/org/bukkit/entity/Breeze.java   |  2 --
 .../org/bukkit/entity/BreezeWindCharge.java   |  2 --
 .../main/java/org/bukkit/entity/Creaking.java |  3 ---
 .../org/bukkit/entity/OminousItemSpawner.java |  1 -
 .../java/org/bukkit/entity/WindCharge.java    |  2 --
 .../org/bukkit/entity/boat/PaleOakBoat.java   |  4 +---
 .../bukkit/entity/boat/PaleOakChestBoat.java  |  4 +---
 .../bukkit/inventory/CrafterInventory.java    |  2 --
 .../org/bukkit/inventory/meta/BundleMeta.java |  2 --
 .../data/PaperEnchantmentRegistryEntry.java   |  1 -
 .../craftbukkit/util/CraftMagicNumbers.java   |  2 +-
 23 files changed, 17 insertions(+), 55 deletions(-)

diff --git a/.editorconfig b/.editorconfig
index 65898b5181454..76c44f06557a2 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,32 +1,32 @@
 [*]
-charset=utf-8
-end_of_line=lf
-insert_final_newline=true
-indent_style=space
-indent_size=4
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
 ij_any_block_comment_add_space = false
 ij_any_block_comment_at_first_column = false
 ij_any_line_comment_at_first_column = false
 ij_any_line_comment_add_space = true
 
 [*.tiny]
-indent_style=tab
+indent_style = tab
 
 [*.bat]
-end_of_line=crlf
+end_of_line = crlf
 
 [*.yml]
-indent_size=2
+indent_size = 2
 
 [*.patch]
-trim_trailing_whitespace=false
+trim_trailing_whitespace = false
 
 [*.java]
 ij_continuation_indent_size = 4
 ij_java_class_count_to_use_import_on_demand = 999999
 ij_java_insert_inner_class_imports = false
 ij_java_names_count_to_use_import_on_demand = 999999
-ij_java_imports_layout = *,|,$*
+ij_java_imports_layout = *, |, $*
 ij_java_generate_final_locals = true
 ij_java_generate_final_parameters = true
 ij_java_method_parameters_new_line_after_left_paren = true
@@ -40,5 +40,5 @@ ij_java_use_fq_class_names = true
 [paper-server/src/minecraft/resources/data/**/*.json]
 indent_size = 2
 
-[paper-api-generator/generated/**/*.java]
-ij_java_imports_layout = $*,|,*
+[paper-api/src/generated/java/**/*.java]
+ij_java_imports_layout = $*, |, *
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c4c275a7f52a1..7805b0fbaaf93 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -208,7 +208,8 @@ required.
   with `// Paper end - <COMMIT DESCRIPTION>`.
 - One-line changes should have `// Paper - <COMMIT DESCRIPTION>` at the end of the line.
 
-> [!NOTE] These comments are incredibly important to be able to keep track of changes
+> [!NOTE]
+> These comments are incredibly important to be able to keep track of changes
 > across files and to remember what they are for, even a decade into the future.
 
 Here's an example of how to mark changes by Paper:
diff --git a/paper-api/src/main/java/org/bukkit/Registry.java b/paper-api/src/main/java/org/bukkit/Registry.java
index 50eea296715be..8f96e193ca7d0 100644
--- a/paper-api/src/main/java/org/bukkit/Registry.java
+++ b/paper-api/src/main/java/org/bukkit/Registry.java
@@ -271,7 +271,6 @@ public Iterator<KeyedBossBar> iterator() {
      * @see JukeboxSong
      * @deprecated use {@link RegistryAccess#getRegistry(RegistryKey)} with {@link RegistryKey#JUKEBOX_SONG}
      */
-    @ApiStatus.Experimental
     @Deprecated(since = "1.21")
     Registry<JukeboxSong> JUKEBOX_SONG = legacyRegistryFor(JukeboxSong.class);
     /**
diff --git a/paper-api/src/main/java/org/bukkit/block/Crafter.java b/paper-api/src/main/java/org/bukkit/block/Crafter.java
index f737a2aae3f57..42244aa28c0ff 100644
--- a/paper-api/src/main/java/org/bukkit/block/Crafter.java
+++ b/paper-api/src/main/java/org/bukkit/block/Crafter.java
@@ -1,8 +1,5 @@
 package org.bukkit.block;
 
-import org.bukkit.loot.Lootable;
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a captured state of a crafter.
  */
diff --git a/paper-api/src/main/java/org/bukkit/block/CreakingHeart.java b/paper-api/src/main/java/org/bukkit/block/CreakingHeart.java
index 0b60d38f7eeff..f7648e5b22293 100644
--- a/paper-api/src/main/java/org/bukkit/block/CreakingHeart.java
+++ b/paper-api/src/main/java/org/bukkit/block/CreakingHeart.java
@@ -1,10 +1,7 @@
 package org.bukkit.block;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a captured state of a creaking heart.
  */
-@ApiStatus.Experimental
 public interface CreakingHeart extends TileState {
 }
diff --git a/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java b/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java
index 6fc7b5fe1152f..6c1e3b5f3d9a8 100644
--- a/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java
+++ b/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java
@@ -4,7 +4,6 @@
 import org.bukkit.entity.Entity;
 import org.bukkit.entity.Player;
 import org.bukkit.spawner.TrialSpawnerConfiguration;
-import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/block/Vault.java b/paper-api/src/main/java/org/bukkit/block/Vault.java
index 375f41fe4aebd..64c7b432c3724 100644
--- a/paper-api/src/main/java/org/bukkit/block/Vault.java
+++ b/paper-api/src/main/java/org/bukkit/block/Vault.java
@@ -1,7 +1,5 @@
 package org.bukkit.block;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a captured state of a trial spawner.
  */
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/CreakingHeart.java b/paper-api/src/main/java/org/bukkit/block/data/type/CreakingHeart.java
index aadd902f37fdb..42302837f7442 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/CreakingHeart.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/CreakingHeart.java
@@ -1,14 +1,12 @@
 package org.bukkit.block.data.type;
 
 import org.bukkit.block.data.Orientable;
-import org.jetbrains.annotations.ApiStatus;
 
 /**
  * 'active' is whether the block is active.
  * <br>
  * 'natural' is whether this is a naturally generated block.
  */
-@ApiStatus.Experimental
 public interface CreakingHeart extends Orientable {
 
     /**
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/HangingMoss.java b/paper-api/src/main/java/org/bukkit/block/data/type/HangingMoss.java
index a7f2954091d62..08ecd62cc8fca 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/HangingMoss.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/HangingMoss.java
@@ -1,12 +1,10 @@
 package org.bukkit.block.data.type;
 
 import org.bukkit.block.data.BlockData;
-import org.jetbrains.annotations.ApiStatus;
 
 /**
  * 'tip' indicates whether this block is a tip.
  */
-@ApiStatus.Experimental
 public interface HangingMoss extends BlockData {
 
     /**
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/MossyCarpet.java b/paper-api/src/main/java/org/bukkit/block/data/type/MossyCarpet.java
index dd8264faa6942..1c904b440cb98 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/MossyCarpet.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/MossyCarpet.java
@@ -2,7 +2,6 @@
 
 import org.bukkit.block.BlockFace;
 import org.bukkit.block.data.BlockData;
-import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -11,7 +10,6 @@
  *
  * 'bottom' denotes whether this is a bottom block.
  */
-@ApiStatus.Experimental
 public interface MossyCarpet extends BlockData {
 
     /**
diff --git a/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java b/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java
index ecff691c3a087..ee8017139e9f8 100644
--- a/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java
+++ b/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java
@@ -1,7 +1,5 @@
 package org.bukkit.entity;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a Wind Charge.
  */
diff --git a/paper-api/src/main/java/org/bukkit/entity/Bogged.java b/paper-api/src/main/java/org/bukkit/entity/Bogged.java
index c84ddf808e206..e6e10ad15cd33 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Bogged.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Bogged.java
@@ -1,7 +1,5 @@
 package org.bukkit.entity;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a Bogged Skeleton.
  */
diff --git a/paper-api/src/main/java/org/bukkit/entity/Breeze.java b/paper-api/src/main/java/org/bukkit/entity/Breeze.java
index 254bc6e18961a..6b41c9258eb59 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Breeze.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Breeze.java
@@ -1,7 +1,5 @@
 package org.bukkit.entity;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a Breeze. Whoosh!
  */
diff --git a/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java b/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java
index 748e58eb93c78..c37ee7cb2fbc3 100644
--- a/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java
+++ b/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java
@@ -1,7 +1,5 @@
 package org.bukkit.entity;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a Wind Charge.
  */
diff --git a/paper-api/src/main/java/org/bukkit/entity/Creaking.java b/paper-api/src/main/java/org/bukkit/entity/Creaking.java
index 6a7c952b61969..2e85cc40e0b24 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Creaking.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Creaking.java
@@ -1,11 +1,8 @@
 package org.bukkit.entity;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a Creaking.
  */
-@ApiStatus.Experimental
 public interface Creaking extends Monster {
 
 }
diff --git a/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java b/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java
index dbd4da4c63b6b..1718277f5562d 100644
--- a/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java
+++ b/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java
@@ -1,7 +1,6 @@
 package org.bukkit.entity;
 
 import org.bukkit.inventory.ItemStack;
-import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.Nullable;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/entity/WindCharge.java b/paper-api/src/main/java/org/bukkit/entity/WindCharge.java
index beb62426490a3..3baf72629d145 100644
--- a/paper-api/src/main/java/org/bukkit/entity/WindCharge.java
+++ b/paper-api/src/main/java/org/bukkit/entity/WindCharge.java
@@ -1,7 +1,5 @@
 package org.bukkit.entity;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Represents a Wind Charge.
  */
diff --git a/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakBoat.java b/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakBoat.java
index 604d46bb40ac2..8b927c0112d3c 100644
--- a/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakBoat.java
+++ b/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakBoat.java
@@ -1,11 +1,9 @@
 package org.bukkit.entity.boat;
 
 import org.bukkit.entity.Boat;
-import org.jetbrains.annotations.ApiStatus;
 
 /**
- * Represents an pale oak boat.
+ * Represents a pale oak boat.
  */
-@ApiStatus.Experimental
 public interface PaleOakBoat extends Boat {
 }
diff --git a/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakChestBoat.java b/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakChestBoat.java
index ebb5ae22e3456..97341eb0177ab 100644
--- a/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakChestBoat.java
+++ b/paper-api/src/main/java/org/bukkit/entity/boat/PaleOakChestBoat.java
@@ -1,11 +1,9 @@
 package org.bukkit.entity.boat;
 
 import org.bukkit.entity.ChestBoat;
-import org.jetbrains.annotations.ApiStatus;
 
 /**
- * Represents an pale oak chest boat.
+ * Represents a pale oak chest boat.
  */
-@ApiStatus.Experimental
 public interface PaleOakChestBoat extends ChestBoat {
 }
diff --git a/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java b/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java
index 49d0a37bbeb0b..0ce539fe97111 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java
@@ -1,7 +1,5 @@
 package org.bukkit.inventory;
 
-import org.jetbrains.annotations.ApiStatus;
-
 /**
  * Interface to the inventory of a Crafter.
  */
diff --git a/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java
index e404cd1e2ba44..95bfdaa9eb5a0 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java
@@ -2,11 +2,9 @@
 
 import java.util.List;
 import org.bukkit.inventory.ItemStack;
-import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-@ApiStatus.Experimental
 public interface BundleMeta extends ItemMeta {
 
     /**
diff --git a/paper-server/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java b/paper-server/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java
index 0191aa22a3555..5c57b4ef6053a 100644
--- a/paper-server/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java
+++ b/paper-server/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java
@@ -189,7 +189,6 @@ public Builder maximumCost(final EnchantmentCost maximumCost) {
 
         @Override
         public Builder anvilCost(final @Range(from = 0, to = Integer.MAX_VALUE) int anvilCost) {
-            Preconditions.checkArgument(anvilCost >= 0, "anvilCost must be non-negative");
             this.anvilCost = OptionalInt.of(asArgumentMin(anvilCost, "anvilCost", 0));
             return this;
         }
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index bd8005cd3a525..a2e9f8fbc33b4 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -590,7 +590,7 @@ public byte[] serializeEntity(org.bukkit.entity.Entity entity, EntitySerializati
                     e.getStringUUID()
                 );
             } else {
-                // Ensure player flag is not needed
+                // Ensure misc flag is not needed
                 Preconditions.checkArgument(
                     nmsEntity.getType().canSerialize() || allowMiscSerialization,
                     "Cannot serialize misc non-saveable entity %s(%s) without the MISC flag",