From b5ce6e3dc5ea6ff13d8593ebd9a2ef021ab9f24e Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Sat, 8 Apr 2023 17:00:50 -0700 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9104) 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: eb4b416d PR-822: Add experimental armor trim API 33498e1d PR-831: Add a standard of annotations for Minecraft experimental things and API CraftBukkit Changes: 19de3550d SPIGOT-7315: Bed placement duplicates crops if cancelled 1eb88374e PR-1147: Add experimental armor trim API c4c0bb0e9 Show clean error for invalidly configured server.properties options 3ae90697f Fix UUID not being updated when changing world of MapView e43000601 PR-1164, MC-227255, MC-253819: Fix rotation of beehives and bells Spigot Changes: d2fdfe39 Rebuild patches --- .../api/0001-Convert-project-to-Gradle.patch | 16 +- patches/api/0002-Build-system-changes.patch | 6 +- patches/api/0005-Adventure.patch | 79 +- patches/api/0010-Timings-v2.patch | 6 +- .../0012-Player-affects-spawning-API.patch | 4 +- patches/api/0015-Entity-Origin-API.patch | 4 +- patches/api/0017-Add-view-distance-API.patch | 4 +- ...cord-chat-API-from-spigot-subclasses.patch | 4 +- .../0025-Player-Tab-List-and-Title-APIs.patch | 4 +- .../api/0027-Complete-resource-pack-API.patch | 6 +- ...0046-Add-String-based-Action-Bar-API.patch | 6 +- patches/api/0055-Fix-upstream-javadocs.patch | 20 +- patches/api/0062-Entity-fromMobSpawner.patch | 4 +- ...nt-protocol-version-and-virtual-host.patch | 4 +- ...0-Ability-to-apply-mending-to-XP-API.patch | 4 +- ...-Add-setPlayerProfile-API-for-Skulls.patch | 16 +- .../0091-Player.setPlayerProfile-API.patch | 4 +- ...4-Add-openSign-method-to-HumanEntity.patch | 4 +- ...95-Add-Ban-Methods-to-Player-Objects.patch | 4 +- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- patches/api/0121-Entity-getChunk-API.patch | 4 +- patches/api/0142-Async-Chunks-API.patch | 4 +- ...e-attack-cooldown-methods-for-Player.patch | 4 +- patches/api/0152-Material-API-additions.patch | 6 +- patches/api/0153-Add-Material-Tags.patch | 4 +- .../0171-Entity-getEntitySpawnReason.patch | 4 +- .../0172-Fix-Spigot-annotation-mistakes.patch | 83 +- .../0189-Add-Player-Client-Options-API.patch | 4 +- ...92-Add-item-slot-convenience-methods.patch | 4 +- patches/api/0204-Add-entity-liquid-API.patch | 4 +- patches/api/0206-Brand-support.patch | 4 +- ...-Add-methods-to-get-translation-keys.patch | 26 +- patches/api/0216-Entity-isTicking.patch | 4 +- .../api/0218-Player-elytra-boost-API.patch | 4 +- ...et-Material-from-Boats-and-Minecarts.patch | 4 +- patches/api/0245-Add-sendOpLevel-API.patch | 4 +- .../api/0247-Add-StructuresLocateEvent.patch | 4 +- .../api/0250-Added-missing-vanilla-tags.patch | 4 +- patches/api/0260-Expose-Tracked-Players.patch | 4 +- ...Cache-the-result-of-Material-isBlock.patch | 8 +- patches/api/0267-Item-Rarity-API.patch | 4 +- ...291-Attributes-API-for-item-defaults.patch | 4 +- .../api/0294-Add-PlayerKickEvent-causes.patch | 4 +- .../0318-Get-entity-default-attributes.patch | 4 +- ...Collidable-methods-to-various-places.patch | 4 +- ...27-Add-Raw-Byte-Entity-Serialization.patch | 4 +- .../0329-Add-player-health-update-API.patch | 4 +- .../api/0334-Entity-powdered-snow-API.patch | 4 +- patches/api/0344-Multi-Block-Change-API.patch | 4 +- patches/api/0346-Freeze-Tick-Lock-API.patch | 4 +- .../api/0348-More-PotionEffectType-API.patch | 4 +- patches/api/0351-Add-GameEvent-tags.patch | 4 +- patches/api/0372-More-Teleport-API.patch | 8 +- ...stom-Chat-Completion-Suggestions-API.patch | 4 +- patches/api/0375-Collision-API.patch | 4 +- .../0384-Elder-Guardian-appearance-API.patch | 4 +- .../0392-Add-Player-Warden-Warning-API.patch | 4 +- ...lly-mark-mc-experimental-API-as-such.patch | 314 ++++ .../0400-Mark-experimental-api-as-such.patch | 1292 ----------------- patches/api/0401-fix-Instruments.patch | 39 +- .../0403-Add-Sneaking-API-for-Entities.patch | 10 +- patches/api/0406-Flying-Fall-Damage-API.patch | 4 +- ...Replace-ItemFlag.HIDE_POTION_EFFECTS.patch | 10 +- patches/api/0409-Win-Screen-API.patch | 4 +- patches/server/0009-MC-Utils.patch | 6 +- patches/server/0010-Adventure.patch | 12 +- ...069-Handle-Item-Meta-Inconsistencies.patch | 30 +- .../0120-Optimize-ItemStack.isEmpty.patch | 4 +- ...mplement-ensureServerConversions-API.patch | 4 +- .../0150-Implement-getI18NDisplayName.patch | 4 +- .../0177-Add-ArmorStand-Item-Meta.patch | 8 +- ...on-t-call-getItemMeta-on-hasItemMeta.patch | 8 +- ...ow-chests-to-be-placed-with-NBT-data.patch | 4 +- ...-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 30 +- ...nvert-legacy-attributes-in-Item-Meta.patch | 4 +- .../0439-Support-components-in-ItemMeta.patch | 10 +- ...pdate-itemstack-legacy-name-and-lore.patch | 6 +- ...CreateEvent-needs-to-know-its-entity.patch | 4 +- ...ate-HoverEvent-from-ItemStack-Entity.patch | 4 +- .../0546-TODO-Registry-Modification-API.patch | 8 +- .../0547-Add-StructuresLocateEvent.patch | 6 +- ...9-Make-item-validations-configurable.patch | 6 +- .../0669-Added-EntityDamageItemEvent.patch | 12 +- ...0684-Add-ItemFactory-getSpawnEgg-API.patch | 4 +- ...elled-powdered-snow-bucket-placement.patch | 6 +- ...0814-Implement-enchantWithLevels-API.patch | 4 +- ...king-amount-to-PlayerItemDamageEvent.patch | 4 +- ...x-NPE-for-BlockDataMeta-getBlockData.patch | 4 +- patches/server/0965-Optimize-Hoppers.patch | 4 +- ...hives-generating-from-using-bonemeal.patch | 4 +- ...=> 0967-Fix-api-checking-banned-ips.patch} | 0 ...-Properly-cancel-bed-block-placement.patch | 19 - ...g-to-bad-recipes-in-furnace-like-ti.patch} | 0 ...ence-violations-like-they-should-be.patch} | 0 ...uplicate-animate-packet-for-records.patch} | 0 ...xpired-keys-from-impacting-new-join.patch} | 0 ...ts-being-fired-from-unloaded-chunks.patch} | 0 ...0973-Use-array-for-gamerule-storage.patch} | 0 ...patch => 0974-Fix-block-place-logic.patch} | 6 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 102 files changed, 658 insertions(+), 1708 deletions(-) create mode 100644 patches/api/0400-Actually-mark-mc-experimental-API-as-such.patch delete mode 100644 patches/api/0400-Mark-experimental-api-as-such.patch rename patches/server/{0968-Fix-api-checking-banned-ips.patch => 0967-Fix-api-checking-banned-ips.patch} (100%) delete mode 100644 patches/server/0967-Properly-cancel-bed-block-placement.patch rename patches/server/{0969-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch => 0968-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch} (100%) rename patches/server/{0970-Treat-sequence-violations-like-they-should-be.patch => 0969-Treat-sequence-violations-like-they-should-be.patch} (100%) rename patches/server/{0971-remove-duplicate-animate-packet-for-records.patch => 0970-remove-duplicate-animate-packet-for-records.patch} (100%) rename patches/server/{0972-Prevent-causing-expired-keys-from-impacting-new-join.patch => 0971-Prevent-causing-expired-keys-from-impacting-new-join.patch} (100%) rename patches/server/{0973-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch => 0972-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch} (100%) rename patches/server/{0974-Use-array-for-gamerule-storage.patch => 0973-Use-array-for-gamerule-storage.patch} (100%) rename patches/server/{0975-Fix-block-place-logic.patch => 0974-Fix-block-place-logic.patch} (95%) diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch index a21ac3b541..3596bd55af 100644 --- a/patches/api/0001-Convert-project-to-Gradle.patch +++ b/patches/api/0001-Convert-project-to-Gradle.patch @@ -27,10 +27,10 @@ index 11038da2e071699d6561a331565db0c8d7850d0e..317acfec5894101294a55abff6181943 +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..363001c4a677e27ed98cb16c9789b47783fae725 +index 0000000000000000000000000000000000000000..4b7f005519d8856fc35a94401636ae8d9bf41f10 --- /dev/null +++ b/build.gradle.kts -@@ -0,0 +1,82 @@ +@@ -0,0 +1,83 @@ +plugins { + `java-library` + `maven-publish` @@ -101,6 +101,7 @@ index 0000000000000000000000000000000000000000..363001c4a677e27ed98cb16c9789b477 + "https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/", + "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/", + ) ++ options.tags("apiNote:a:API Note:") + + // workaround for https://github.com/gradle/gradle/issues/4046 + inputs.dir("src/main/javadoc").withPropertyName("javadoc-sourceset") @@ -115,10 +116,10 @@ index 0000000000000000000000000000000000000000..363001c4a677e27ed98cb16c9789b477 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 95228f3264ca4857fa69b51ca9235a21761b7649..0000000000000000000000000000000000000000 +index e324c7b4a615d74c5c5c66ce539a28c21eab9f1e..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,263 +0,0 @@ +@@ -1,270 +0,0 @@ - - @@ -319,6 +320,13 @@ index 95228f3264ca4857fa69b51ca9235a21761b7649..00000000000000000000000000000000 - https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/ - https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/ - +- +- +- apiNote +- a +- API Note: +- +- - - - diff --git a/patches/api/0002-Build-system-changes.patch b/patches/api/0002-Build-system-changes.patch index e4eb007c8b..f852024983 100644 --- a/patches/api/0002-Build-system-changes.patch +++ b/patches/api/0002-Build-system-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 363001c4a677e27ed98cb16c9789b47783fae725..140e5edaf2db8fe00c8ecb32a7be42f89da6c1a7 100644 +index 4b7f005519d8856fc35a94401636ae8d9bf41f10..bb6e3afe8e8bc1a3b598b085286ffcdaf3574072 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,15 +15,27 @@ dependencies { @@ -45,8 +45,8 @@ index 363001c4a677e27ed98cb16c9789b47783fae725..140e5edaf2db8fe00c8ecb32a7be42f8 + "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/", ) - -@@ -80,3 +92,14 @@ tasks.withType { + options.tags("apiNote:a:API Note:") +@@ -81,3 +93,14 @@ tasks.withType { } } } diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 4dc21384ed..766cc99041 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -7,7 +7,7 @@ Co-authored-by: zml Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index 05ac285c0bafa853f820d75c43858836b9bac0c4..81b9ca9c7b93e5eaf4118d69208feeab1bbfdce2 100644 +index 5fccd83117c2c153951d102756acfd4862b8c51b..b0e446dde0ccdb61fe58f1c00e3e2d958336c35c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,11 +8,24 @@ java { @@ -50,7 +50,7 @@ index 05ac285c0bafa853f820d75c43858836b9bac0c4..81b9ca9c7b93e5eaf4118d69208feeab // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.5") -@@ -80,9 +100,24 @@ tasks.withType { +@@ -80,10 +100,25 @@ tasks.withType { "https://guava.dev/releases/31.1-jre/api/docs/", "https://javadoc.io/doc/org.yaml/snakeyaml/1.33/", "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations @@ -64,6 +64,7 @@ index 05ac285c0bafa853f820d75c43858836b9bac0c4..81b9ca9c7b93e5eaf4118d69208feeab + "https://jd.advntr.dev/text-serializer-plain/$adventureVersion/", + // Paper end ) + options.tags("apiNote:a:API Note:") + inputs.files(apiAndDocs).ignoreEmptyDirectories().withPropertyName(apiAndDocs.name + "-configuration") + doFirst { @@ -1364,10 +1365,10 @@ index 52dd3148ae2a3480982593dc627ef7eede52bc5a..0a333c1439b3623d38029b88ce6d5ff1 throw new UnsupportedOperationException("Not supported yet."); } diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index 5676389bb85607112194fd9a6741ab88254d18bb..5035c525ab40ebdde3da7fe85f5bdf6a26f6cfc0 100644 +index 4dda5091739ece442a66d983670ad432b6042867..762b0d9ba22a1012ebe5ea77b6aef909fddc0403 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java -@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; +@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; * guarantee values will not be removed from this Enum. As such, you should not * depend on the ordinal values of this class. */ @@ -1376,7 +1377,7 @@ index 5676389bb85607112194fd9a6741ab88254d18bb..5035c525ab40ebdde3da7fe85f5bdf6a AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"), AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"), -@@ -1478,4 +1478,11 @@ public enum Sound implements Keyed { +@@ -1640,4 +1640,11 @@ public enum Sound implements Keyed { public NamespacedKey getKey() { return key; } @@ -1961,10 +1962,10 @@ index 9566e4306ada5e82dede0f002aa06da12c44996b..4d5f0837bd0e02a30c943d8969fb6b13 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 281518d6e1f67722134e22d89b71106aae0c4397..d5be25c62b2eb90f8e171646b460fef04cf2a470 100644 +index f3afe67f0832cb828d25be3654518ff73a80b0e1..598abaa82c634178043a29f6caa6ac5221659d06 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable; +@@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a base entity in the world */ @@ -1973,7 +1974,7 @@ index 281518d6e1f67722134e22d89b71106aae0c4397..d5be25c62b2eb90f8e171646b460fef0 /** * Gets the entity's current position -@@ -709,4 +709,20 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -710,4 +710,20 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @Override Spigot spigot(); // Spigot end @@ -1995,10 +1996,10 @@ index 281518d6e1f67722134e22d89b71106aae0c4397..d5be25c62b2eb90f8e171646b460fef0 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a3a7f3e6f 100644 +index 1d702d2bfd61fc44f351a90e03e4b2593e470630..743559d4cc248331578e0c2d2a026e7a270cb713 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -39,7 +39,28 @@ import org.jetbrains.annotations.Nullable; +@@ -40,7 +40,28 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ @@ -2028,7 +2029,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a /** * {@inheritDoc} -@@ -56,7 +77,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -57,7 +78,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * places defined by plugins. * * @return the friendly name @@ -2038,7 +2039,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a @NotNull public String getDisplayName(); -@@ -68,15 +91,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -69,15 +92,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * places defined by plugins. * * @param name The new display name. @@ -2089,7 +2090,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public String getPlayerListName(); /** -@@ -85,14 +143,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -86,14 +144,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * If the value is null, the name will be identical to {@link #getName()}. * * @param name new player list name @@ -2108,7 +2109,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a @Nullable public String getPlayerListHeader(); -@@ -100,7 +162,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -101,7 +163,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Gets the currently displayed player list footer for this player. * * @return player list header or null @@ -2118,7 +2119,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a @Nullable public String getPlayerListFooter(); -@@ -108,14 +172,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -109,14 +173,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Sets the currently displayed player list header for this player. * * @param header player list header, null for empty @@ -2137,7 +2138,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void setPlayerListFooter(@Nullable String footer); /** -@@ -124,7 +192,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -125,7 +193,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param header player list header, null for empty * @param footer player list footer, null for empty @@ -2147,7 +2148,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer); /** -@@ -162,9 +232,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -163,9 +233,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Kicks player with custom kick message. * * @param message kick message @@ -2173,7 +2174,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a /** * Says a message (or runs a command). * -@@ -606,6 +692,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -607,6 +693,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull Map items); @@ -2264,7 +2265,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a /** * Send a sign change. This fakes a sign change packet for a user at * a certain location. This will not actually change the world in any way. -@@ -620,7 +790,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -621,7 +791,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param lines the new text on the sign or null to clear it * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -2274,7 +2275,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -639,7 +811,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -640,7 +812,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -2284,7 +2285,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -659,7 +833,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -660,7 +834,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -2294,7 +2295,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException; /** -@@ -1132,6 +1308,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1133,6 +1309,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * pack correctly. * * @@ -2302,7 +2303,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a * @param url The URL from which the client will download the resource * pack. The string must contain only US-ASCII characters and should * be encoded as per RFC 1738. -@@ -1188,8 +1365,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1189,8 +1366,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2313,7 +2314,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a /** * Request that the player's client download and switch resource packs. *

-@@ -1225,6 +1404,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1226,6 +1405,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param hash The sha1 hash sum of the resource pack file which is used * to apply a cached version of the pack directly without downloading * if it is available. Hast to be 20 bytes long! @@ -2368,7 +2369,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a * @param force If true, the client will be disconnected from the server * when it declines to use the resource pack. * @throws IllegalArgumentException Thrown if the URL is null. -@@ -1279,8 +1506,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1280,8 +1507,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2426,7 +2427,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a /** * Gets the Scoreboard displayed to this player * -@@ -1396,7 +1672,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1397,7 +1673,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param title Title text * @param subtitle Subtitle text @@ -2435,7 +2436,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a */ @Deprecated public void sendTitle(@Nullable String title, @Nullable String subtitle); -@@ -1415,7 +1691,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1416,7 +1692,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param fadeIn time in ticks for titles to fade in. Defaults to 10. * @param stay time in ticks for titles to stay. Defaults to 70. * @param fadeOut time in ticks for titles to fade out. Defaults to 20. @@ -2445,7 +2446,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut); /** -@@ -1642,6 +1920,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1643,6 +1921,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public int getClientViewDistance(); @@ -2460,7 +2461,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a /** * Gets the player's estimated ping in milliseconds. * -@@ -1667,8 +1953,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1668,8 +1954,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale @@ -2471,7 +2472,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public String getLocale(); /** -@@ -1710,6 +1998,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1711,6 +1999,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public boolean isAllowingServerListings(); @@ -2486,7 +2487,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a // Spigot start public class Spigot extends Entity.Spigot { -@@ -1764,11 +2060,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1765,11 +2061,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM throw new UnsupportedOperationException("Not supported yet."); } @@ -2500,7 +2501,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a @Override public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); -@@ -1779,7 +2077,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1780,7 +2078,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param component the components to send @@ -2510,7 +2511,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1789,7 +2089,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1790,7 +2090,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param components the components to send @@ -2520,7 +2521,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1800,7 +2102,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1801,7 +2103,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param position the screen position * @param sender the sender of the message * @param component the components to send @@ -2530,7 +2531,7 @@ index f2aeb6dba58ae2e0936ae2fad1cfd8d6198befe7..1fa1ad73ba424c8ae7a0646bc076e13a public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1811,7 +2115,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1812,7 +2116,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param position the screen position * @param sender the sender of the message * @param components the components to send @@ -2821,10 +2822,10 @@ index 3c2ea8fec3a748cab7f5ad9100d12bd8213ec6c9..a803bfea5400b3578bb4cf3261874e87 * Gets how much EXP the Player should have at respawn. *

diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 629c1bf79ca3577c51d17ef8c9d36f84b1a2c360..2186507089384cb9805057c7cc1795fba7de1df3 100644 +index 3eb3a2cb67d9aa54180ab310524770189ad37c99..b821fa535b23fe5af5884e536b1708460076ee40 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -155,6 +155,18 @@ public enum InventoryType { +@@ -156,6 +156,18 @@ public enum InventoryType { private final String title; private final boolean isCreatable; @@ -2843,7 +2844,7 @@ index 629c1bf79ca3577c51d17ef8c9d36f84b1a2c360..2186507089384cb9805057c7cc1795fb private InventoryType(int defaultSize, /*@NotNull*/ String defaultTitle) { this(defaultSize, defaultTitle, true); } -@@ -163,6 +175,7 @@ public enum InventoryType { +@@ -164,6 +176,7 @@ public enum InventoryType { size = defaultSize; title = defaultTitle; this.isCreatable = isCreatable; @@ -2851,7 +2852,7 @@ index 629c1bf79ca3577c51d17ef8c9d36f84b1a2c360..2186507089384cb9805057c7cc1795fb } public int getDefaultSize() { -@@ -170,6 +183,7 @@ public enum InventoryType { +@@ -171,6 +184,7 @@ public enum InventoryType { } @NotNull diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch index 4920f2d9f7..9ab2d9170e 100644 --- a/patches/api/0010-Timings-v2.patch +++ b/patches/api/0010-Timings-v2.patch @@ -3455,10 +3455,10 @@ index 516d7fc7812aac343782861d0d567f54aa578c2a..00000000000000000000000000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1fa1ad73ba424c8ae7a0646bc076e13a3a7f3e6f..96ad56d682d0872f057b52ec87a620408845a473 100644 +index 743559d4cc248331578e0c2d2a026e7a270cb713..74608db3d7631cd1b434a2543fc278fbc097d090 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2120,7 +2120,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2121,7 +2121,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); @@ -3474,7 +3474,7 @@ index 1fa1ad73ba424c8ae7a0646bc076e13a3a7f3e6f..96ad56d682d0872f057b52ec87a62040 @NotNull diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index f64a90241ce7f73e111e6b5ac6ff87cd93583c0e..f13dcbe448111b24b36105d25527ba87ccc9334e 100644 +index 77f9ebbe675cf1b6a17e98d98e7666711998eb4e..63389474a2b3f0e283b42e7004aa6a94904a3d17 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -368,7 +368,6 @@ public final class SimplePluginManager implements PluginManager { diff --git a/patches/api/0012-Player-affects-spawning-API.patch b/patches/api/0012-Player-affects-spawning-API.patch index d28fe5c96d..c9b35cad89 100644 --- a/patches/api/0012-Player-affects-spawning-API.patch +++ b/patches/api/0012-Player-affects-spawning-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player affects spawning API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 96ad56d682d0872f057b52ec87a620408845a473..acac8f4e4656e4485213936092fd6982a5c2e9e0 100644 +index 74608db3d7631cd1b434a2543fc278fbc097d090..475d0c44e91dd4afbebaa1089fa3d26b0efaddb9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1959,6 +1959,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1960,6 +1960,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public String getLocale(); diff --git a/patches/api/0015-Entity-Origin-API.patch b/patches/api/0015-Entity-Origin-API.patch index a832f7333b..a1242ccf31 100644 --- a/patches/api/0015-Entity-Origin-API.patch +++ b/patches/api/0015-Entity-Origin-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity Origin API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 0a539af95e1bd331cec241403a15e4e6dbf6d996..1b0b365905d4e7f77d3f792797816eeb35d31c69 100644 +index 598abaa82c634178043a29f6caa6ac5221659d06..70a32f89c16439c575d8928332cfed64d1d6ab7e 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -724,5 +724,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -725,5 +725,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent default net.kyori.adventure.text.event.HoverEvent asHoverEvent(final @NotNull java.util.function.UnaryOperator op) { return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.customName()))); } diff --git a/patches/api/0017-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch index 402ed777c9..bf865e91b9 100644 --- a/patches/api/0017-Add-view-distance-API.patch +++ b/patches/api/0017-Add-view-distance-API.patch @@ -75,10 +75,10 @@ index 2e26ed8492669de22cf9b652edc1e83d8eaa6e2a..1675aceb9f4ce21782ef85fab9881736 public class Spigot { diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index acac8f4e4656e4485213936092fd6982a5c2e9e0..41b44ca3ccea7885e24d134b3748eb93fa95664b 100644 +index 475d0c44e91dd4afbebaa1089fa3d26b0efaddb9..f9875ea45251f51ff4ffef9f1a0d75ba652e4d1f 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1973,6 +1973,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1974,6 +1974,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param affects Whether the player can affect mob spawning */ public void setAffectsSpawning(boolean affects); diff --git a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 26b0e5a5b9..08bbbb0ccb 100644 --- a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -76,10 +76,10 @@ index 866559ab7cd3f351266fb41dce26a210a7702ff8..74e5f26c32e6e0c84c604b9704bfe672 * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 41b44ca3ccea7885e24d134b3748eb93fa95664b..963c7a56538ecf4a3505339728c45c6382b94d22 100644 +index f9875ea45251f51ff4ffef9f1a0d75ba652e4d1f..97d80bd49a3e76c265e45795d13d813125c521f9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -846,6 +846,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -847,6 +847,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMap(@NotNull MapView map); diff --git a/patches/api/0025-Player-Tab-List-and-Title-APIs.patch b/patches/api/0025-Player-Tab-List-and-Title-APIs.patch index 955a043d6e..ecf0b157fd 100644 --- a/patches/api/0025-Player-Tab-List-and-Title-APIs.patch +++ b/patches/api/0025-Player-Tab-List-and-Title-APIs.patch @@ -432,10 +432,10 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 963c7a56538ecf4a3505339728c45c6382b94d22..f6f635ef60d56da619f9fbe3b568f9378fff4a01 100644 +index 97d80bd49a3e76c265e45795d13d813125c521f9..1dbc823ecf98a952d4c0addc4ada8fa31e1fa86b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -880,6 +880,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -881,6 +881,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } diff --git a/patches/api/0027-Complete-resource-pack-API.patch b/patches/api/0027-Complete-resource-pack-API.patch index 4219ab15b2..6599d2a152 100644 --- a/patches/api/0027-Complete-resource-pack-API.patch +++ b/patches/api/0027-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index f6f635ef60d56da619f9fbe3b568f9378fff4a01..a22001436e7f5f1b80a900b667a536db15ac6305 100644 +index 1dbc823ecf98a952d4c0addc4ada8fa31e1fa86b..e2a80794ae9bec17a9e00575fe71f13a9e4e1121 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1437,7 +1437,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1438,7 +1438,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the URL is null. * @throws IllegalArgumentException Thrown if the URL is too long. The * length restriction is an implementation specific arbitrary value. @@ -18,7 +18,7 @@ index f6f635ef60d56da619f9fbe3b568f9378fff4a01..a22001436e7f5f1b80a900b667a536db public void setResourcePack(@NotNull String url); /** -@@ -2253,6 +2255,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2254,6 +2256,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM default net.kyori.adventure.text.event.HoverEvent asHoverEvent(final @NotNull java.util.function.UnaryOperator op) { return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.displayName()))); } diff --git a/patches/api/0046-Add-String-based-Action-Bar-API.patch b/patches/api/0046-Add-String-based-Action-Bar-API.patch index 8ed51fb713..bf97c4136e 100644 --- a/patches/api/0046-Add-String-based-Action-Bar-API.patch +++ b/patches/api/0046-Add-String-based-Action-Bar-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add String based Action Bar API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a22001436e7f5f1b80a900b667a536db15ac6305..492a00552c7de43141d18e4b1a3da0915bac6a89 100644 +index e2a80794ae9bec17a9e00575fe71f13a9e4e1121..11e45ffb88cab06ac988915f771e87100047eadf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -847,6 +847,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -848,6 +848,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start @@ -48,7 +48,7 @@ index a22001436e7f5f1b80a900b667a536db15ac6305..492a00552c7de43141d18e4b1a3da091 /** * Sends the component to the player * -@@ -874,9 +907,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -875,9 +908,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 82a193d725..0d5a11f8a0 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -414,10 +414,10 @@ index ae9eaaa8e38e1d9dfc459926c7fc51ddb89de84a..b2ec535bb1b0ce0c114ddd7638b90218 @Override public int getConversionTime(); diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 492a00552c7de43141d18e4b1a3da0915bac6a89..a54ae581e45d35535881c0f20b25c8011a7745c2 100644 +index 11e45ffb88cab06ac988915f771e87100047eadf..044f6c5c1b64ba97e25d075f4df2aa943dfd3557 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -310,15 +310,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -311,15 +311,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Saves the players current location, health, inventory, motion, and @@ -437,7 +437,7 @@ index 492a00552c7de43141d18e4b1a3da0915bac6a89..a54ae581e45d35535881c0f20b25c801 *

* Note: This will overwrite the players current inventory, health, * motion, etc, with the state from the saved dat file. -@@ -553,7 +553,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -554,7 +554,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Plays an effect to just this player. * @@ -446,7 +446,7 @@ index 492a00552c7de43141d18e4b1a3da0915bac6a89..a54ae581e45d35535881c0f20b25c801 * @param loc the location to play the effect at * @param effect the {@link Effect} * @param data a data bit needed for some effects -@@ -864,7 +864,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -865,7 +865,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * Use supplied alternative character to the section symbol to represent legacy color codes. * @@ -455,7 +455,7 @@ index 492a00552c7de43141d18e4b1a3da0915bac6a89..a54ae581e45d35535881c0f20b25c801 * @param message The message to send * @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)} */ -@@ -1307,7 +1307,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1308,7 +1308,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Allows this player to see a player that was previously hidden. If @@ -464,7 +464,7 @@ index 492a00552c7de43141d18e4b1a3da0915bac6a89..a54ae581e45d35535881c0f20b25c801 * remain hidden until the other plugin calls this method too. * * @param plugin Plugin that wants to show the player -@@ -1336,7 +1336,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1337,7 +1337,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Allows this player to see an entity that was previously hidden. If @@ -962,18 +962,18 @@ index d5b50a4a954fed35d37f03f1a277cc173ca106df..c69904f3ee7f3a41d6cebcd401abf838 /** * Sets the entities armor to the provided array of ItemStacks diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java -index 42fcc31147934fd4ed6484b0729e938e7ae2f8e2..4e637420b9a39b822be19367a16da93f236549b3 100644 +index 0a1c39a2a007342f02459b3f5515dbec012b2a61..69a66073bcaa10967b8736cbf35182b912c17d11 100644 --- a/src/main/java/org/bukkit/inventory/ItemFlag.java +++ b/src/main/java/org/bukkit/inventory/ItemFlag.java -@@ -35,7 +35,7 @@ public enum ItemFlag { +@@ -38,7 +38,7 @@ public enum ItemFlag { */ HIDE_DYE, /** - * Setting to show/hide armor trim from leather armor. + * Setting to show/hide armor trim from armor. */ - HIDE_ARMOR_TRIM; - } + @MinecraftExperimental + @ApiStatus.Experimental diff --git a/src/main/java/org/bukkit/inventory/PlayerInventory.java b/src/main/java/org/bukkit/inventory/PlayerInventory.java index 62fbd7f6d8195bebcab7f704a0a485a1bbeca26c..5461f7fa75f5a065bb333b4a113640b5fe1e3825 100644 --- a/src/main/java/org/bukkit/inventory/PlayerInventory.java diff --git a/patches/api/0062-Entity-fromMobSpawner.patch b/patches/api/0062-Entity-fromMobSpawner.patch index 5589904f61..d9b896f6ce 100644 --- a/patches/api/0062-Entity-fromMobSpawner.patch +++ b/patches/api/0062-Entity-fromMobSpawner.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 1b0b365905d4e7f77d3f792797816eeb35d31c69..c10e19e06f0c4e33b2c5a4a1446b151f818e92db 100644 +index 70a32f89c16439c575d8928332cfed64d1d6ab7e..b1dc148301012ba708333d620c8bdf0062140c8b 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -734,5 +734,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -735,5 +735,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ @Nullable Location getOrigin(); diff --git a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch index 4bd060d2b2..509c5e749a 100644 --- a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch @@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b + +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1017db005f8c7a095911f5dd0dbe37d9fc239c95..2f2cce2a8b4b26fbe85da10f55f7313112b05435 100644 +index 044f6c5c1b64ba97e25d075f4df2aa943dfd3557..71b8600f05615a422c8b10505be8f09e30b32ac5 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -39,7 +39,7 @@ import org.jetbrains.annotations.Nullable; +@@ -40,7 +40,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ diff --git a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch index d1369bc81e..4bd744853c 100644 --- a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch @@ -10,10 +10,10 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b55df11a0beb8e3b0e6255a7c0f1f73486cf83d7..43d7947e470096980b3384c42f1b1933f224ecfa 100644 +index 71b8600f05615a422c8b10505be8f09e30b32ac5..c111ab6d5a39ad9430d5bc6cb5c68e9c236504c9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1171,12 +1171,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1172,12 +1172,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void resetPlayerWeather(); diff --git a/patches/api/0083-Add-setPlayerProfile-API-for-Skulls.patch b/patches/api/0083-Add-setPlayerProfile-API-for-Skulls.patch index 7f444fd34b..2e21f259dc 100644 --- a/patches/api/0083-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/api/0083-Add-setPlayerProfile-API-for-Skulls.patch @@ -7,10 +7,10 @@ This allows you to create already filled textures on Skulls to avoid texture loo which commonly cause rate limit issues with Mojang API diff --git a/src/main/java/org/bukkit/block/Skull.java b/src/main/java/org/bukkit/block/Skull.java -index 8d4093a413ca14a1c4c24a2a1b74c1d574943ffa..c7502a3913cf14e66559c21489d6f2205f3eb06a 100644 +index fab2ca9f6c7738795cfedbb6d0d2206f13e9da8a..33ae32155d12ecd58a2a6434dba229043d4e2132 100644 --- a/src/main/java/org/bukkit/block/Skull.java +++ b/src/main/java/org/bukkit/block/Skull.java -@@ -63,6 +63,20 @@ public interface Skull extends TileState { +@@ -65,6 +65,20 @@ public interface Skull extends TileState { */ public void setOwningPlayer(@NotNull OfflinePlayer player); @@ -31,7 +31,7 @@ index 8d4093a413ca14a1c4c24a2a1b74c1d574943ffa..c7502a3913cf14e66559c21489d6f220 /** * Gets the profile of the player who owns the skull. This player profile * may appear as the texture depending on skull type. -@@ -70,6 +84,7 @@ public interface Skull extends TileState { +@@ -72,6 +86,7 @@ public interface Skull extends TileState { * @return the profile of the owning player */ @Nullable @@ -39,7 +39,7 @@ index 8d4093a413ca14a1c4c24a2a1b74c1d574943ffa..c7502a3913cf14e66559c21489d6f220 PlayerProfile getOwnerProfile(); /** -@@ -84,6 +99,7 @@ public interface Skull extends TileState { +@@ -86,6 +101,7 @@ public interface Skull extends TileState { * @throws IllegalArgumentException if the profile does not contain the * necessary information */ @@ -48,10 +48,10 @@ index 8d4093a413ca14a1c4c24a2a1b74c1d574943ffa..c7502a3913cf14e66559c21489d6f220 /** diff --git a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java -index 5a18a66a0b7877ec0c1859f78cce659db4b8541a..862640b4611458dfbcd3be797eacd120fc8d1f9f 100644 +index 461cdecc3e8f45b63f17963031b16943309909e2..1808e1315c72f983817426420eb22434c6a65024 100644 --- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java -@@ -38,6 +38,20 @@ public interface SkullMeta extends ItemMeta { +@@ -40,6 +40,20 @@ public interface SkullMeta extends ItemMeta { @Deprecated boolean setOwner(@Nullable String owner); @@ -72,7 +72,7 @@ index 5a18a66a0b7877ec0c1859f78cce659db4b8541a..862640b4611458dfbcd3be797eacd120 /** * Gets the owner of the skull. * -@@ -64,6 +78,7 @@ public interface SkullMeta extends ItemMeta { +@@ -66,6 +80,7 @@ public interface SkullMeta extends ItemMeta { * @return the profile of the owning player */ @Nullable @@ -80,7 +80,7 @@ index 5a18a66a0b7877ec0c1859f78cce659db4b8541a..862640b4611458dfbcd3be797eacd120 PlayerProfile getOwnerProfile(); /** -@@ -78,6 +93,7 @@ public interface SkullMeta extends ItemMeta { +@@ -80,6 +95,7 @@ public interface SkullMeta extends ItemMeta { * @throws IllegalArgumentException if the profile does not contain the * necessary information */ diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch index 57883869df..bbc770f80a 100644 --- a/patches/api/0091-Player.setPlayerProfile-API.patch +++ b/patches/api/0091-Player.setPlayerProfile-API.patch @@ -93,10 +93,10 @@ index d769ad908c3454fa9088a42f32250bbdf8f9fa7e..2eaf31f1053787b39184dfa8ac6df87d /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 43d7947e470096980b3384c42f1b1933f224ecfa..de29e26fe8981e09534ebcedc683625d881b7e54 100644 +index c111ab6d5a39ad9430d5bc6cb5c68e9c236504c9..6240b4059cd0847fdb0f1a630c6d7aa6cb43bfbf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2429,6 +2429,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2430,6 +2430,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED} */ boolean hasResourcePack(); diff --git a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch index cb3f505eb1..b446ffd80c 100644 --- a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch +++ b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch @@ -24,10 +24,10 @@ index abdca9fe5acc90f167219eb769ece66c35682bb1..9715a9d36187e2eecfeab1a05087d27c /** * Make the entity drop the item in their hand. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index de29e26fe8981e09534ebcedc683625d881b7e54..ac8551641309413aa2c871e94cbcb8438c0e9206 100644 +index 6240b4059cd0847fdb0f1a630c6d7aa6cb43bfbf..fdc13706ac54ccba2eae2cc6240dbb67dcea3328 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2284,7 +2284,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2285,7 +2285,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Open a Sign for editing by the Player. * diff --git a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch index cccc0a41c8..51145b368f 100644 --- a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch +++ b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch @@ -74,10 +74,10 @@ index 3ba8ff1a41ac9fd96fd4dec5cbe0f714fef93022..b39ed4eb2e7d9e40805e201d77973877 /** * Checks if this player is whitelisted or not diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ac8551641309413aa2c871e94cbcb8438c0e9206..2b0565eb6ff222bd51ad8d98622ac7d9e5314aac 100644 +index fdc13706ac54ccba2eae2cc6240dbb67dcea3328..50e95f585ce516f9f9bc511d864f181fa3f7f5ac 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -847,6 +847,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -848,6 +848,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start diff --git a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch index 33d2882568..af9c478f4d 100644 --- a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -500,10 +500,10 @@ index 0000000000000000000000000000000000000000..f45b8cfd1611345e8d81ecb8297a586f + } +} diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java -index 0ca7955003eea0556a04a54056152ec27d93a9ee..93244e6d940891f1297d4a26a80ba155af306071 100644 +index 7336edb91e7095cce381318220496b51962afbe9..0125890a258ee58a43990285b341f8a62a5c281b 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java -@@ -163,6 +163,17 @@ public enum Particle { +@@ -170,6 +170,17 @@ public enum Particle { return dataType; } diff --git a/patches/api/0121-Entity-getChunk-API.patch b/patches/api/0121-Entity-getChunk-API.patch index 31b028b90a..6b018f8016 100644 --- a/patches/api/0121-Entity-getChunk-API.patch +++ b/patches/api/0121-Entity-getChunk-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Entity#getChunk API Get the chunk the entity is currently registered to diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index c10e19e06f0c4e33b2c5a4a1446b151f818e92db..13e0316b2446c1d10b2ff3582b948265de21bfef 100644 +index b1dc148301012ba708333d620c8bdf0062140c8b..5f703c8847a94c8fd356abe2a0cd45e6af6efcec 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -3,6 +3,7 @@ package org.bukkit.entity; @@ -17,7 +17,7 @@ index c10e19e06f0c4e33b2c5a4a1446b151f818e92db..13e0316b2446c1d10b2ff3582b948265 import org.bukkit.EntityEffect; import org.bukkit.Location; import org.bukkit.Nameable; -@@ -741,5 +742,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -742,5 +743,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if entity spawned from a mob spawner */ boolean fromMobSpawner(); diff --git a/patches/api/0142-Async-Chunks-API.patch b/patches/api/0142-Async-Chunks-API.patch index c18753b9c4..497d511712 100644 --- a/patches/api/0142-Async-Chunks-API.patch +++ b/patches/api/0142-Async-Chunks-API.patch @@ -495,10 +495,10 @@ index fbfe1e0923eddefbb378c3e150f0bb08802fa812..4031b2c3b7d6870f649e76f47a72e31a /** diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 17fd1322fcd76ac899f3db1d7fdd7fbdabe2209e..cd489dddec0b1ab50947a523c467ce3825961549 100644 +index 5f703c8847a94c8fd356abe2a0cd45e6af6efcec..9eca441d6702752938813a1c97724edf13134171 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -164,6 +164,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -165,6 +165,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ public boolean teleport(@NotNull Entity destination, @NotNull TeleportCause cause); diff --git a/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch index 0f070b2fe4..0a1754ce39 100644 --- a/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 2b0565eb6ff222bd51ad8d98622ac7d9e5314aac..fe0cfc15c6b8525ebf1419b23aaecb47313cb796 100644 +index 50e95f585ce516f9f9bc511d864f181fa3f7f5ac..e0d2f9e6d785b7785fc59db8814c5278962a3f06 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2599,6 +2599,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2600,6 +2600,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param profile The new profile to use */ void setPlayerProfile(@NotNull com.destroystokyo.paper.profile.PlayerProfile profile); diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0152-Material-API-additions.patch index 78dcc836e4..7a452665da 100644 --- a/patches/api/0152-Material-API-additions.patch +++ b/patches/api/0152-Material-API-additions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index bef8b78665c7304c88c068a7367c0d1bed3f2045..b96bae74f0c9619609590737d9b856292cb56691 100644 +index 0d04591db6e2e0b08b06904c16ef41b59decd952..fb23fce97a1930b968b76fa9ff4fbbb452768096 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -115,6 +115,7 @@ import org.jetbrains.annotations.Nullable; +@@ -116,6 +116,7 @@ import org.jetbrains.annotations.Nullable; /** * An enum of all material IDs accepted by the official server and client */ @@ -16,7 +16,7 @@ index bef8b78665c7304c88c068a7367c0d1bed3f2045..b96bae74f0c9619609590737d9b85629 public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4389,6 +4390,22 @@ public enum Material implements Keyed, Translatable { +@@ -4548,6 +4549,22 @@ public enum Material implements Keyed, Translatable { } } diff --git a/patches/api/0153-Add-Material-Tags.patch b/patches/api/0153-Add-Material-Tags.patch index 4d29499ad7..d0b8b83dcc 100644 --- a/patches/api/0153-Add-Material-Tags.patch +++ b/patches/api/0153-Add-Material-Tags.patch @@ -1119,10 +1119,10 @@ index 0000000000000000000000000000000000000000..d7eb49a05c3f0cacf285f8995433c5d5 + .ensureSize("WATER_BASED", 11).lock(); +} diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 3ba1efc150d050a2f3bd3b4a7b35b73b557ff607..ef96155a6625cdfd9ebe75957fd2d3fa408039c5 100644 +index 2d25228016fc9a9a1ba87f58865ec8ee65115461..28e5691e265b94eb9855f87d05f84e8ff963c566 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java -@@ -11,6 +11,10 @@ import org.jetbrains.annotations.NotNull; +@@ -12,6 +12,10 @@ import org.jetbrains.annotations.NotNull; * Note that whilst all tags defined within this interface must be present in * implementations, their existence is not guaranteed across future versions. * diff --git a/patches/api/0171-Entity-getEntitySpawnReason.patch b/patches/api/0171-Entity-getEntitySpawnReason.patch index f14999e52d..71c620fbed 100644 --- a/patches/api/0171-Entity-getEntitySpawnReason.patch +++ b/patches/api/0171-Entity-getEntitySpawnReason.patch @@ -12,10 +12,10 @@ or DEFAULT since data was not stored. Co-authored-by: Aurora diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index cd489dddec0b1ab50947a523c467ce3825961549..b541674b1d7061be9e8e7545a5050c7ee0ca4c66 100644 +index 9eca441d6702752938813a1c97724edf13134171..9d3c3dedb4f71b9fc35cb5da6e38c77c7c673ad6 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -780,5 +780,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -781,5 +781,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent // TODO remove impl here return getLocation().getChunk(); } diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index 61017e80fd..c2b85a59f7 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -79,10 +79,10 @@ index 20978b269a7757a561d6b872cc77898b44bbd272..2b9a117804a8ca54b47e51e23359bd6e if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 92b6563712b1622bbf2a987f7ddc4b460b3ead0e..c154e94acda00924f81368f2aad1933726596b17 100644 +index fb23fce97a1930b968b76fa9ff4fbbb452768096..20cc192e89562e1455ec3eacc15593c4eed89907 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4419,11 +4419,11 @@ public enum Material implements Keyed, Translatable { +@@ -4578,11 +4578,11 @@ public enum Material implements Keyed, Translatable { } /** @@ -96,7 +96,7 @@ index 92b6563712b1622bbf2a987f7ddc4b460b3ead0e..c154e94acda00924f81368f2aad19337 public boolean isLegacy() { return legacy; } -@@ -4494,8 +4494,10 @@ public enum Material implements Keyed, Translatable { +@@ -4653,8 +4653,10 @@ public enum Material implements Keyed, Translatable { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -145,10 +145,10 @@ index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..f0094e6fb05e526736629ad3181c8d2c /** diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index ea80520c19cd3dd6aa25665c748d96fd4a3f6e40..ff1fcdaccbca81602278a0b52670f7b895ba22b7 100644 +index 3e5d6fd08bcc66593d7669104705436f6dfb20fc..4a3c42f9c480c53f935d09bcc3656259c755661d 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -229,8 +229,11 @@ public interface Registry extends Iterable { +@@ -248,8 +248,11 @@ public interface Registry extends Iterable { * * @param input non-null input * @return registered object or null if does not exist @@ -200,17 +200,17 @@ index 20f9384c30f46e11631a7f79c48915bf55762858..291abd48c3c8af0807bce312c18d8cf2 /** diff --git a/src/main/java/org/bukkit/UndefinedNullability.java b/src/main/java/org/bukkit/UndefinedNullability.java -index f465ea001c190e10eb99db818559d302e5512e99..567f560d145dea6fc7240699175496156c468a6d 100644 +index 4d4265c237179470e1fd017721a8dd595f114013..3babc9df26276300392d3f92ee6e317c33643b0b 100644 --- a/src/main/java/org/bukkit/UndefinedNullability.java +++ b/src/main/java/org/bukkit/UndefinedNullability.java -@@ -13,6 +13,7 @@ import java.lang.annotation.RetentionPolicy; +@@ -14,6 +14,7 @@ import org.jetbrains.annotations.ApiStatus; * suggests a bad API design. */ @Retention(RetentionPolicy.CLASS) +@java.lang.annotation.Documented // Paper + @ApiStatus.Internal @Deprecated public @interface UndefinedNullability { - diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114306c57cb 100644 --- a/src/main/java/org/bukkit/Vibration.java @@ -369,43 +369,6 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba + @Deprecated // Paper public MaterialData getDisplayBlock(); - /** -diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index fe0cfc15c6b8525ebf1419b23aaecb47313cb796..dcb2a41cb29efe3630a071cb77f088b2f99e5ca0 100644 ---- a/src/main/java/org/bukkit/entity/Player.java -+++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1506,9 +1506,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - * - * @param plugin Plugin that wants to hide the entity - * @param entity Entity to hide -- * @deprecated draft API - */ -- @Deprecated -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - public void hideEntity(@NotNull Plugin plugin, @NotNull Entity entity); - - /** -@@ -1518,9 +1517,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - * - * @param plugin Plugin that wants to show the entity - * @param entity Entity to show -- * @deprecated draft API - */ -- @Deprecated -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - public void showEntity(@NotNull Plugin plugin, @NotNull Entity entity); - - /** -@@ -1529,9 +1527,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - * @param entity Entity to check - * @return True if the provided entity is not being hidden from this - * player -- * @deprecated draft API - */ -- @Deprecated -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - public boolean canSee(@NotNull Entity entity); - /** diff --git a/src/main/java/org/bukkit/entity/Projectile.java b/src/main/java/org/bukkit/entity/Projectile.java index c854860c13912f9a8707eb825cca23763d1323a6..a523fca4baab447181ef91df67fa69b24e010149 100644 @@ -495,21 +458,6 @@ index e1123295b9511a2c610a1baf7195638f7f3e64c4..273ae8e5da0a858d3b82d1b0f5992318 @Override public void setCancelled(boolean cancel) { this.cancel = cancel; -diff --git a/src/main/java/org/bukkit/event/player/PlayerHideEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerHideEntityEvent.java -index d8a73cd22268e90eb438f522b9019f826f343275..78869fdb9cf4c541dff7d67b51866914987abf18 100644 ---- a/src/main/java/org/bukkit/event/player/PlayerHideEntityEvent.java -+++ b/src/main/java/org/bukkit/event/player/PlayerHideEntityEvent.java -@@ -15,9 +15,8 @@ import org.jetbrains.annotations.NotNull; - * This event is called regardless of if the entity was within tracking range. - * - * @see Player#hideEntity(org.bukkit.plugin.Plugin, org.bukkit.entity.Entity) -- * @deprecated draft API - */ --@Deprecated -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - @Warning(false) - public class PlayerHideEntityEvent extends PlayerEvent { - diff --git a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java b/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java index 1b2267f4e8ebded198773ec80e2bff2c861c7084..1a58734d919fae247eeb85dd785fd59990856505 100644 --- a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java @@ -523,21 +471,6 @@ index 1b2267f4e8ebded198773ec80e2bff2c861c7084..1a58734d919fae247eeb85dd785fd599 public Location getTo() { return to; } -diff --git a/src/main/java/org/bukkit/event/player/PlayerShowEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerShowEntityEvent.java -index 5408a8c123942a56ef11597ae6cdb77e14f741e3..29bb84145be18ef9162abdfc8820f2b3f7fd0db5 100644 ---- a/src/main/java/org/bukkit/event/player/PlayerShowEntityEvent.java -+++ b/src/main/java/org/bukkit/event/player/PlayerShowEntityEvent.java -@@ -16,9 +16,8 @@ import org.jetbrains.annotations.NotNull; - * range. - * - * @see Player#showEntity(org.bukkit.plugin.Plugin, org.bukkit.entity.Entity) -- * @deprecated draft API - */ --@Deprecated -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - @Warning(false) - public class PlayerShowEntityEvent extends PlayerEvent { - diff --git a/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java b/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java index 6bafc62e2235a6b783cbf96f4dabeeaf02bd5178..50c762d777ac90a05772501a28cacff8fd3f5126 100644 --- a/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java diff --git a/patches/api/0189-Add-Player-Client-Options-API.patch b/patches/api/0189-Add-Player-Client-Options-API.patch index 90649d923a..0824462892 100644 --- a/patches/api/0189-Add-Player-Client-Options-API.patch +++ b/patches/api/0189-Add-Player-Client-Options-API.patch @@ -229,10 +229,10 @@ index 0000000000000000000000000000000000000000..cf67dc7d465223710adbf2b798109f52 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index dcb2a41cb29efe3630a071cb77f088b2f99e5ca0..b42cdfd64b22b6d66f6030fb6b59c4c781a56a43 100644 +index e0d2f9e6d785b7785fc59db8814c5278962a3f06..e258aba2abcd2bacf6fb5fd7e2a04740c054cbc4 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2616,6 +2616,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2620,6 +2620,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the cooldown counter to 0, effectively starting the cooldown period. */ void resetCooldown(); diff --git a/patches/api/0192-Add-item-slot-convenience-methods.patch b/patches/api/0192-Add-item-slot-convenience-methods.patch index abad4883ed..d456638d28 100644 --- a/patches/api/0192-Add-item-slot-convenience-methods.patch +++ b/patches/api/0192-Add-item-slot-convenience-methods.patch @@ -178,10 +178,10 @@ index 4a0c43acc2714e095973eb78536041bb1a179ddc..acf2244f77133df53eb5f862c8e713c8 + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/SmithingInventory.java b/src/main/java/org/bukkit/inventory/SmithingInventory.java -index 96d526b7b153e56c9a97de42ce3270b6638510e4..a41ca6bd2672db2810dd70c4925b84a4f081af05 100644 +index 8f7749d10b68b6fe3c29f2e38dd1f7b9a6b45d8c..7808d30ae194d5ec043e630c277916a66d452a69 100644 --- a/src/main/java/org/bukkit/inventory/SmithingInventory.java +++ b/src/main/java/org/bukkit/inventory/SmithingInventory.java -@@ -30,4 +30,44 @@ public interface SmithingInventory extends Inventory { +@@ -35,4 +35,44 @@ public interface SmithingInventory extends Inventory { */ @Nullable Recipe getRecipe(); diff --git a/patches/api/0204-Add-entity-liquid-API.patch b/patches/api/0204-Add-entity-liquid-API.patch index c9c0841421..6b08eaecef 100644 --- a/patches/api/0204-Add-entity-liquid-API.patch +++ b/patches/api/0204-Add-entity-liquid-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add entity liquid API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 84e201c1695e9a97354f84156d82c47f9b722281..3eb1cc7556ef0e8f3cc3d270c22ba293ac50c6c8 100644 +index 9d3c3dedb4f71b9fc35cb5da6e38c77c7c673ad6..e2caf7d0f8c0754617a2d7dfa065fd46e74d3f52 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -786,5 +786,40 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -787,5 +787,40 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason(); diff --git a/patches/api/0206-Brand-support.patch b/patches/api/0206-Brand-support.patch index 37639b73b7..e64c5e7d75 100644 --- a/patches/api/0206-Brand-support.patch +++ b/patches/api/0206-Brand-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b42cdfd64b22b6d66f6030fb6b59c4c781a56a43..b7afdf6c202b7d20b718bb5ef40b0d569c7c2a78 100644 +index e258aba2abcd2bacf6fb5fd7e2a04740c054cbc4..b51107775775e308ae0aee87f0636eb33bf0f452 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2748,6 +2748,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2752,6 +2752,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end } diff --git a/patches/api/0212-Add-methods-to-get-translation-keys.patch b/patches/api/0212-Add-methods-to-get-translation-keys.patch index 7018b3ebb2..2de0b4ca63 100644 --- a/patches/api/0212-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0212-Add-methods-to-get-translation-keys.patch @@ -144,10 +144,10 @@ index 753bfcec441533071120d925c83789ef53afa176..c6bc84a8755b2fe5d7d8d3ec857700ec + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index c154e94acda00924f81368f2aad1933726596b17..9117bbfb5208231752cfa757c0d088bc270d43b9 100644 +index 20cc192e89562e1455ec3eacc15593c4eed89907..3da281e454f1f242c57e0174917084557f9c85df 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -116,7 +116,7 @@ import org.jetbrains.annotations.Nullable; +@@ -117,7 +117,7 @@ import org.jetbrains.annotations.Nullable; * An enum of all material IDs accepted by the official server and client */ @SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper @@ -156,7 +156,7 @@ index c154e94acda00924f81368f2aad1933726596b17..9117bbfb5208231752cfa757c0d088bc // AIR(9648, 0), STONE(22948), -@@ -4404,6 +4404,15 @@ public enum Material implements Keyed, Translatable { +@@ -4563,6 +4563,15 @@ public enum Material implements Keyed, Translatable { } return false; } @@ -172,7 +172,7 @@ index c154e94acda00924f81368f2aad1933726596b17..9117bbfb5208231752cfa757c0d088bc // Paper end /** -@@ -10887,9 +10896,11 @@ public enum Material implements Keyed, Translatable { +@@ -11046,9 +11055,11 @@ public enum Material implements Keyed, Translatable { * material * @see #getBlockTranslationKey() * @see #getItemTranslationKey() @@ -232,10 +232,10 @@ index 13eac9ad2c1672051635d1c35cc49239252e7a61..107e36ef02a9481954bd770ce9a55a0b + // Paper end } diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java -index d3087d60378822cdd7cea25fd63d3f496e3cd2fb..5d8fa5b39a5d50cca48ba63af3a84b80f279b649 100644 +index a5908d0a03801757d1f6184d73c3c89981afa107..d268498c779d6b2ec07812d4d1c0b168fab63c07 100644 --- a/src/main/java/org/bukkit/block/Biome.java +++ b/src/main/java/org/bukkit/block/Biome.java -@@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull; +@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; /** * Holds all accepted Biomes in the default server */ @@ -244,7 +244,7 @@ index d3087d60378822cdd7cea25fd63d3f496e3cd2fb..5d8fa5b39a5d50cca48ba63af3a84b80 OCEAN, PLAINS, DESERT, -@@ -89,4 +89,11 @@ public enum Biome implements Keyed { +@@ -93,4 +93,11 @@ public enum Biome implements Keyed { public NamespacedKey getKey() { return key; } @@ -283,7 +283,7 @@ index 06ef9e133125d80127e1dbd6ae0eda89fa08a1d7..35ed58bce2589bb097dd0f6bf2a6ebd7 // Paper end } diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index 5744a9f432ec75f6b6b1991ff488dffb9591c934..0264c2f9a3977b6d47994b1e1b0240b312e5bf65 100644 +index 2dc749936df6168073a5bb9f9051d55f8589ac62..1b6f42ff632b1f3f5034c825e99b72f389a890b4 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; @@ -311,10 +311,10 @@ index 4d5f0837bd0e02a30c943d8969fb6b13452322e0..a39f9c078f42451bd122f3e3729d10ca // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 8b913a9458d20c5c387b41bad21c353335b7c6b9..5f78a801d6fd10a0e0fa3ccf13bb1456eed12c13 100644 +index bed9c519a594f44191c2e13b2f13a0de906e21e5..712db16df7a3b30f844b391321b5acd6ffa5aec5 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Contract; +@@ -24,7 +24,7 @@ import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -323,7 +323,7 @@ index 8b913a9458d20c5c387b41bad21c353335b7c6b9..5f78a801d6fd10a0e0fa3ccf13bb1456 // These strings MUST match the strings in nms.EntityTypes and are case sensitive. /** -@@ -435,7 +435,19 @@ public enum EntityType implements Keyed, Translatable { +@@ -441,7 +441,19 @@ public enum EntityType implements Keyed, Translatable { @Override @NotNull @@ -344,7 +344,7 @@ index 8b913a9458d20c5c387b41bad21c353335b7c6b9..5f78a801d6fd10a0e0fa3ccf13bb1456 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java -index c799ac46dbe257d470d3b236cf55b41240f5fda8..d61855b83da0776fe910dee8cde184c720571a71 100644 +index d841d94d46462e0ceb7c6b04cc8fc36792bd9201..8c8176121cafed0ed09239b6a7b392dc846438e2 100644 --- a/src/main/java/org/bukkit/entity/Villager.java +++ b/src/main/java/org/bukkit/entity/Villager.java @@ -160,7 +160,7 @@ public interface Villager extends AbstractVillager { @@ -450,7 +450,7 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db + } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7c280d7beeb42dca52e36e77bbd41742b2572710..03a15727c85a08c0c79965be249373a11f31ce6e 100644 +index 3da071798b89e1dd1453f4339af87933cdf0105e..e4ad3a550050c4bf9cc7a2a1082bfdf668050efe 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0216-Entity-isTicking.patch b/patches/api/0216-Entity-isTicking.patch index 3e634e27d0..625612008d 100644 --- a/patches/api/0216-Entity-isTicking.patch +++ b/patches/api/0216-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 3eb1cc7556ef0e8f3cc3d270c22ba293ac50c6c8..2c7c53b96b92ea9ef4e185558d744d0955a5e9e7 100644 +index e2caf7d0f8c0754617a2d7dfa065fd46e74d3f52..cb850d4310af0ba7db5ebee8fabe61e94cea6dad 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -821,5 +821,10 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -822,5 +822,10 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * Check if entity is in lava */ boolean isInLava(); diff --git a/patches/api/0218-Player-elytra-boost-API.patch b/patches/api/0218-Player-elytra-boost-API.patch index f9e803da15..b673a57166 100644 --- a/patches/api/0218-Player-elytra-boost-API.patch +++ b/patches/api/0218-Player-elytra-boost-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index edd90e8311c47e9bbd6e962395503c445455bc23..2a3eed2795d26dc104a143ede85428f15a7f839d 100644 +index b51107775775e308ae0aee87f0636eb33bf0f452..74d7ca681a3a1ff31ad2d7b440b918bc499c1ea8 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2622,6 +2622,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2626,6 +2626,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @NotNull T getClientOption(@NotNull com.destroystokyo.paper.ClientOption option); diff --git a/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch index d297dd5c24..96e3e59f8e 100644 --- a/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch +++ b/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add API to get Material from Boats and Minecarts diff --git a/src/main/java/org/bukkit/entity/Boat.java b/src/main/java/org/bukkit/entity/Boat.java -index 88852215d01f3fc4866449f7b826f6603b0ed9d8..f7548098bcdd033d9c530fdc584fc5538c635ca1 100644 +index 08e54aac52322aac2d033083ab4f589160386627..8715e53e6b85ebaf3d07297c838432b9e6f28c2a 100644 --- a/src/main/java/org/bukkit/entity/Boat.java +++ b/src/main/java/org/bukkit/entity/Boat.java -@@ -175,4 +175,14 @@ public interface Boat extends Vehicle { +@@ -181,4 +181,14 @@ public interface Boat extends Vehicle { ON_LAND, IN_AIR; } diff --git a/patches/api/0245-Add-sendOpLevel-API.patch b/patches/api/0245-Add-sendOpLevel-API.patch index 8e3caf479f..7ed0216508 100644 --- a/patches/api/0245-Add-sendOpLevel-API.patch +++ b/patches/api/0245-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 2a3eed2795d26dc104a143ede85428f15a7f839d..77fb32968d9d32096d93a760a8b08ded310d31b5 100644 +index 74d7ca681a3a1ff31ad2d7b440b918bc499c1ea8..87a0b438aa5af2193eab43ac18616b9340479ae7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2635,6 +2635,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2639,6 +2639,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @Nullable Firework boostElytra(@NotNull ItemStack firework); diff --git a/patches/api/0247-Add-StructuresLocateEvent.patch b/patches/api/0247-Add-StructuresLocateEvent.patch index 4000811de1..28b64bb361 100644 --- a/patches/api/0247-Add-StructuresLocateEvent.patch +++ b/patches/api/0247-Add-StructuresLocateEvent.patch @@ -501,10 +501,10 @@ index 0000000000000000000000000000000000000000..b9a98f3c89cf847afd510bd1588d3a6d + } +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index ff1fcdaccbca81602278a0b52670f7b895ba22b7..c0655a7c29e113297484a53d72cc5ea0affbe8ce 100644 +index 4a3c42f9c480c53f935d09bcc3656259c755661d..39c13a459dede4992f5a3fa7309733820cfa44c5 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -211,6 +211,15 @@ public interface Registry extends Iterable { +@@ -230,6 +230,15 @@ public interface Registry extends Iterable { return GameEvent.getByKey(key); } }; diff --git a/patches/api/0250-Added-missing-vanilla-tags.patch b/patches/api/0250-Added-missing-vanilla-tags.patch index 06920bad60..80a493bbea 100644 --- a/patches/api/0250-Added-missing-vanilla-tags.patch +++ b/patches/api/0250-Added-missing-vanilla-tags.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added missing vanilla tags diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index ef96155a6625cdfd9ebe75957fd2d3fa408039c5..aeef4dea5ea7e5581988e5fedcfec29eee8d58eb 100644 +index 28e5691e265b94eb9855f87d05f84e8ff963c566..a28d38408ff2dc9b835d737aff25196a94878a77 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java -@@ -724,6 +724,12 @@ public interface Tag extends Keyed { +@@ -735,6 +735,12 @@ public interface Tag extends Keyed { * Vanilla item tag representing all chest boat items. */ Tag ITEMS_CHEST_BOATS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("chest_boats"), Material.class); diff --git a/patches/api/0260-Expose-Tracked-Players.patch b/patches/api/0260-Expose-Tracked-Players.patch index 8582519d3b..c32bb8acf2 100644 --- a/patches/api/0260-Expose-Tracked-Players.patch +++ b/patches/api/0260-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index e212fcb53c9d2f8aad3e1582b64de1743f2efbfc..368a308e5420f9a9ed403358e7224d2df67a89bb 100644 +index cb850d4310af0ba7db5ebee8fabe61e94cea6dad..a6f9fb065a9e3e56b86ce5f606f86e681a90d7e6 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -826,5 +826,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -827,5 +827,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * Check if entity is inside a ticking chunk */ boolean isTicking(); diff --git a/patches/api/0261-Cache-the-result-of-Material-isBlock.patch b/patches/api/0261-Cache-the-result-of-Material-isBlock.patch index 13bedd1afb..094e9ab4d0 100644 --- a/patches/api/0261-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0261-Cache-the-result-of-Material-isBlock.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 9117bbfb5208231752cfa757c0d088bc270d43b9..f0f81ecad42fc3dc894ec0c150346206d70a8720 100644 +index 3da281e454f1f242c57e0174917084557f9c85df..6ec19c038ce3c551b5207028355594f8a0c80bd2 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4348,6 +4348,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4507,6 +4507,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public final Class data; private final boolean legacy; private final NamespacedKey key; @@ -16,7 +16,7 @@ index 9117bbfb5208231752cfa757c0d088bc270d43b9..f0f81ecad42fc3dc894ec0c150346206 private Material(final int id) { this(id, 64); -@@ -4546,6 +4547,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4705,6 +4706,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * @return true if this material is a block */ public boolean isBlock() { @@ -28,7 +28,7 @@ index 9117bbfb5208231752cfa757c0d088bc270d43b9..f0f81ecad42fc3dc894ec0c150346206 switch (this) { // case ACACIA_BUTTON: -@@ -5727,6 +5733,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5886,6 +5892,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/api/0267-Item-Rarity-API.patch b/patches/api/0267-Item-Rarity-API.patch index ad0914d330..62d27e3ca1 100644 --- a/patches/api/0267-Item-Rarity-API.patch +++ b/patches/api/0267-Item-Rarity-API.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index f0f81ecad42fc3dc894ec0c150346206d70a8720..467282a76dbf2edfd88baa4275991ae1163c0919 100644 +index 6ec19c038ce3c551b5207028355594f8a0c80bd2..22649f3ba10a0b6e33c584ee84b76cbbda992919 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4414,6 +4414,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4573,6 +4573,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla return Bukkit.getUnsafe().getBlockTranslationKey(this); } } diff --git a/patches/api/0291-Attributes-API-for-item-defaults.patch b/patches/api/0291-Attributes-API-for-item-defaults.patch index 8d822f5e8d..dfeb066ade 100644 --- a/patches/api/0291-Attributes-API-for-item-defaults.patch +++ b/patches/api/0291-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 467282a76dbf2edfd88baa4275991ae1163c0919..31ec16d134fd8eb5607d18e17f93225eef402d7e 100644 +index 22649f3ba10a0b6e33c584ee84b76cbbda992919..041fe4384c611b9d88121bda0cb9e5e034ff7e7b 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4425,6 +4425,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4584,6 +4584,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } diff --git a/patches/api/0294-Add-PlayerKickEvent-causes.patch b/patches/api/0294-Add-PlayerKickEvent-causes.patch index c02b838aa2..672477fc51 100644 --- a/patches/api/0294-Add-PlayerKickEvent-causes.patch +++ b/patches/api/0294-Add-PlayerKickEvent-causes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 77fb32968d9d32096d93a760a8b08ded310d31b5..11c5cfa3e35395c2967dc1e0864e0b953fda30c6 100644 +index 87a0b438aa5af2193eab43ac18616b9340479ae7..bf7cc49f81c00f8fda672f22c00e9adeac87733e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -249,6 +249,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -250,6 +250,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param message kick message */ void kick(final net.kyori.adventure.text.@Nullable Component message); diff --git a/patches/api/0318-Get-entity-default-attributes.patch b/patches/api/0318-Get-entity-default-attributes.patch index 72fbc24349..bd7a7aa4eb 100644 --- a/patches/api/0318-Get-entity-default-attributes.patch +++ b/patches/api/0318-Get-entity-default-attributes.patch @@ -32,10 +32,10 @@ index 0d47278d68cdf015cb980721c234a3abee39646a..29ccd90e2733b528ef0866f93053adf6 // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 5f78a801d6fd10a0e0fa3ccf13bb1456eed12c13..9f935266f51f4ea5d1193031f52e5327350cc06f 100644 +index 712db16df7a3b30f844b391321b5acd6ffa5aec5..653f370f18f685e9dc49271b251eea01b428d021 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -449,5 +449,24 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans +@@ -455,5 +455,24 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys"); return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0324-Add-isCollidable-methods-to-various-places.patch b/patches/api/0324-Add-isCollidable-methods-to-various-places.patch index 97a86a8b35..9cc9912d6c 100644 --- a/patches/api/0324-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0324-Add-isCollidable-methods-to-various-places.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 31ec16d134fd8eb5607d18e17f93225eef402d7e..842a9dd6f92737699529721ec4e06fbc225fa3e6 100644 +index 041fe4384c611b9d88121bda0cb9e5e034ff7e7b..7ce5ac66e6d598c9ecffc52e5c75d80f644e8895 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4440,6 +4440,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4599,6 +4599,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot); } diff --git a/patches/api/0327-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0327-Add-Raw-Byte-Entity-Serialization.patch index 62e9d36079..7c0508f477 100644 --- a/patches/api/0327-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/api/0327-Add-Raw-Byte-Entity-Serialization.patch @@ -24,10 +24,10 @@ index 2a23e93d9e308c5eba0a2b658f11f571a0c01e26..b8ca571f8e88e7b676c5d1e1d90f6e5c * Creates and returns the next EntityId available. *

diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 368a308e5420f9a9ed403358e7224d2df67a89bb..822d39dde955f981323e6e6ac31d8da6b2289942 100644 +index a6f9fb065a9e3e56b86ce5f606f86e681a90d7e6..962989e74a66dadab2a8951ccc85ef0c49f8da6b 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -833,5 +833,32 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -834,5 +834,32 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return players in tracking range */ @NotNull Set getTrackedPlayers(); diff --git a/patches/api/0329-Add-player-health-update-API.patch b/patches/api/0329-Add-player-health-update-API.patch index c3678e3534..67ce57c8b8 100644 --- a/patches/api/0329-Add-player-health-update-API.patch +++ b/patches/api/0329-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 11c5cfa3e35395c2967dc1e0864e0b953fda30c6..1be287747e9aad2abf3ec5cf8e9655c252bb681d 100644 +index bf7cc49f81c00f8fda672f22c00e9adeac87733e..371275d7844928fe4d5df0251972355169b8304f 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2023,6 +2023,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2027,6 +2027,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public double getHealthScale(); diff --git a/patches/api/0334-Entity-powdered-snow-API.patch b/patches/api/0334-Entity-powdered-snow-API.patch index b7b3ded711..3ed79d314d 100644 --- a/patches/api/0334-Entity-powdered-snow-API.patch +++ b/patches/api/0334-Entity-powdered-snow-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity powdered snow API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 822d39dde955f981323e6e6ac31d8da6b2289942..56d6d9fae622f7cc4a397b1cc55aa9458ee925dc 100644 +index 962989e74a66dadab2a8951ccc85ef0c49f8da6b..e0dccc48c230fdee9196245e9cefd4b02b4d3782 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -860,5 +860,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -861,5 +861,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return Whether the entity was successfully spawned. */ public boolean spawnAt(@NotNull Location location, @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason); diff --git a/patches/api/0344-Multi-Block-Change-API.patch b/patches/api/0344-Multi-Block-Change-API.patch index d9a19fd8d1..946ce7cdc6 100644 --- a/patches/api/0344-Multi-Block-Change-API.patch +++ b/patches/api/0344-Multi-Block-Change-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1be287747e9aad2abf3ec5cf8e9655c252bb681d..4532e4955d5c42fe27dc9a3702d83f825c6074cc 100644 +index 371275d7844928fe4d5df0251972355169b8304f..2e1bd95fdce4571cb9d288e4dea495126834ee31 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -646,6 +646,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -647,6 +647,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendBlockDamage(@NotNull Location loc, float progress); diff --git a/patches/api/0346-Freeze-Tick-Lock-API.patch b/patches/api/0346-Freeze-Tick-Lock-API.patch index 8466db6302..fdf81b1a62 100644 --- a/patches/api/0346-Freeze-Tick-Lock-API.patch +++ b/patches/api/0346-Freeze-Tick-Lock-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Freeze Tick Lock API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 56d6d9fae622f7cc4a397b1cc55aa9458ee925dc..0feb4912e5fd230b0b566f2303f0e3f4098f43ae 100644 +index e0dccc48c230fdee9196245e9cefd4b02b4d3782..ab0ceaba9ddcbe20a8b8a1fc3ed19cb3c64ecd3d 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -279,6 +279,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -280,6 +280,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ boolean isFrozen(); diff --git a/patches/api/0348-More-PotionEffectType-API.patch b/patches/api/0348-More-PotionEffectType-API.patch index fbbaaee341..52c7f2634e 100644 --- a/patches/api/0348-More-PotionEffectType-API.patch +++ b/patches/api/0348-More-PotionEffectType-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index c0655a7c29e113297484a53d72cc5ea0affbe8ce..0a3a41ae4c488b148266129d3663be3f8830d509 100644 +index 39c13a459dede4992f5a3fa7309733820cfa44c5..fbd5a8fae7e72f3fb1098742c9680aeea1297fe7 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -219,6 +219,26 @@ public interface Registry extends Iterable { +@@ -238,6 +238,26 @@ public interface Registry extends Iterable { */ @Deprecated(forRemoval = true) Registry CONFIGURED_STRUCTURE = Bukkit.getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class); diff --git a/patches/api/0351-Add-GameEvent-tags.patch b/patches/api/0351-Add-GameEvent-tags.patch index 6fc6bfda74..c4ed6aaaeb 100644 --- a/patches/api/0351-Add-GameEvent-tags.patch +++ b/patches/api/0351-Add-GameEvent-tags.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add GameEvent tags diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index aeef4dea5ea7e5581988e5fedcfec29eee8d58eb..8f9a18ae5cdc51a2cc4ac0e45781fdce91172b6c 100644 +index a28d38408ff2dc9b835d737aff25196a94878a77..e8206aa4cb574ee629f375a85acf597ae164a1c3 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java -@@ -917,6 +917,24 @@ public interface Tag extends Keyed { +@@ -942,6 +942,24 @@ public interface Tag extends Keyed { * Vanilla tag representing entities which are dismounted when underwater. */ Tag ENTITY_TYPES_DISMOUNTS_UNDERWATER = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("dismounts_underwater"), EntityType.class); diff --git a/patches/api/0372-More-Teleport-API.patch b/patches/api/0372-More-Teleport-API.patch index 6478c08a8a..3e743575f1 100644 --- a/patches/api/0372-More-Teleport-API.patch +++ b/patches/api/0372-More-Teleport-API.patch @@ -125,10 +125,10 @@ index 0000000000000000000000000000000000000000..dbacefc919fd6ed6a0f5cdaa0f695a12 + +} diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 0feb4912e5fd230b0b566f2303f0e3f4098f43ae..cb31e07d65075a58a906ca5163f9802f7a651a64 100644 +index ab0ceaba9ddcbe20a8b8a1fc3ed19cb3c64ecd3d..97f0bc6573c8ba09de77061b6312b91cd713221d 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -122,10 +122,34 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -123,10 +123,34 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * * @param yaw the yaw * @param pitch the pitch @@ -165,10 +165,10 @@ index 0feb4912e5fd230b0b566f2303f0e3f4098f43ae..cb31e07d65075a58a906ca5163f9802f * Teleports this entity to the given location. If this entity is riding a * vehicle, it will be dismounted prior to teleportation. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4532e4955d5c42fe27dc9a3702d83f825c6074cc..53c2ed8d5b2ddd787ee5b3d9035278dca6727a7a 100644 +index 2e1bd95fdce4571cb9d288e4dea495126834ee31..51e427992bc673b733971c34bb9f0df7c26ba653 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2836,6 +2836,49 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2840,6 +2840,49 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM String getClientBrandName(); // Paper end diff --git a/patches/api/0374-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0374-Custom-Chat-Completion-Suggestions-API.patch index b6d3f04965..17dcf46943 100644 --- a/patches/api/0374-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/api/0374-Custom-Chat-Completion-Suggestions-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 53c2ed8d5b2ddd787ee5b3d9035278dca6727a7a..a92a36629c926e1fdf9b3e5d18d77a4b24b80010 100644 +index 51e427992bc673b733971c34bb9f0df7c26ba653..4d7680050849b5159f8485877228af5ef71defe5 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2700,6 +2700,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2704,6 +2704,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException If the level is negative or greater than {@code 4} (i.e. not within {@code [0, 4]}). */ void sendOpLevel(byte level); diff --git a/patches/api/0375-Collision-API.patch b/patches/api/0375-Collision-API.patch index f6e91de00e..a0f945bda8 100644 --- a/patches/api/0375-Collision-API.patch +++ b/patches/api/0375-Collision-API.patch @@ -25,10 +25,10 @@ index 96291baf8bd06ff5f7fb2fccdbb2a172f01ba8db..9ff8d5e104ca35bc7145cd845d96b382 // Paper end } diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index cb31e07d65075a58a906ca5163f9802f7a651a64..e0e4300d24f6b53f35c450bbae18511a6ce0b05e 100644 +index 97f0bc6573c8ba09de77061b6312b91cd713221d..3f3ea5bb6b3ea6f55b5cd699f1c01ac159619add 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -912,4 +912,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -913,4 +913,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ boolean isInPowderedSnow(); // Paper end diff --git a/patches/api/0384-Elder-Guardian-appearance-API.patch b/patches/api/0384-Elder-Guardian-appearance-API.patch index 7f0c7c031c..255c6f02c2 100644 --- a/patches/api/0384-Elder-Guardian-appearance-API.patch +++ b/patches/api/0384-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 3f47c8e1ca6da80b84f666a9516e79ec47cdc331..63c4c2d96a3c508a92a6404911de47b2cc83dc45 100644 +index 4d7680050849b5159f8485877228af5ef71defe5..6da82c3037e6568e5f447f30fa881b2d455e99c5 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2898,6 +2898,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2902,6 +2902,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM void lookAt(@NotNull org.bukkit.entity.Entity entity, @NotNull io.papermc.paper.entity.LookAnchor playerAnchor, @NotNull io.papermc.paper.entity.LookAnchor entityAnchor); // Paper end - Teleport API diff --git a/patches/api/0392-Add-Player-Warden-Warning-API.patch b/patches/api/0392-Add-Player-Warden-Warning-API.patch index b8295a0179..b23df9685c 100644 --- a/patches/api/0392-Add-Player-Warden-Warning-API.patch +++ b/patches/api/0392-Add-Player-Warden-Warning-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player Warden Warning API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 63c4c2d96a3c508a92a6404911de47b2cc83dc45..9e2116c121704602c2702414db39b5d1bd559c3d 100644 +index 6da82c3037e6568e5f447f30fa881b2d455e99c5..a824262598e4a1ad6030e22a77628c43975c031d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2914,6 +2914,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2918,6 +2918,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param silent whether sound should be silenced */ void showElderGuardian(boolean silent); diff --git a/patches/api/0400-Actually-mark-mc-experimental-API-as-such.patch b/patches/api/0400-Actually-mark-mc-experimental-API-as-such.patch new file mode 100644 index 0000000000..09ec1116c0 --- /dev/null +++ b/patches/api/0400-Actually-mark-mc-experimental-API-as-such.patch @@ -0,0 +1,314 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +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 extends Keyed { + /** + * Vanilla block tag representing all bamboo blocks. + */ ++ @MinecraftExperimental // Paper ++ @ApiStatus.Experimental // Paper + Tag 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 extends Keyed { + /** + * Vanilla item tag representing all books that may be placed on bookshelves. + */ ++ @MinecraftExperimental // Paper ++ @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. +@@ -788,6 +792,8 @@ public interface Tag extends Keyed { + /** + * Vanilla item tag representing all hanging signs. + */ ++ @MinecraftExperimental // Paper ++ @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/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; diff --git a/patches/api/0400-Mark-experimental-api-as-such.patch b/patches/api/0400-Mark-experimental-api-as-such.patch deleted file mode 100644 index 990d5b1570..0000000000 --- a/patches/api/0400-Mark-experimental-api-as-such.patch +++ /dev/null @@ -1,1292 +0,0 @@ -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 842a9dd6f92737699529721ec4e06fbc225fa3e6..3c5e90f039f0d2991be442168703526405e18e3d 100644 ---- a/src/main/java/org/bukkit/Material.java -+++ b/src/main/java/org/bukkit/Material.java -@@ -155,12 +155,15 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - BIRCH_PLANKS(29322), - JUNGLE_PLANKS(26445), - ACACIA_PLANKS(31312), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_PLANKS(8354), - DARK_OAK_PLANKS(20869), - MANGROVE_PLANKS(7078), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_PLANKS(8520), - CRIMSON_PLANKS(18812), - WARPED_PLANKS(16045), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_MOSAIC(10715), - /** - * BlockData: {@link Sapling} -@@ -185,6 +188,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Sapling} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_SAPLING(25204, Sapling.class), - /** - * BlockData: {@link Sapling} -@@ -199,6 +203,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link SuspiciousSand} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SUSPICIOUS_SAND(18410, SuspiciousSand.class), - RED_SAND(16279), - GRAVEL(7804), -@@ -340,6 +345,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Orientable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_LOG(20847, Orientable.class), - /** - * BlockData: {@link Orientable} -@@ -368,6 +374,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Orientable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_BLOCK(20770, Orientable.class), - /** - * BlockData: {@link Orientable} -@@ -392,6 +399,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Orientable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - STRIPPED_CHERRY_LOG(18061, Orientable.class), - /** - * BlockData: {@link Orientable} -@@ -432,6 +440,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Orientable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - STRIPPED_CHERRY_WOOD(19647, Orientable.class), - /** - * BlockData: {@link Orientable} -@@ -452,6 +461,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Orientable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - STRIPPED_BAMBOO_BLOCK(14799, Orientable.class), - /** - * BlockData: {@link Orientable} -@@ -476,6 +486,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Orientable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_WOOD(9826, Orientable.class), - /** - * BlockData: {@link Orientable} -@@ -516,6 +527,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Leaves} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_LEAVES(20856, Leaves.class), - /** - * BlockData: {@link Leaves} -@@ -581,6 +593,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - CORNFLOWER(15405), - LILY_OF_THE_VALLEY(7185), - WITHER_ROSE(8619), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - TORCHFLOWER(4501), - SPORE_BLOSSOM(20627), - BROWN_MUSHROOM(9665), -@@ -610,6 +623,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link PinkPetals} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - PINK_PETALS(10420, PinkPetals.class), - MOSS_BLOCK(9175), - /** -@@ -651,6 +665,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Slab} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_SLAB(16673, Slab.class), - /** - * BlockData: {@link Slab} -@@ -663,10 +678,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Slab} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_SLAB(17798, Slab.class), - /** - * BlockData: {@link Slab} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_MOSAIC_SLAB(22118, Slab.class), - /** - * BlockData: {@link Slab} -@@ -753,10 +770,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link ChiseledBookshelf} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHISELED_BOOKSHELF(8099, ChiseledBookshelf.class), - /** - * BlockData: {@link DecoratedPot} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - DECORATED_POT(8720, 1, DecoratedPot.class), - MOSSY_COBBLESTONE(21900), - OBSIDIAN(32723), -@@ -842,6 +861,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Fence} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_FENCE(32047, Fence.class), - /** - * BlockData: {@link Fence} -@@ -854,6 +874,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Fence} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_FENCE(17207, Fence.class), - /** - * BlockData: {@link Fence} -@@ -1022,6 +1043,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Stairs} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_STAIRS(18380, Stairs.class), - /** - * BlockData: {@link Stairs} -@@ -1034,10 +1056,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Stairs} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_STAIRS(25674, Stairs.class), - /** - * BlockData: {@link Stairs} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_MOSAIC_STAIRS(20977, Stairs.class), - /** - * BlockData: {@link Stairs} -@@ -1873,6 +1897,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Switch} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_BUTTON(9058, Switch.class), - /** - * BlockData: {@link Switch} -@@ -1885,6 +1910,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Switch} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_BUTTON(21810, Switch.class), - /** - * BlockData: {@link Switch} -@@ -1933,6 +1959,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Powerable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_PRESSURE_PLATE(8651, Powerable.class), - /** - * BlockData: {@link Powerable} -@@ -1945,6 +1972,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Powerable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_PRESSURE_PLATE(26740, Powerable.class), - /** - * BlockData: {@link Powerable} -@@ -1981,6 +2009,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Door} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_DOOR(12684, Door.class), - /** - * BlockData: {@link Door} -@@ -1993,6 +2022,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Door} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_DOOR(19971, Door.class), - /** - * BlockData: {@link Door} -@@ -2029,6 +2059,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link TrapDoor} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_TRAPDOOR(6293, TrapDoor.class), - /** - * BlockData: {@link TrapDoor} -@@ -2041,6 +2072,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link TrapDoor} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_TRAPDOOR(9174, TrapDoor.class), - /** - * BlockData: {@link TrapDoor} -@@ -2073,6 +2105,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Gate} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_FENCE_GATE(28222, Gate.class), - /** - * BlockData: {@link Gate} -@@ -2085,6 +2118,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Gate} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_FENCE_GATE(14290, Gate.class), - /** - * BlockData: {@link Gate} -@@ -2129,13 +2163,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - JUNGLE_CHEST_BOAT(20133, 1), - ACACIA_BOAT(27326, 1), - ACACIA_CHEST_BOAT(28455, 1), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_BOAT(13628, 1), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_CHEST_BOAT(7165, 1), - DARK_OAK_BOAT(28618, 1), - DARK_OAK_CHEST_BOAT(8733, 1), - MANGROVE_BOAT(20792, 1), - MANGROVE_CHEST_BOAT(18572, 1), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_RAFT(25901, 1), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_CHEST_RAFT(20056, 1), - /** - * BlockData: {@link StructureBlock} -@@ -2261,6 +2299,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Sign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_SIGN(16520, 16, Sign.class), - /** - * BlockData: {@link Sign} -@@ -2273,6 +2312,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Sign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_SIGN(26139, 16, Sign.class), - /** - * BlockData: {@link Sign} -@@ -2285,46 +2325,57 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - OAK_HANGING_SIGN(20116, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SPRUCE_HANGING_SIGN(24371, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BIRCH_HANGING_SIGN(17938, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - JUNGLE_HANGING_SIGN(27671, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ACACIA_HANGING_SIGN(30257, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_HANGING_SIGN(5088, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - DARK_OAK_HANGING_SIGN(23360, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - MANGROVE_HANGING_SIGN(25106, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_HANGING_SIGN(4726, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CRIMSON_HANGING_SIGN(20696, 16, HangingSign.class), - /** - * BlockData: {@link HangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - WARPED_HANGING_SIGN(8195, 16, HangingSign.class), - BUCKET(15215, 16), - WATER_BUCKET(8802, 1), -@@ -2348,6 +2399,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - EGG(21603, 16), - COMPASS(24139), - RECOVERY_COMPASS(12710), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BUNDLE(16835, 1), - FISHING_ROD(4167, 1, 64), - CLOCK(14980), -@@ -2488,6 +2540,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - BEE_SPAWN_EGG(22924), - BLAZE_SPAWN_EGG(4759), - CAT_SPAWN_EGG(29583), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CAMEL_SPAWN_EGG(14760), - CAVE_SPIDER_SPAWN_EGG(23341), - CHICKEN_SPAWN_EGG(5462), -@@ -2535,6 +2588,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - SKELETON_SPAWN_EGG(15261), - SKELETON_HORSE_SPAWN_EGG(21356), - SLIME_SPAWN_EGG(17196), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SNIFFER_SPAWN_EGG(27473), - SNOW_GOLEM_SPAWN_EGG(24732), - SPIDER_SPAWN_EGG(14984), -@@ -2599,6 +2653,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Rotatable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - PIGLIN_HEAD(5512, Rotatable.class), - NETHER_STAR(12469), - PUMPKIN_PIE(28725), -@@ -2690,6 +2745,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - END_CRYSTAL(19090), - CHORUS_FRUIT(7652), - POPPED_CHORUS_FRUIT(27844), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - TORCHFLOWER_SEEDS(18153), - BEETROOT(23305), - BEETROOT_SEEDS(21282), -@@ -2726,6 +2782,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - NAUTILUS_SHELL(19989), - HEART_OF_THE_SEA(11807), - CROSSBOW(4340, 1, 465), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SUSPICIOUS_STEW(8173, 1), - /** - * BlockData: {@link Directional} -@@ -2937,22 +2994,39 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - PEARLESCENT_FROGLIGHT(21441, Orientable.class), - FROGSPAWN(8350), - ECHO_SHARD(12529), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BRUSH(30569, 1, 64), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - NETHERITE_UPGRADE_SMITHING_TEMPLATE(7615), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE(16124), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - DUNE_ARMOR_TRIM_SMITHING_TEMPLATE(30925), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - COAST_ARMOR_TRIM_SMITHING_TEMPLATE(25501), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - WILD_ARMOR_TRIM_SMITHING_TEMPLATE(5870), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - WARD_ARMOR_TRIM_SMITHING_TEMPLATE(24534), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - EYE_ARMOR_TRIM_SMITHING_TEMPLATE(14663), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - VEX_ARMOR_TRIM_SMITHING_TEMPLATE(25818), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - TIDE_ARMOR_TRIM_SMITHING_TEMPLATE(20420), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE(14386), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - RIB_ARMOR_TRIM_SMITHING_TEMPLATE(6010), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE(29143), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - POTTERY_SHARD_ARCHER(26154), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - POTTERY_SHARD_PRIZE(31677), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - POTTERY_SHARD_ARMS_UP(29222), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - POTTERY_SHARD_SKULL(14619), - /** - * BlockData: {@link Levelled} -@@ -3006,6 +3080,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link WallSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_WALL_SIGN(20188, 16, WallSign.class), - /** - * BlockData: {@link WallSign} -@@ -3022,50 +3097,62 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link WallSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_WALL_SIGN(18857, 16, WallSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - OAK_WALL_HANGING_SIGN(15637, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SPRUCE_WALL_HANGING_SIGN(18833, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BIRCH_WALL_HANGING_SIGN(15937, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ACACIA_WALL_HANGING_SIGN(22477, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_WALL_HANGING_SIGN(10953, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - JUNGLE_WALL_HANGING_SIGN(16691, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - DARK_OAK_WALL_HANGING_SIGN(14296, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - MANGROVE_WALL_HANGING_SIGN(16974, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CRIMSON_WALL_HANGING_SIGN(28982, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - WARPED_WALL_HANGING_SIGN(20605, WallHangingSign.class), - /** - * BlockData: {@link WallHangingSign} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BAMBOO_WALL_HANGING_SIGN(6669, WallHangingSign.class), - /** - * BlockData: {@link RedstoneWallTorch} -@@ -3113,12 +3200,14 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - * BlockData: {@link Tripwire} - */ - TRIPWIRE(8810, Tripwire.class), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - POTTED_TORCHFLOWER(21278), - POTTED_OAK_SAPLING(11905), - POTTED_SPRUCE_SAPLING(29498), - POTTED_BIRCH_SAPLING(32484), - POTTED_JUNGLE_SAPLING(7525), - POTTED_ACACIA_SAPLING(14096), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - POTTED_CHERRY_SAPLING(30785), - POTTED_DARK_OAK_SAPLING(6486), - POTTED_MANGROVE_PROPAGULE(22003), -@@ -3175,6 +3264,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Directional} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - PIGLIN_WALL_HEAD(4446, Directional.class), - /** - * BlockData: {@link Directional} -@@ -3243,6 +3333,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla - /** - * BlockData: {@link Ageable} - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - TORCHFLOWER_CROP(28460, Ageable.class), - /** - * BlockData: {@link Ageable} -diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java -index 93244e6d940891f1297d4a26a80ba155af306071..caa34db68bdbbc8dceefb4385f4585ac0496a0f9 100644 ---- a/src/main/java/org/bukkit/Particle.java -+++ b/src/main/java/org/bukkit/Particle.java -@@ -123,8 +123,11 @@ public enum Particle { - SCULK_CHARGE(Float.class), - SCULK_CHARGE_POP, - SHRIEK(Integer.class), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - DRIPPING_CHERRY_LEAVES, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - FALLING_CHERRY_LEAVES, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - LANDING_CHERRY_LEAVES, - /** - * Uses {@link BlockData} as DataType -diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index 5035c525ab40ebdde3da7fe85f5bdf6a26f6cfc0..aeaa8406fd97154a7afe66a4d08a3f598dfb83a4 100644 ---- a/src/main/java/org/bukkit/Sound.java -+++ b/src/main/java/org/bukkit/Sound.java -@@ -76,25 +76,45 @@ 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"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_BREAK("block.bamboo_wood.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_BUTTON_CLICK_OFF("block.bamboo_wood_button.click_off"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_BUTTON_CLICK_ON("block.bamboo_wood_button.click_on"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_DOOR_CLOSE("block.bamboo_wood_door.close"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_DOOR_OPEN("block.bamboo_wood_door.open"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_FALL("block.bamboo_wood.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_FENCE_GATE_CLOSE("block.bamboo_wood_fence_gate.close"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_FENCE_GATE_OPEN("block.bamboo_wood_fence_gate.open"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_HANGING_SIGN_BREAK("block.bamboo_wood_hanging_sign.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_HANGING_SIGN_FALL("block.bamboo_wood_hanging_sign.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_HANGING_SIGN_HIT("block.bamboo_wood_hanging_sign.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_HANGING_SIGN_PLACE("block.bamboo_wood_hanging_sign.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_HANGING_SIGN_STEP("block.bamboo_wood_hanging_sign.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_HIT("block.bamboo_wood.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_PLACE("block.bamboo_wood.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_OFF("block.bamboo_wood_pressure_plate.click_off"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_ON("block.bamboo_wood_pressure_plate.click_on"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_STEP("block.bamboo_wood.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_TRAPDOOR_CLOSE("block.bamboo_wood_trapdoor.close"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_BAMBOO_WOOD_TRAPDOOR_OPEN("block.bamboo_wood_trapdoor.open"), - BLOCK_BARREL_CLOSE("block.barrel.close"), - BLOCK_BARREL_OPEN("block.barrel.open"), -@@ -158,47 +178,86 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - BLOCK_CHAIN_HIT("block.chain.hit"), - BLOCK_CHAIN_PLACE("block.chain.place"), - BLOCK_CHAIN_STEP("block.chain.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_LEAVES_BREAK("block.cherry_leaves.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_LEAVES_FALL("block.cherry_leaves.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_LEAVES_HIT("block.cherry_leaves.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_LEAVES_PLACE("block.cherry_leaves.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_LEAVES_STEP("block.cherry_leaves.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_SAPLING_BREAK("block.cherry_sapling.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_SAPLING_FALL("block.cherry_sapling.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_SAPLING_HIT("block.cherry_sapling.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_SAPLING_PLACE("block.cherry_sapling.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_SAPLING_STEP("block.cherry_sapling.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_BREAK("block.cherry_wood.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_BUTTON_CLICK_OFF("block.cherry_wood_button.click_off"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_BUTTON_CLICK_ON("block.cherry_wood_button.click_on"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_DOOR_CLOSE("block.cherry_wood_door.close"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_DOOR_OPEN("block.cherry_wood_door.open"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_FALL("block.cherry_wood.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_FENCE_GATE_CLOSE("block.cherry_wood_fence_gate.close"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_FENCE_GATE_OPEN("block.cherry_wood_fence_gate.open"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_HANGING_SIGN_BREAK("block.cherry_wood_hanging_sign.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_HANGING_SIGN_FALL("block.cherry_wood_hanging_sign.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_HANGING_SIGN_HIT("block.cherry_wood_hanging_sign.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_HANGING_SIGN_PLACE("block.cherry_wood_hanging_sign.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_HANGING_SIGN_STEP("block.cherry_wood_hanging_sign.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_HIT("block.cherry_wood.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_PLACE("block.cherry_wood.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF("block.cherry_wood_pressure_plate.click_off"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON("block.cherry_wood_pressure_plate.click_on"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_STEP("block.cherry_wood.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_TRAPDOOR_CLOSE("block.cherry_wood_trapdoor.close"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHERRY_WOOD_TRAPDOOR_OPEN("block.cherry_wood_trapdoor.open"), - BLOCK_CHEST_CLOSE("block.chest.close"), - BLOCK_CHEST_LOCKED("block.chest.locked"), - BLOCK_CHEST_OPEN("block.chest.open"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_BREAK("block.chiseled_bookshelf.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_FALL("block.chiseled_bookshelf.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_HIT("block.chiseled_bookshelf.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_INSERT("block.chiseled_bookshelf.insert"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_INSERT_ENCHANTED("block.chiseled_bookshelf.insert.enchanted"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_PICKUP("block.chiseled_bookshelf.pickup"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_PICKUP_ENCHANTED("block.chiseled_bookshelf.pickup.enchanted"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_PLACE("block.chiseled_bookshelf.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_CHISELED_BOOKSHELF_STEP("block.chiseled_bookshelf.step"), - BLOCK_CHORUS_FLOWER_DEATH("block.chorus_flower.death"), - BLOCK_CHORUS_FLOWER_GROW("block.chorus_flower.grow"), -@@ -223,11 +282,17 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - BLOCK_CORAL_BLOCK_PLACE("block.coral_block.place"), - BLOCK_CORAL_BLOCK_STEP("block.coral_block.step"), - BLOCK_CROP_BREAK("block.crop.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_DECORATED_POT_BREAK("block.decorated_pot.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_DECORATED_POT_FALL("block.decorated_pot.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_DECORATED_POT_HIT("block.decorated_pot.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_DECORATED_POT_PLACE("block.decorated_pot.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_DECORATED_POT_SHATTER("block.decorated_pot.shatter"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_DECORATED_POT_STEP("block.decorated_pot.step"), - BLOCK_DEEPSLATE_BREAK("block.deepslate.break"), - BLOCK_DEEPSLATE_BRICKS_BREAK("block.deepslate_bricks.break"), -@@ -311,10 +376,15 @@ 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"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_HANGING_SIGN_BREAK("block.hanging_sign.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_HANGING_SIGN_FALL("block.hanging_sign.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_HANGING_SIGN_HIT("block.hanging_sign.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_HANGING_SIGN_PLACE("block.hanging_sign.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_HANGING_SIGN_STEP("block.hanging_sign.step"), - BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"), - BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"), -@@ -450,11 +520,17 @@ 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"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_NOTE_BLOCK_IMITATE_CREEPER("block.note_block.imitate.creeper"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_NOTE_BLOCK_IMITATE_ENDER_DRAGON("block.note_block.imitate.ender_dragon"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_NOTE_BLOCK_IMITATE_PIGLIN("block.note_block.imitate.piglin"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_NOTE_BLOCK_IMITATE_SKELETON("block.note_block.imitate.skeleton"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_NOTE_BLOCK_IMITATE_WITHER_SKELETON("block.note_block.imitate.wither_skeleton"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - 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"), -@@ -470,10 +546,15 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - BLOCK_PACKED_MUD_HIT("block.packed_mud.hit"), - BLOCK_PACKED_MUD_PLACE("block.packed_mud.place"), - BLOCK_PACKED_MUD_STEP("block.packed_mud.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_PINK_PETALS_BREAK("block.pink_petals.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_PINK_PETALS_FALL("block.pink_petals.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_PINK_PETALS_HIT("block.pink_petals.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_PINK_PETALS_PLACE("block.pink_petals.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_PINK_PETALS_STEP("block.pink_petals.step"), - BLOCK_PISTON_CONTRACT("block.piston.contract"), - BLOCK_PISTON_EXTEND("block.piston.extend"), -@@ -612,10 +693,15 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - BLOCK_STONE_PRESSURE_PLATE_CLICK_OFF("block.stone_pressure_plate.click_off"), - BLOCK_STONE_PRESSURE_PLATE_CLICK_ON("block.stone_pressure_plate.click_on"), - BLOCK_STONE_STEP("block.stone.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_SUSPICIOUS_SAND_BREAK("block.suspicious_sand.break"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_SUSPICIOUS_SAND_FALL("block.suspicious_sand.fall"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_SUSPICIOUS_SAND_HIT("block.suspicious_sand.hit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_SUSPICIOUS_SAND_PLACE("block.suspicious_sand.place"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - BLOCK_SUSPICIOUS_SAND_STEP("block.suspicious_sand.step"), - BLOCK_SWEET_BERRY_BUSH_BREAK("block.sweet_berry_bush.break"), - BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES("block.sweet_berry_bush.pick_berries"), -@@ -708,16 +794,27 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - ENTITY_BLAZE_SHOOT("entity.blaze.shoot"), - ENTITY_BOAT_PADDLE_LAND("entity.boat.paddle_land"), - ENTITY_BOAT_PADDLE_WATER("entity.boat.paddle_water"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_AMBIENT("entity.camel.ambient"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_DASH("entity.camel.dash"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_DASH_READY("entity.camel.dash_ready"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_DEATH("entity.camel.death"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_EAT("entity.camel.eat"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_HURT("entity.camel.hurt"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_SADDLE("entity.camel.saddle"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_SIT("entity.camel.sit"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_STAND("entity.camel.stand"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_STEP("entity.camel.step"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_CAMEL_STEP_SAND("entity.camel.step_sand"), - ENTITY_CAT_AMBIENT("entity.cat.ambient"), - ENTITY_CAT_BEG_FOR_FOOD("entity.cat.beg_for_food"), -@@ -1159,17 +1256,29 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - ENTITY_SLIME_JUMP_SMALL("entity.slime.jump_small"), - ENTITY_SLIME_SQUISH("entity.slime.squish"), - ENTITY_SLIME_SQUISH_SMALL("entity.slime.squish_small"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_DEATH("entity.sniffer.death"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_DIGGING("entity.sniffer.digging"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_DIGGING_STOP("entity.sniffer.digging_stop"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_DROP_SEED("entity.sniffer.drop_seed"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_EAT("entity.sniffer.eat"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_HAPPY("entity.sniffer.happy"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_HURT("entity.sniffer.hurt"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_IDLE("entity.sniffer.idle"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_SCENTING("entity.sniffer.scenting"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_SEARCHING("entity.sniffer.searching"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_SNIFFING("entity.sniffer.sniffing"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ENTITY_SNIFFER_STEP("entity.sniffer.step"), - ENTITY_SNOWBALL_THROW("entity.snowball.throw"), - ENTITY_SNOW_GOLEM_AMBIENT("entity.snow_golem.ambient"), -@@ -1353,7 +1462,9 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - ITEM_BOTTLE_EMPTY("item.bottle.empty"), - ITEM_BOTTLE_FILL("item.bottle.fill"), - ITEM_BOTTLE_FILL_DRAGONBREATH("item.bottle.fill_dragonbreath"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ITEM_BRUSH_BRUSHING("item.brush.brushing"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - ITEM_BRUSH_BRUSH_SAND_COMPLETED("item.brush.brush_sand_completed"), - ITEM_BUCKET_EMPTY("item.bucket.empty"), - ITEM_BUCKET_EMPTY_AXOLOTL("item.bucket.empty_axolotl"), -@@ -1440,6 +1551,7 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - MUSIC_NETHER_NETHER_WASTES("music.nether.nether_wastes"), - MUSIC_NETHER_SOUL_SAND_VALLEY("music.nether.soul_sand_valley"), - MUSIC_NETHER_WARPED_FOREST("music.nether.warped_forest"), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - MUSIC_OVERWORLD_CHERRY_GROVE("music.overworld.cherry_grove"), - MUSIC_OVERWORLD_DEEP_DARK("music.overworld.deep_dark"), - MUSIC_OVERWORLD_DRIPSTONE_CAVES("music.overworld.dripstone_caves"), -diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 8f9a18ae5cdc51a2cc4ac0e45781fdce91172b6c..0316b32502f151e6eef86c2a0fe19ed67dce652f 100644 ---- a/src/main/java/org/bukkit/Tag.java -+++ b/src/main/java/org/bukkit/Tag.java -@@ -122,6 +122,7 @@ public interface Tag extends Keyed { - /** - * Vanilla block tag representing all cherry log and bark variants. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag CHERRY_LOGS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("cherry_logs"), Material.class); - /** - * Vanilla block tag representing all jungle log and bark variants. -@@ -146,6 +147,7 @@ public interface Tag extends Keyed { - /** - * Vanilla block tag representing all bamboo blocks. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag BAMBOO_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("bamboo_blocks"), Material.class); - /** - * Vanilla block tag representing all banner blocks. -@@ -320,14 +322,17 @@ public interface Tag extends Keyed { - /** - * Vanilla block tag representing all ceiling signs. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - 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 - 1.20 - 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 - 1.20 - Tag ALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("all_hanging_signs"), Material.class); - /** - * Vanilla block tag representing all signs, regardless of type. -@@ -691,6 +696,7 @@ public interface Tag extends Keyed { - /** - * Vanilla block tag representing blocks which can be dug by sniffers. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag SNIFFER_DIGGABLE_BLOCK = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("sniffer_diggable_block"), Material.class); - /** - * Key for the built in item registry. -@@ -757,6 +763,7 @@ public interface Tag extends Keyed { - /** - * Vanilla item tag representing all books that may be placed on bookshelves. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - 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. -@@ -777,6 +784,7 @@ public interface Tag extends Keyed { - /** - * Vanilla item tag representing all hanging signs. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - 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 -@@ -786,26 +794,32 @@ public interface Tag extends Keyed { - /** - * Vanilla item tag representing all items which modify note block sounds when placed on top. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_NOTE_BLOCK_TOP_INSTRUMENTS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("noteblock_top_instruments"), Material.class); - /** - * Vanilla item tag representing all trimmable armor items. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_TRIMMABLE_ARMOR = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trimmable_armor"), Material.class); - /** - * Vanilla item tag representing all materials which can be used for trimming armor. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_TRIM_MATERIALS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trim_materials"), Material.class); - /** - * Vanilla item tag representing all trimming templates. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_TRIM_TEMPLATES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trim_templates"), Material.class); - /** - * Vanilla item tag representing all food for sniffers. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_SNIFFER_FOOD = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("sniffer_food"), Material.class); - /** - * Vanilla item tag representing all decorated pot shards. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_DECORATED_POT_SHARDS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("decorated_pot_shards"), Material.class); - /** - * Vanilla item tag representing all swords. -@@ -834,6 +848,7 @@ public interface Tag extends Keyed { - /** - * Vanilla item tag representing all item which break decorated pots. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - Tag ITEMS_BREAKS_DECORATED_POTS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("breaks_decorated_pots"), Material.class); - /** - * Vanilla item tag representing all items that confer freeze immunity on -diff --git a/src/main/java/org/bukkit/TreeType.java b/src/main/java/org/bukkit/TreeType.java -index d355c91748796f74064b5c34090f1ccafc0f1de0..ab40b68c8c4a32e3ae10708d230658560f448288 100644 ---- a/src/main/java/org/bukkit/TreeType.java -+++ b/src/main/java/org/bukkit/TreeType.java -@@ -96,5 +96,6 @@ public enum TreeType { - /** - * Cherry tree - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY, - } -diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java -index 5d8fa5b39a5d50cca48ba63af3a84b80f279b649..612ebdd08816438f5532f367ce2f64eb3a9803ff 100644 ---- a/src/main/java/org/bukkit/block/Biome.java -+++ b/src/main/java/org/bukkit/block/Biome.java -@@ -72,6 +72,7 @@ public enum Biome implements Keyed, net.kyori.adventure.translation.Translatable - FROZEN_PEAKS, - JAGGED_PEAKS, - STONY_PEAKS, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY_GROVE, - /** - * Represents a custom Biome -diff --git a/src/main/java/org/bukkit/block/ChiseledBookshelf.java b/src/main/java/org/bukkit/block/ChiseledBookshelf.java -index 4cae298f18b35f73e3a64d5c8926bdc0f0402c4b..fee629dce62bc3978204f9b3a8e0aab72197ccfb 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 - 1.20 - public interface ChiseledBookshelf extends TileState, BlockInventoryHolder { - - /** -diff --git a/src/main/java/org/bukkit/block/DecoratedPot.java b/src/main/java/org/bukkit/block/DecoratedPot.java -index c943d2e5c99244067a806954b962738463ee8cfb..4ee094e5d479bfba999c0b522b844a5adde12f18 100644 ---- a/src/main/java/org/bukkit/block/DecoratedPot.java -+++ b/src/main/java/org/bukkit/block/DecoratedPot.java -@@ -8,6 +8,7 @@ import org.jetbrains.annotations.Nullable; - /** - * Represents a captured state of a decorated pot. - */ -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public interface DecoratedPot extends TileState { - - /** -diff --git a/src/main/java/org/bukkit/block/HangingSign.java b/src/main/java/org/bukkit/block/HangingSign.java -index 9bef6c6597222833f6c36bbfc382849fecad4439..519b32ae3d7ec29183fdcbbda590595e6f920877 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 - 1.20 - public interface HangingSign extends Sign { - } -diff --git a/src/main/java/org/bukkit/block/Skull.java b/src/main/java/org/bukkit/block/Skull.java -index c7502a3913cf14e66559c21489d6f2205f3eb06a..d39196e729627fc08edfa0b80a3b92868bc3bd34 100644 ---- a/src/main/java/org/bukkit/block/Skull.java -+++ b/src/main/java/org/bukkit/block/Skull.java -@@ -110,6 +110,7 @@ public interface Skull extends TileState { - * - * @return the key of the sound, or null - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - @Nullable - public NamespacedKey getNoteBlockSound(); - -@@ -121,6 +122,7 @@ public interface Skull extends TileState { - * - * @param noteBlockSound the key of the sound to be played, or null - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public void setNoteBlockSound(@Nullable NamespacedKey noteBlockSound); - - /** -diff --git a/src/main/java/org/bukkit/block/SuspiciousSand.java b/src/main/java/org/bukkit/block/SuspiciousSand.java -index 2f64b66d1066c368adac16f6f79c5280da61176f..a29d600638b7931e0271b4e0d025e4063b34e25d 100644 ---- a/src/main/java/org/bukkit/block/SuspiciousSand.java -+++ b/src/main/java/org/bukkit/block/SuspiciousSand.java -@@ -7,6 +7,7 @@ import org.jetbrains.annotations.Nullable; - /** - * Represents a captured state of suspicious sand. - */ -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public interface SuspiciousSand extends Lootable, TileState { - - /** -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..0456fba0ac9e8fd9eebf9850d425c1353686ceca 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 - 1.20 - public interface ChiseledBookshelf extends Directional { - - /** -diff --git a/src/main/java/org/bukkit/block/data/type/DecoratedPot.java b/src/main/java/org/bukkit/block/data/type/DecoratedPot.java -index eb0ffa977450ef0c79caa78302cfe75ee35b34b7..965dc4360fb5cf964a9093bf6519bfcc27981679 100644 ---- a/src/main/java/org/bukkit/block/data/type/DecoratedPot.java -+++ b/src/main/java/org/bukkit/block/data/type/DecoratedPot.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 - 1.20 - public interface DecoratedPot extends Directional, Waterlogged { - } -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..91af0bb0830bd1b964c1ee603e462486456c6101 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 - 1.20 - public interface HangingSign extends Attachable, Rotatable, Waterlogged { - } -diff --git a/src/main/java/org/bukkit/block/data/type/PinkPetals.java b/src/main/java/org/bukkit/block/data/type/PinkPetals.java -index a84b36f7587eb2ed9e9177973b3166dc94cdf3df..33893e1d37c0a2447b632208f9e05495c5e1d31c 100644 ---- a/src/main/java/org/bukkit/block/data/type/PinkPetals.java -+++ b/src/main/java/org/bukkit/block/data/type/PinkPetals.java -@@ -5,6 +5,7 @@ import org.bukkit.block.data.Directional; - /** - * 'flower_amount' represents the number of petals. - */ -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public interface PinkPetals extends Directional { - - /** -diff --git a/src/main/java/org/bukkit/block/data/type/SuspiciousSand.java b/src/main/java/org/bukkit/block/data/type/SuspiciousSand.java -index bb10fda9449ec0ea8a17158c33b345fdf882175d..d4520375a5c093df510c2e68fb1034536ef0734f 100644 ---- a/src/main/java/org/bukkit/block/data/type/SuspiciousSand.java -+++ b/src/main/java/org/bukkit/block/data/type/SuspiciousSand.java -@@ -5,6 +5,7 @@ import org.bukkit.block.data.BlockData; - /** - * 'dusted' represents how far uncovered by brush the block is. - */ -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public interface SuspiciousSand extends BlockData { - - /** -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..1f5da84daebb58a546c6a3d2646a5aad9b2ed7a3 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 - 1.20 - 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 f7548098bcdd033d9c530fdc584fc5538c635ca1..b2305bc7faf1f7edbbf11522970384172808894c 100644 ---- a/src/main/java/org/bukkit/entity/Boat.java -+++ b/src/main/java/org/bukkit/entity/Boat.java -@@ -141,9 +141,11 @@ public interface Boat extends Vehicle { - BIRCH(Material.BIRCH_PLANKS), - JUNGLE(Material.JUNGLE_PLANKS), - ACACIA(Material.ACACIA_PLANKS), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CHERRY(Material.CHERRY_PLANKS), - DARK_OAK(Material.DARK_OAK_PLANKS), - MANGROVE(Material.MANGROVE_PLANKS), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - 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..7280c3090cdf77f1bc13e3a2d6e35bd89ea8a22c 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 - 1.20 - 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 9f935266f51f4ea5d1193031f52e5327350cc06f..ee3a3bda9a5b9cf3bcabf80ee3c653a2959fab0c 100644 ---- a/src/main/java/org/bukkit/entity/EntityType.java -+++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -278,10 +278,12 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans - FROG("frog", Frog.class, -1), - TADPOLE("tadpole", Tadpole.class, -1), - WARDEN("warden", Warden.class, -1), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - CAMEL("camel", Camel.class, -1), - BLOCK_DISPLAY("block_display", BlockDisplay.class, -1), - INTERACTION("interaction", Interaction.class, -1), - ITEM_DISPLAY("item_display", ItemDisplay.class, -1), -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SNIFFER("sniffer", Sniffer.class, -1), - TEXT_DISPLAY("text_display", TextDisplay.class, -1), - /** -diff --git a/src/main/java/org/bukkit/entity/Sniffer.java b/src/main/java/org/bukkit/entity/Sniffer.java -index 6509d1ca35ff1cb7a2b31871c642d730b2816f6f..67982a8b2258c476eac76e7dc64bc7f143f63df9 100644 ---- a/src/main/java/org/bukkit/entity/Sniffer.java -+++ b/src/main/java/org/bukkit/entity/Sniffer.java -@@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; - * Note: This entity is part of an experimental feature of Minecraft and - * hence subject to change. - */ --@ApiStatus.Experimental -+@ApiStatus.Experimental // Paper - 1.20 - public interface Sniffer extends Animals { - - /** -diff --git a/src/main/java/org/bukkit/entity/memory/MemoryKey.java b/src/main/java/org/bukkit/entity/memory/MemoryKey.java -index 8f601e85df580ef8106eaff8b9eafb5691a4874b..99ca502a14e3f321c323d7675bc47e7ee77d7464 100644 ---- a/src/main/java/org/bukkit/entity/memory/MemoryKey.java -+++ b/src/main/java/org/bukkit/entity/memory/MemoryKey.java -@@ -69,6 +69,7 @@ public final class MemoryKey implements Keyed { - public static final MemoryKey LIKED_NOTEBLOCK_POSITION = new MemoryKey<>(NamespacedKey.minecraft("liked_noteblock"), Location.class); - public static final MemoryKey LIKED_NOTEBLOCK_COOLDOWN_TICKS = new MemoryKey<>(NamespacedKey.minecraft("liked_noteblock_cooldown_ticks"), Integer.class); - public static final MemoryKey ITEM_PICKUP_COOLDOWN_TICKS = new MemoryKey<>(NamespacedKey.minecraft("item_pickup_cooldown_ticks"), Integer.class); -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public static final MemoryKey SNIFFER_EXPLORED_POSITIONS = new MemoryKey<>(NamespacedKey.minecraft("sniffer_explored_positions"), Location.class); - - /** -diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 2186507089384cb9805057c7cc1795fba7de1df3..94f127fd6ba69ca48d03acbc9886ee499e9be4f3 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 - 1.20 - CHISELED_BOOKSHELF(6, "Chiseled Bookshelf", false), - /** - * Pseudo jukebox inventory with 1 slot of undefined type. -@@ -147,7 +148,7 @@ public enum InventoryType { - * - * @deprecated draft, experimental 1.20 API - */ -- @Deprecated -+ @Deprecated @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - SMITHING_NEW(4, "Upgrade Gear"), - ; - -diff --git a/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java b/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java -index b99f26079c14931d443615fa81eac9791080ecb0..dadb5b3563b5835c821a2d55d1f076a58f73230d 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 - 1.20 - public interface ChiseledBookshelfInventory extends Inventory { - - @Nullable -diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java -index 4e637420b9a39b822be19367a16da93f236549b3..615cd9994be8a988b474eb512d9e9b7ace743a7a 100644 ---- a/src/main/java/org/bukkit/inventory/ItemFlag.java -+++ b/src/main/java/org/bukkit/inventory/ItemFlag.java -@@ -37,5 +37,6 @@ public enum ItemFlag { - /** - * Setting to show/hide armor trim from armor. - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - HIDE_ARMOR_TRIM; - } -diff --git a/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java b/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java -index 08fd3eca8383cdc2d06c3ce973e8c402d279077e..c845b68217eef87668d0bd725c51181312128f47 100644 ---- a/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java -+++ b/src/main/java/org/bukkit/inventory/SmithingTransformRecipe.java -@@ -6,6 +6,7 @@ import org.jetbrains.annotations.NotNull; - /** - * Represents a smithing transform recipe. - */ -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public class SmithingTransformRecipe extends SmithingRecipe { - - private final RecipeChoice template; -diff --git a/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java b/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java -index 32cbdc342615e76ff7a896e67cb0736b0bdf1978..69655ab0ece84c1d9a440c476fae7679f7c9cdf3 100644 ---- a/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java -+++ b/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java -@@ -7,6 +7,7 @@ import org.jetbrains.annotations.NotNull; - /** - * Represents a smithing trim recipe. - */ -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - public class SmithingTrimRecipe extends SmithingRecipe implements ComplexRecipe { - - private final RecipeChoice template; -diff --git a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java -index bc992fdf6d5517995547d136e8cdbe4bd3496abe..72663706cce18a19697828f16b782c12168fb8f3 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 - 1.20 - public interface BundleMeta extends ItemMeta { - - /** -diff --git a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java -index 862640b4611458dfbcd3be797eacd120fc8d1f9f..cf2313a0bbf74eaa6ef1d792356f1b05614eeeae 100644 ---- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java -+++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java -@@ -104,6 +104,7 @@ public interface SkullMeta extends ItemMeta { - * - * @param noteBlockSound the key of the sound to be played, or null - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - void setNoteBlockSound(@Nullable NamespacedKey noteBlockSound); - - /** -@@ -114,6 +115,7 @@ public interface SkullMeta extends ItemMeta { - * - * @return the key of the sound, or null - */ -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 - @Nullable - NamespacedKey getNoteBlockSound(); - diff --git a/patches/api/0401-fix-Instruments.patch b/patches/api/0401-fix-Instruments.patch index a1843d1f0a..416020233d 100644 --- a/patches/api/0401-fix-Instruments.patch +++ b/patches/api/0401-fix-Instruments.patch @@ -7,10 +7,10 @@ Add missing instrument enums fix some wrong javadocs diff --git a/src/main/java/org/bukkit/Instrument.java b/src/main/java/org/bukkit/Instrument.java -index de976be7132d05506fde7a839cac3954b0dd8da4..c449b4a03e43752b98e008b69d2a956cd9990ba0 100644 +index 8f70d86a1d39351424335842c38625d42cfbdfb8..271fb4d41909654b87519edba1c1d4f418cdd3a5 100644 --- a/src/main/java/org/bukkit/Instrument.java +++ b/src/main/java/org/bukkit/Instrument.java -@@ -7,7 +7,7 @@ import org.jetbrains.annotations.Nullable; +@@ -8,7 +8,7 @@ import org.jetbrains.annotations.Nullable; public enum Instrument { /** @@ -19,7 +19,7 @@ index de976be7132d05506fde7a839cac3954b0dd8da4..c449b4a03e43752b98e008b69d2a956c */ PIANO(0x0), /** -@@ -21,7 +21,7 @@ public enum Instrument { +@@ -22,7 +22,7 @@ public enum Instrument { */ SNARE_DRUM(0x2), /** @@ -28,48 +28,53 @@ index de976be7132d05506fde7a839cac3954b0dd8da4..c449b4a03e43752b98e008b69d2a956c * block. */ STICKS(0x3), -@@ -78,38 +78,43 @@ public enum Instrument { - /** - * Zombie is normally played when a Zombie Head is on top of the note block. +@@ -81,50 +81,48 @@ public enum Instrument { */ + @MinecraftExperimental + @ApiStatus.Experimental - ZOMBIE, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + ZOMBIE(0x10), // Paper /** * Skeleton is normally played when a Skeleton Head is on top of the note block. */ + @MinecraftExperimental + @ApiStatus.Experimental - SKELETON, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + SKELETON(0x11), // Paper /** * Creeper is normally played when a Creeper Head is on top of the note block. */ + @MinecraftExperimental + @ApiStatus.Experimental - CREEPER, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + CREEPER(0x12), // Paper /** * Dragon is normally played when a Dragon Head is on top of the note block. */ + @MinecraftExperimental + @ApiStatus.Experimental - DRAGON, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + DRAGON(0x13), // Paper /** * Wither Skeleton is normally played when a Wither Skeleton Head is on top of the note block. */ + @MinecraftExperimental + @ApiStatus.Experimental - WITHER_SKELETON, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + WITHER_SKELETON(0x14), // Paper /** * Piglin is normally played when a Piglin Head is on top of the note block. */ + @MinecraftExperimental + @ApiStatus.Experimental - PIGLIN, -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + PIGLIN(0x15), // Paper /** * Custom Sound is normally played when a Player Head with the required data is on top of the note block. */ + @MinecraftExperimental + @ApiStatus.Experimental - CUSTOM_HEAD; -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 + CUSTOM_HEAD(0x16); // Paper private final byte type; @@ -82,7 +87,7 @@ index de976be7132d05506fde7a839cac3954b0dd8da4..c449b4a03e43752b98e008b69d2a956c private Instrument(final int type) { this.type = (byte) type; -@@ -117,9 +122,8 @@ public enum Instrument { +@@ -132,9 +130,8 @@ public enum Instrument { /** * @return The type ID of this instrument. @@ -93,7 +98,7 @@ index de976be7132d05506fde7a839cac3954b0dd8da4..c449b4a03e43752b98e008b69d2a956c public byte getType() { return this.type; } -@@ -129,9 +133,8 @@ public enum Instrument { +@@ -144,9 +141,8 @@ public enum Instrument { * * @param type The type ID * @return The instrument @@ -105,10 +110,10 @@ index de976be7132d05506fde7a839cac3954b0dd8da4..c449b4a03e43752b98e008b69d2a956c public static Instrument getByType(final byte type) { return BY_DATA.get(type); diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 9e2116c121704602c2702414db39b5d1bd559c3d..c90cd70bc2bffdd92590f2907bb7aae70cbb7955 100644 +index a824262598e4a1ad6030e22a77628c43975c031d..eecb88dae2f68322be9add1fda7b50e2b2939f09 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -390,9 +390,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -391,9 +391,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void playNote(@NotNull Location loc, byte instrument, byte note); /** diff --git a/patches/api/0403-Add-Sneaking-API-for-Entities.patch b/patches/api/0403-Add-Sneaking-API-for-Entities.patch index ee7963748c..80e58142af 100644 --- a/patches/api/0403-Add-Sneaking-API-for-Entities.patch +++ b/patches/api/0403-Add-Sneaking-API-for-Entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index e0e4300d24f6b53f35c450bbae18511a6ce0b05e..8c58018b155c52a7b2a139f784abceb6aa00a268 100644 +index 3f3ea5bb6b3ea6f55b5cd699f1c01ac159619add..a2a423d4e4c2702ba5967223cab0432dd7d04732 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -764,6 +764,25 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -765,6 +765,25 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @NotNull Pose getPose(); @@ -35,10 +35,10 @@ index e0e4300d24f6b53f35c450bbae18511a6ce0b05e..8c58018b155c52a7b2a139f784abceb6 * Get the category of spawn to which this entity belongs. * diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c90cd70bc2bffdd92590f2907bb7aae70cbb7955..70bf345cdc03849146efccf7d52269cc349e56d0 100644 +index eecb88dae2f68322be9add1fda7b50e2b2939f09..8370de0cfea70d00cc484ca5d21dfade5af22984 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -293,6 +293,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -294,6 +294,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @return true if player is in sneak mode */ @@ -46,7 +46,7 @@ index c90cd70bc2bffdd92590f2907bb7aae70cbb7955..70bf345cdc03849146efccf7d52269cc public boolean isSneaking(); /** -@@ -300,6 +301,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -301,6 +302,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param sneak true if player should appear sneaking */ diff --git a/patches/api/0406-Flying-Fall-Damage-API.patch b/patches/api/0406-Flying-Fall-Damage-API.patch index fa43646ae9..660b23abd3 100644 --- a/patches/api/0406-Flying-Fall-Damage-API.patch +++ b/patches/api/0406-Flying-Fall-Damage-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 70bf345cdc03849146efccf7d52269cc349e56d0..35f36e9ffa4ca2a8ce51ca905c575884dbb955a3 100644 +index 8370de0cfea70d00cc484ca5d21dfade5af22984..a6399eb076b7889085ffa1afcd9d432afdc29f85 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1485,6 +1485,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1486,6 +1486,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void setAllowFlight(boolean flight); diff --git a/patches/api/0408-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0408-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch index 0372472444..e56e16ce94 100644 --- a/patches/api/0408-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch +++ b/patches/api/0408-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Replace ItemFlag.HIDE_POTION_EFFECTS diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java -index 615cd9994be8a988b474eb512d9e9b7ace743a7a..802b7ce23db1e19fc39adc7f93d9a36618742d33 100644 +index 69a66073bcaa10967b8736cbf35182b912c17d11..0d8d4154a156edd1092a7f5318d28336bbc57a9b 100644 --- a/src/main/java/org/bukkit/inventory/ItemFlag.java +++ b/src/main/java/org/bukkit/inventory/ItemFlag.java -@@ -28,7 +28,9 @@ public enum ItemFlag { +@@ -31,7 +31,9 @@ public enum ItemFlag { /** * Setting to show/hide potion effects, book and firework information, map * tooltips, patterns of banners, and enchantments of enchanted books. @@ -18,9 +18,9 @@ index 615cd9994be8a988b474eb512d9e9b7ace743a7a..802b7ce23db1e19fc39adc7f93d9a366 HIDE_POTION_EFFECTS, /** * Setting to show/hide dyes from colored leather armor. -@@ -39,4 +41,25 @@ public enum ItemFlag { - */ - @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 +@@ -43,4 +45,25 @@ public enum ItemFlag { + @MinecraftExperimental + @ApiStatus.Experimental HIDE_ARMOR_TRIM; + // Paper start + /** diff --git a/patches/api/0409-Win-Screen-API.patch b/patches/api/0409-Win-Screen-API.patch index 6a42e4ef9a..97c2b2a9c1 100644 --- a/patches/api/0409-Win-Screen-API.patch +++ b/patches/api/0409-Win-Screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Win Screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 35f36e9ffa4ca2a8ce51ca905c575884dbb955a3..b3c488b2c632386f3f3e7b16ee0549350fffa681 100644 +index a6399eb076b7889085ffa1afcd9d432afdc29f85..ee446bfb3e6c4b1d4428c00d6406bf9455c68ad5 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -875,6 +875,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -876,6 +876,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMap(@NotNull MapView map); diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 32d5078e79..1b0c642215 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -6688,10 +6688,10 @@ index a0b5895abc88d297045e05f25bb09527991d43f0..6e0bd0eab0b06a4ac3042496bbb91292 super(type, world); this.xpReward = 5; diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 4a63213a3131af3381769c4adc2735def311a681..83af6f1af55ab9b0b7ad6f635e24b7c4d1d1829b 100644 +index 37bf8a861f1336dae61d1ed8f26be92382055e78..e19407edd4847e5a5175e113944d1331bd4d4ffc 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -773,6 +773,25 @@ public final class ItemStack { +@@ -786,6 +786,25 @@ public final class ItemStack { return this.tag != null ? this.tag.getList("Enchantments", 10) : new ListTag(); } @@ -6717,7 +6717,7 @@ index 4a63213a3131af3381769c4adc2735def311a681..83af6f1af55ab9b0b7ad6f635e24b7c4 public void setTag(@Nullable CompoundTag nbt) { this.tag = nbt; if (this.getItem().canBeDepleted()) { -@@ -1163,6 +1182,7 @@ public final class ItemStack { +@@ -1176,6 +1195,7 @@ public final class ItemStack { // CraftBukkit start @Deprecated public void setItem(Item item) { diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 8b38a714d2..35430e12db 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2795,7 +2795,7 @@ index 4c62df5a3781ec9df4a5c5f1b528649e6e8a62d1..affd1b8c7589ba59330dc0b6fc803cce } diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 3800205f28a00572b4ab757cc56e24eefa61e6fe..fe14c0d03a0bbd5cbf0608ea88d499984b54d2ed 100644 +index 0e04e7467ee27ea9e3ef60fe598cc21ab39f4c68..0f5e92a2256fe22b55d2428f98db403ad1b8834d 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -33,6 +33,7 @@ import net.minecraft.world.level.saveddata.SavedData; @@ -4122,10 +4122,10 @@ index 6a64fbb8b4937f39d5fdc2e2cbec26c83c74c486..7d6b5fdb00a5c1614849735634262a36 public String getTitle() { return CraftChatMessage.fromComponent(this.container.getTitle()); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index a7ef4a04358df3f848ace0e6e8b6f2d0a18dbc29..4c76692e222d8505558aade9c03b3686612f7c0c 100644 +index 309a0a7e26651a7a675326382df838b423830f33..eeb01a1b54e450f95b33864b030d2183d29309da 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -417,4 +417,17 @@ public final class CraftItemFactory implements ItemFactory { +@@ -440,4 +440,17 @@ public final class CraftItemFactory implements ItemFactory { public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException { return ((CraftMetaItem) meta).updateMaterial(material); } @@ -4397,10 +4397,10 @@ index 507fa96a3fb904b74429df5756c9a6378ec8c5b7..abb9e88abc74135284b941e040d40586 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 8ed06dc812fbda72667352fa42c03f9d9ae7ca7e..69f71bf44bbc66a38a877c660c8dbc493a0a8327 100644 +index 3b62ffe4f531e62da9e49050a0b944d8887f43f2..7500684057dca1bfe615e64da55ef521abb4ed9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -747,6 +747,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -749,6 +749,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return !(this.hasDisplayName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isUnbreakable() || this.hasDamage() || this.hasAttributeModifiers()); } @@ -4419,7 +4419,7 @@ index 8ed06dc812fbda72667352fa42c03f9d9ae7ca7e..69f71bf44bbc66a38a877c660c8dbc49 @Override public String getDisplayName() { return CraftChatMessage.fromJSONComponent(displayName); -@@ -782,6 +794,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -784,6 +796,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } diff --git a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch index 9c0c427336..d9e8b7e6d6 100644 --- a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch @@ -18,10 +18,10 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 83af6f1af55ab9b0b7ad6f635e24b7c4d1d1829b..a36dac14b03a9af1303ac7f572f2cb71196f644c 100644 +index e19407edd4847e5a5175e113944d1331bd4d4ffc..9b358c8e464c67c4953749cda6d2983db98e0c5f 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -156,6 +156,23 @@ public final class ItemStack { +@@ -158,6 +158,23 @@ public final class ItemStack { return this.getItem().getTooltipImage(this); } @@ -45,7 +45,7 @@ index 83af6f1af55ab9b0b7ad6f635e24b7c4d1d1829b..a36dac14b03a9af1303ac7f572f2cb71 public ItemStack(ItemLike item) { this(item, 1); } -@@ -207,6 +224,7 @@ public final class ItemStack { +@@ -209,6 +226,7 @@ public final class ItemStack { // CraftBukkit start - make defensive copy as this data may be coming from the save thread this.tag = nbttagcompound.getCompound("tag").copy(); // CraftBukkit end @@ -53,7 +53,7 @@ index 83af6f1af55ab9b0b7ad6f635e24b7c4d1d1829b..a36dac14b03a9af1303ac7f572f2cb71 this.getItem().verifyTagAfterLoad(this.tag); } -@@ -794,6 +812,7 @@ public final class ItemStack { +@@ -807,6 +825,7 @@ public final class ItemStack { public void setTag(@Nullable CompoundTag nbt) { this.tag = nbt; @@ -61,7 +61,7 @@ index 83af6f1af55ab9b0b7ad6f635e24b7c4d1d1829b..a36dac14b03a9af1303ac7f572f2cb71 if (this.getItem().canBeDepleted()) { this.setDamageValue(this.getDamageValue()); } -@@ -1091,6 +1110,7 @@ public final class ItemStack { +@@ -1104,6 +1123,7 @@ public final class ItemStack { ListTag nbttaglist = this.tag.getList("Enchantments", 10); nbttaglist.add(EnchantmentHelper.storeEnchantment(EnchantmentHelper.getEnchantmentId(enchantment), (byte) level)); @@ -70,7 +70,7 @@ index 83af6f1af55ab9b0b7ad6f635e24b7c4d1d1829b..a36dac14b03a9af1303ac7f572f2cb71 public boolean isEnchanted() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 1e5ec95e19aca0530c141b6415fe6daca4f2d066..da5e660860a46227c59567f6458a9cf4ac4092eb 100644 +index f4ca58b7e0f5e880f6c8ec71deac57aabf885c7c..a32369d2c15e24ec69cae90e228b8d48775f54e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -6,7 +6,6 @@ import java.util.Map; @@ -184,7 +184,7 @@ index 1e5ec95e19aca0530c141b6415fe6daca4f2d066..da5e660860a46227c59567f6458a9cf4 static Map getEnchantments(net.minecraft.world.item.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfabd9f18758 100644 +index 7500684057dca1bfe615e64da55ef521abb4ed9a..0f8bb870925158199b216421feb328e5b0b55270 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -211,7 +211,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -273,7 +276,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -275,7 +278,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List lore; // null and empty are two different states internally private Integer customModelData; private CompoundTag blockData; @@ -220,7 +220,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -284,7 +287,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -286,7 +289,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -229,7 +229,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -305,7 +308,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -307,7 +310,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -238,7 +238,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab } if (meta.hasAttributeModifiers()) { -@@ -388,13 +391,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -390,13 +393,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -254,7 +254,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab for (int i = 0; i < ench.size(); i++) { String id = ((CompoundTag) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -547,13 +550,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -549,13 +552,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -270,7 +270,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -829,14 +832,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -831,14 +834,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -287,7 +287,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1224,7 +1227,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1226,7 +1229,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -296,7 +296,7 @@ index 69f71bf44bbc66a38a877c660c8dbc493a0a8327..82cfd1354929f415c74132b7e2bbbfab } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1460,4 +1463,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1465,4 +1468,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftMetaItem.HANDLED_TAGS; } } diff --git a/patches/server/0120-Optimize-ItemStack.isEmpty.patch b/patches/server/0120-Optimize-ItemStack.isEmpty.patch index 41fc66ad8c..f08ead4616 100644 --- a/patches/server/0120-Optimize-ItemStack.isEmpty.patch +++ b/patches/server/0120-Optimize-ItemStack.isEmpty.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a36dac14b03a9af1303ac7f572f2cb71196f644c..58de6780b208934af9fe608c8a47978392b5f6d2 100644 +index 9b358c8e464c67c4953749cda6d2983db98e0c5f..a598b6522ce4d41575f04425d189319fa12a7b70 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -250,7 +250,7 @@ public final class ItemStack { +@@ -252,7 +252,7 @@ public final class ItemStack { } public boolean isEmpty() { diff --git a/patches/server/0149-Implement-ensureServerConversions-API.patch b/patches/server/0149-Implement-ensureServerConversions-API.patch index b43014ca31..4cc502c4d4 100644 --- a/patches/server/0149-Implement-ensureServerConversions-API.patch +++ b/patches/server/0149-Implement-ensureServerConversions-API.patch @@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 4c76692e222d8505558aade9c03b3686612f7c0c..70607c9458f58a05ccc94bfcb38dae79bd7ad483 100644 +index eeb01a1b54e450f95b33864b030d2183d29309da..162616d52d06bbaf0c21b190fe7f1a29301732db 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -429,5 +429,11 @@ public final class CraftItemFactory implements ItemFactory { +@@ -452,5 +452,11 @@ public final class CraftItemFactory implements ItemFactory { public net.kyori.adventure.text.@org.jetbrains.annotations.NotNull Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) { return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName()); } diff --git a/patches/server/0150-Implement-getI18NDisplayName.patch b/patches/server/0150-Implement-getI18NDisplayName.patch index c3783748ed..16b68e5a8e 100644 --- a/patches/server/0150-Implement-getI18NDisplayName.patch +++ b/patches/server/0150-Implement-getI18NDisplayName.patch @@ -8,10 +8,10 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 70607c9458f58a05ccc94bfcb38dae79bd7ad483..45f37c894a9d862fd9d73908d1dae2e8c62262ff 100644 +index 162616d52d06bbaf0c21b190fe7f1a29301732db..53915c38df347f8921677c1c175db3822d319009 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -435,5 +435,18 @@ public final class CraftItemFactory implements ItemFactory { +@@ -458,5 +458,18 @@ public final class CraftItemFactory implements ItemFactory { public ItemStack ensureServerConversions(ItemStack item) { return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item)); } diff --git a/patches/server/0177-Add-ArmorStand-Item-Meta.patch b/patches/server/0177-Add-ArmorStand-Item-Meta.patch index f3dbbdb80c..269523a382 100644 --- a/patches/server/0177-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0177-Add-ArmorStand-Item-Meta.patch @@ -255,10 +255,10 @@ index 4017933f2244fca32cf9d39444f3a4f550e8af01..e721517ce7b52a1aa10d039aa9f309eb + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 9823ddae9edb40be805332ca1ef4325f9c1df14b..ecfd07e758b7121457df736803fcc5d09f902bc9 100644 +index 0f8bb870925158199b216421feb328e5b0b55270..fb224f9049d023c44138720c9094283044d11220 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1453,6 +1453,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1458,6 +1458,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaCrossbow.CHARGED.NBT, CraftMetaCrossbow.CHARGED_PROJECTILES.NBT, CraftMetaSuspiciousStew.EFFECTS.NBT, @@ -274,10 +274,10 @@ index 9823ddae9edb40be805332ca1ef4325f9c1df14b..ecfd07e758b7121457df736803fcc5d0 CraftMetaCompass.LODESTONE_POS.NBT, CraftMetaCompass.LODESTONE_TRACKED.NBT, diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index 79665967a2b2faf69d64a641d621d6d5afa7481a..a6887373240ec43d969b733d3182f2dc08faf46d 100644 +index 8b7a9ea385788580cc99db5b2182e849bedc262f..4400f10a592b86488e61521a4fce61adbf656cb9 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -@@ -342,6 +342,7 @@ public class ItemMetaTest extends AbstractTestingBase { +@@ -364,6 +364,7 @@ public class ItemMetaTest extends AbstractTestingBase { final CraftMetaArmorStand meta = (CraftMetaArmorStand) cleanStack.getItemMeta(); meta.entityTag = new CompoundTag(); meta.entityTag.putBoolean("Small", true); diff --git a/patches/server/0231-Don-t-call-getItemMeta-on-hasItemMeta.patch b/patches/server/0231-Don-t-call-getItemMeta-on-hasItemMeta.patch index a1b4006dda..749cbf37f3 100644 --- a/patches/server/0231-Don-t-call-getItemMeta-on-hasItemMeta.patch +++ b/patches/server/0231-Don-t-call-getItemMeta-on-hasItemMeta.patch @@ -11,10 +11,10 @@ Returns true if getDamage() == 0 or has damage tag or other tag is set. Check the `ItemMetaTest#testTaggedButNotMeta` method to see how this method behaves. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 3726339bff55bafce9d985254c91241c0c20b4b7..f072f5ee75890650957b1c2ca27adc1a84c2bfa1 100644 +index 4f350770fe90166f59c14e88abb34a3e3f494d22..16dd2e9951cf34af0c5bd4891d013423b9fad8b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -631,7 +631,7 @@ public final class CraftItemStack extends ItemStack { +@@ -654,7 +654,7 @@ public final class CraftItemStack extends ItemStack { @Override public boolean hasItemMeta() { @@ -24,10 +24,10 @@ index 3726339bff55bafce9d985254c91241c0c20b4b7..f072f5ee75890650957b1c2ca27adc1a static boolean hasItemMeta(net.minecraft.world.item.ItemStack item) { diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index a6887373240ec43d969b733d3182f2dc08faf46d..bc5427e6e7221245330723c290dd15abf45ffdda 100644 +index 4400f10a592b86488e61521a4fce61adbf656cb9..7cc7f485325a4277bac7a6eade749dbb3b0b104f 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -@@ -102,6 +102,34 @@ public class ItemMetaTest extends AbstractTestingBase { +@@ -107,6 +107,34 @@ public class ItemMetaTest extends AbstractTestingBase { assertThat(itemMeta.hasConflictingEnchant(null), is(false)); } diff --git a/patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch b/patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch index 9f2f255d98..df898121dc 100644 --- a/patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch +++ b/patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow chests to be placed with NBT data diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 58de6780b208934af9fe608c8a47978392b5f6d2..fa83827a80335ac1075f28c9acdfe7ca2ada8790 100644 +index a598b6522ce4d41575f04425d189319fa12a7b70..57661672d02b19c864bb267c09b2fa433e716b7b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -370,6 +370,7 @@ public final class ItemStack { +@@ -372,6 +372,7 @@ public final class ItemStack { enuminteractionresult = InteractionResult.FAIL; // cancel placement // PAIL: Remove this when MC-99075 fixed placeEvent.getPlayer().updateInventory(); diff --git a/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index c91278544f..a93ea72ff4 100644 --- a/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68dfaa14f2d 100644 +index fb224f9049d023c44138720c9094283044d11220..ad749401f8b473b3c7c239fea3af772014a29357 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -83,6 +83,12 @@ import org.bukkit.persistence.PersistentDataContainer; @@ -21,7 +21,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d /** * Children must include the following: * -@@ -269,6 +275,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -271,6 +277,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Specific(Specific.To.NBT) static final ItemMetaKey BLOCK_DATA = new ItemMetaKey("BlockStateTag"); static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); @@ -32,7 +32,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d // We store the raw original JSON representation of all text data. See SPIGOT-5063, SPIGOT-5656, SPIGOT-5304 private String displayName; -@@ -282,6 +292,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -284,6 +294,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private int hideFlag; private boolean unbreakable; private int damage; @@ -43,7 +43,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d private static final Set HANDLED_TAGS = Sets.newHashSet(); private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -319,6 +333,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -321,6 +335,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -59,7 +59,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d this.unhandledTags.putAll(meta.unhandledTags); this.persistentDataContainer.putAll(meta.persistentDataContainer.getRaw()); -@@ -382,6 +405,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -384,6 +407,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.persistentDataContainer.put(key, compound.get(key).copy()); } } @@ -91,7 +91,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d Set keys = tag.getAllKeys(); for (String key : keys) { -@@ -520,6 +568,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -522,6 +570,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.setDamage(damage); } @@ -126,7 +126,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.getDecoder().decode(internal)); -@@ -648,6 +724,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -650,6 +726,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.hasDamage()) { itemTag.putInt(DAMAGE.NBT, damage); } @@ -150,7 +150,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d for (Map.Entry e : this.unhandledTags.entrySet()) { itemTag.put(e.getKey(), e.getValue()); -@@ -664,6 +757,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -666,6 +759,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -172,7 +172,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d ListTag createStringList(List list) { if (list == null) { return null; -@@ -747,7 +855,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -749,7 +857,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -181,7 +181,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d } // Paper start -@@ -1178,7 +1286,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1180,7 +1288,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hideFlag == that.hideFlag) && (this.isUnbreakable() == that.isUnbreakable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) @@ -194,7 +194,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d } /** -@@ -1213,6 +1325,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1215,6 +1327,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasDamage() ? this.damage : 0); hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); hash = 61 * hash + this.version; @@ -205,7 +205,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d return hash; } -@@ -1237,6 +1353,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1239,6 +1355,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.unbreakable = this.unbreakable; clone.damage = this.damage; clone.version = this.version; @@ -220,7 +220,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1294,6 +1418,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1296,6 +1420,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(DAMAGE.BUKKIT, damage); } @@ -244,7 +244,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d final Map internalTags = new HashMap(this.unhandledTags); this.serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1460,6 +1601,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1465,6 +1606,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, CraftMetaArmorStand.MARKER.NBT, @@ -253,7 +253,7 @@ index ecfd07e758b7121457df736803fcc5d09f902bc9..90fa86ad21c7d671ea09145c8bd1c68d // Paper end CraftMetaCompass.LODESTONE_DIMENSION.NBT, CraftMetaCompass.LODESTONE_POS.NBT, -@@ -1489,4 +1632,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1494,4 +1637,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } // Paper end diff --git a/patches/server/0436-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0436-Convert-legacy-attributes-in-Item-Meta.patch index 788e18f58f..e582cd59d9 100644 --- a/patches/server/0436-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0436-Convert-legacy-attributes-in-Item-Meta.patch @@ -30,10 +30,10 @@ index fac4097be2ee3d0bffbc92fb217f98831e78d6b3..233e372ba5d785352c9ac12dac37395b public CraftAttributeMap(AttributeMap handle) { this.handle = handle; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 90fa86ad21c7d671ea09145c8bd1c68dfaa14f2d..0b76155d77d048338c62651ab150d281c9cb795a 100644 +index ad749401f8b473b3c7c239fea3af772014a29357..67d5a3f758eac50111c75ff3cd432f875cbe4ced 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -481,7 +481,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -483,7 +483,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); diff --git a/patches/server/0439-Support-components-in-ItemMeta.patch b/patches/server/0439-Support-components-in-ItemMeta.patch index b48f82f2fe..7645c0cd14 100644 --- a/patches/server/0439-Support-components-in-ItemMeta.patch +++ b/patches/server/0439-Support-components-in-ItemMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Support components in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 0b76155d77d048338c62651ab150d281c9cb795a..0187d1aa196d358febd07633a3cb71845ea99698 100644 +index 67d5a3f758eac50111c75ff3cd432f875cbe4ced..ad202473abbe4b302b825d9dd9dd75402190e824 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -875,11 +875,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -877,11 +877,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftChatMessage.fromJSONComponent(displayName); } @@ -32,7 +32,7 @@ index 0b76155d77d048338c62651ab150d281c9cb795a..0187d1aa196d358febd07633a3cb7184 @Override public boolean hasDisplayName() { return this.displayName != null; -@@ -1022,6 +1034,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1024,6 +1036,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore == null ? null : new ArrayList(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent)); } @@ -47,7 +47,7 @@ index 0b76155d77d048338c62651ab150d281c9cb795a..0187d1aa196d358febd07633a3cb7184 @Override public void setLore(List lore) { if (lore == null || lore.isEmpty()) { -@@ -1036,6 +1056,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1038,6 +1058,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index 0b76155d77d048338c62651ab150d281c9cb795a..0187d1aa196d358febd07633a3cb7184 @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1503,6 +1538,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1505,6 +1540,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/server/0442-Update-itemstack-legacy-name-and-lore.patch b/patches/server/0442-Update-itemstack-legacy-name-and-lore.patch index d124b53a41..4f3d35e979 100644 --- a/patches/server/0442-Update-itemstack-legacy-name-and-lore.patch +++ b/patches/server/0442-Update-itemstack-legacy-name-and-lore.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Update itemstack legacy name and lore diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index fa83827a80335ac1075f28c9acdfe7ca2ada8790..e4e2d3676c354218e1d334a89a082c5f57a09673 100644 +index 57661672d02b19c864bb267c09b2fa433e716b7b..3cb83cfeb2709384ef4f7dd74694d47d55698c1f 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -171,6 +171,44 @@ public final class ItemStack { +@@ -173,6 +173,44 @@ public final class ItemStack { list.sort((java.util.Comparator) enchantSorter); // Paper } catch (Exception ignored) {} } @@ -53,7 +53,7 @@ index fa83827a80335ac1075f28c9acdfe7ca2ada8790..e4e2d3676c354218e1d334a89a082c5f // Paper end public ItemStack(ItemLike item) { -@@ -225,6 +263,7 @@ public final class ItemStack { +@@ -227,6 +265,7 @@ public final class ItemStack { this.tag = nbttagcompound.getCompound("tag").copy(); // CraftBukkit end this.processEnchantOrder(this.tag); // Paper diff --git a/patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch index 6527691384..075a43d9c8 100644 --- a/patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch +++ b/patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e4e2d3676c354218e1d334a89a082c5f57a09673..9a4a05668fec49e488dbf644c083c5b67c4dde93 100644 +index 3cb83cfeb2709384ef4f7dd74694d47d55698c1f..36c560ea3b33ef854f2190d07209b7f36c6d7e6b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -441,7 +441,7 @@ public final class ItemStack { +@@ -443,7 +443,7 @@ public final class ItemStack { net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition); if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically diff --git a/patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch index f6ec320c49..fe9f8500dd 100644 --- a/patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 45f37c894a9d862fd9d73908d1dae2e8c62262ff..081a92415d8a19da4f342e8febee62c844458cb9 100644 +index 53915c38df347f8921677c1c175db3822d319009..69d5a9923d1eff576bd3058d6bcc278340d069ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -448,5 +448,40 @@ public final class CraftItemFactory implements ItemFactory { +@@ -471,5 +471,40 @@ public final class CraftItemFactory implements ItemFactory { return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null; } diff --git a/patches/server/0546-TODO-Registry-Modification-API.patch b/patches/server/0546-TODO-Registry-Modification-API.patch index 8c74989e13..9206b252a1 100644 --- a/patches/server/0546-TODO-Registry-Modification-API.patch +++ b/patches/server/0546-TODO-Registry-Modification-API.patch @@ -5,12 +5,12 @@ Subject: [PATCH] TODO Registry Modification API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 763f9d4740429840e78d3462277eb577d2d9f66a..2ab8919bddfb286255041351b55fc6d70a1bc76f 100644 +index ffc6d04135da7ce09ea5f4fdd5ad47a135f4853a..73dcaeed6de3ddbc5d8f34b667a6588f38fc9879 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -26,6 +26,7 @@ public class CraftRegistry implements Registry { - if (bukkitClass == StructureType.class) { - return new CraftRegistry<>(BuiltInRegistries.STRUCTURE_TYPE, CraftStructureType::new); +@@ -36,6 +36,7 @@ public class CraftRegistry implements Registry { + if (bukkitClass == TrimPattern.class) { + return new CraftRegistry<>(registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new); } + // TODO registry modification API diff --git a/patches/server/0547-Add-StructuresLocateEvent.patch b/patches/server/0547-Add-StructuresLocateEvent.patch index bd336bc18c..61c53d9c4c 100644 --- a/patches/server/0547-Add-StructuresLocateEvent.patch +++ b/patches/server/0547-Add-StructuresLocateEvent.patch @@ -76,11 +76,11 @@ index 56033c41c2be567d6787420d319d4603fc0a1d10..354d386940b5ee7c92708390b83db51c Map>> map = new Object2ObjectArrayMap(); Iterator iterator = structures.iterator(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 2ab8919bddfb286255041351b55fc6d70a1bc76f..34888b525fd35ac64e6e5e66036ad965a6769959 100644 +index 73dcaeed6de3ddbc5d8f34b667a6588f38fc9879..220686d21f57e4b11b4e8b93599e511019fda702 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -27,6 +27,11 @@ public class CraftRegistry implements Registry { - return new CraftRegistry<>(BuiltInRegistries.STRUCTURE_TYPE, CraftStructureType::new); +@@ -37,6 +37,11 @@ public class CraftRegistry implements Registry { + return new CraftRegistry<>(registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new); } // TODO registry modification API + // Paper start - remove this after a while along with all ConfiguredStructure stuff diff --git a/patches/server/0639-Make-item-validations-configurable.patch b/patches/server/0639-Make-item-validations-configurable.patch index 4dc205dda5..f8a66d7e96 100644 --- a/patches/server/0639-Make-item-validations-configurable.patch +++ b/patches/server/0639-Make-item-validations-configurable.patch @@ -32,10 +32,10 @@ index e8413ad360e9b6c4eef13edf9dd0095e7e64bce2..a5d7fae348b0b262a0a8a5e8e76f1bc7 } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 0187d1aa196d358febd07633a3cb71845ea99698..34f27913dc80915135bb476447dcbff9b32e302c 100644 +index ad202473abbe4b302b825d9dd9dd75402190e824..9fc74007bd887ab71dea9dcfdc1e3017036d0bfc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -358,7 +358,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -360,7 +360,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CompoundTag display = tag.getCompound(DISPLAY.NBT); if (display.contains(NAME.NBT)) { @@ -44,7 +44,7 @@ index 0187d1aa196d358febd07633a3cb71845ea99698..34f27913dc80915135bb476447dcbff9 } if (display.contains(LOCNAME.NBT)) { -@@ -369,7 +369,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -371,7 +371,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { ListTag list = display.getList(LORE.NBT, CraftMagicNumbers.NBT.TAG_STRING); this.lore = new ArrayList(list.size()); for (int index = 0; index < list.size(); index++) { diff --git a/patches/server/0669-Added-EntityDamageItemEvent.patch b/patches/server/0669-Added-EntityDamageItemEvent.patch index 7df41d5445..98611d0adb 100644 --- a/patches/server/0669-Added-EntityDamageItemEvent.patch +++ b/patches/server/0669-Added-EntityDamageItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added EntityDamageItemEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 9a4a05668fec49e488dbf644c083c5b67c4dde93..1bc9cb46e7ceb274bad7ca02b7bc834e96111f56 100644 +index 36c560ea3b33ef854f2190d07209b7f36c6d7e6b..8b7d4b0bdb18067213462492ce4b8af2477a111b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -570,7 +570,7 @@ public final class ItemStack { +@@ -583,7 +583,7 @@ public final class ItemStack { return this.getItem().getMaxDamage(); } @@ -17,7 +17,7 @@ index 9a4a05668fec49e488dbf644c083c5b67c4dde93..1bc9cb46e7ceb274bad7ca02b7bc834e if (!this.isDamageableItem()) { return false; } else { -@@ -588,8 +588,8 @@ public final class ItemStack { +@@ -601,8 +601,8 @@ public final class ItemStack { amount -= k; // CraftBukkit start @@ -28,7 +28,7 @@ index 9a4a05668fec49e488dbf644c083c5b67c4dde93..1bc9cb46e7ceb274bad7ca02b7bc834e event.getPlayer().getServer().getPluginManager().callEvent(event); if (amount != event.getDamage() || event.isCancelled()) { -@@ -600,6 +600,14 @@ public final class ItemStack { +@@ -613,6 +613,14 @@ public final class ItemStack { } amount = event.getDamage(); @@ -43,7 +43,7 @@ index 9a4a05668fec49e488dbf644c083c5b67c4dde93..1bc9cb46e7ceb274bad7ca02b7bc834e } // CraftBukkit end if (amount <= 0) { -@@ -607,8 +615,8 @@ public final class ItemStack { +@@ -620,8 +628,8 @@ public final class ItemStack { } } @@ -54,7 +54,7 @@ index 9a4a05668fec49e488dbf644c083c5b67c4dde93..1bc9cb46e7ceb274bad7ca02b7bc834e } j = this.getDamageValue() + amount; -@@ -620,7 +628,7 @@ public final class ItemStack { +@@ -633,7 +641,7 @@ public final class ItemStack { public void hurtAndBreak(int amount, T entity, Consumer breakCallback) { if (!entity.level.isClientSide && (!(entity instanceof net.minecraft.world.entity.player.Player) || !((net.minecraft.world.entity.player.Player) entity).getAbilities().instabuild)) { if (this.isDamageableItem()) { diff --git a/patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch index 4f2e8cf015..29c5f4f880 100644 --- a/patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 081a92415d8a19da4f342e8febee62c844458cb9..3c72c95872365a66a19793a613c008720fc681ac 100644 +index 69d5a9923d1eff576bd3058d6bcc278340d069ca..8c1bf102fea9e5441a685530155a3170becd7f9c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -483,5 +483,17 @@ public final class CraftItemFactory implements ItemFactory { +@@ -506,5 +506,17 @@ public final class CraftItemFactory implements ItemFactory { entity.getUniqueId().toString(), new net.md_5.bungee.api.chat.TextComponent(customName)); } diff --git a/patches/server/0794-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0794-Fix-cancelled-powdered-snow-bucket-placement.patch index fb79377f72..5e05a64383 100644 --- a/patches/server/0794-Fix-cancelled-powdered-snow-bucket-placement.patch +++ b/patches/server/0794-Fix-cancelled-powdered-snow-bucket-placement.patch @@ -20,10 +20,10 @@ index e581dc10f3c805f7f8b6e4c842092609e7e1a0f8..b0204af850ee182773ad458208cccd94 } return InteractionResult.FAIL; diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 1bc9cb46e7ceb274bad7ca02b7bc834e96111f56..32e617461d603c3f8e968e82bb1d2e7e14b19aa2 100644 +index 8b7d4b0bdb18067213462492ce4b8af2477a111b..8778b35890b36ff4c13704968f73934e53d7bd6b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -346,7 +346,7 @@ public final class ItemStack { +@@ -348,7 +348,7 @@ public final class ItemStack { int oldCount = this.getCount(); ServerLevel world = (ServerLevel) itemactioncontext.getLevel(); @@ -32,7 +32,7 @@ index 1bc9cb46e7ceb274bad7ca02b7bc834e96111f56..32e617461d603c3f8e968e82bb1d2e7e world.captureBlockStates = true; // special case bonemeal if (this.getItem() == Items.BONE_MEAL) { -@@ -401,7 +401,7 @@ public final class ItemStack { +@@ -403,7 +403,7 @@ public final class ItemStack { world.capturedBlockStates.clear(); if (blocks.size() > 1) { placeEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockMultiPlaceEvent(world, entityhuman, enumhand, blocks, blockposition.getX(), blockposition.getY(), blockposition.getZ()); diff --git a/patches/server/0814-Implement-enchantWithLevels-API.patch b/patches/server/0814-Implement-enchantWithLevels-API.patch index fb48d749bb..f1679a729c 100644 --- a/patches/server/0814-Implement-enchantWithLevels-API.patch +++ b/patches/server/0814-Implement-enchantWithLevels-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement enchantWithLevels API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 3c72c95872365a66a19793a613c008720fc681ac..83bbfe1ffd0dc8e168064225a02abcaa49df60ed 100644 +index 8c1bf102fea9e5441a685530155a3170becd7f9c..9a87b32a4bf0a912b8de267d71e56c8505db0e9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -419,6 +419,21 @@ public final class CraftItemFactory implements ItemFactory { +@@ -442,6 +442,21 @@ public final class CraftItemFactory implements ItemFactory { } // Paper start diff --git a/patches/server/0830-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0830-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch index ccfe7950de..ed94088018 100644 --- a/patches/server/0830-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch +++ b/patches/server/0830-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add pre-unbreaking amount to PlayerItemDamageEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 32e617461d603c3f8e968e82bb1d2e7e14b19aa2..75ee1abaadabbe8add0972c48780f5e7b85df069 100644 +index 8778b35890b36ff4c13704968f73934e53d7bd6b..ce51f1768275fab434d46b5aa349dfdd2b631977 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -586,10 +586,11 @@ public final class ItemStack { +@@ -599,10 +599,11 @@ public final class ItemStack { } } diff --git a/patches/server/0832-Fix-NPE-for-BlockDataMeta-getBlockData.patch b/patches/server/0832-Fix-NPE-for-BlockDataMeta-getBlockData.patch index 9dbd19d495..5057c9d0d2 100644 --- a/patches/server/0832-Fix-NPE-for-BlockDataMeta-getBlockData.patch +++ b/patches/server/0832-Fix-NPE-for-BlockDataMeta-getBlockData.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix NPE for BlockDataMeta#getBlockData diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 34f27913dc80915135bb476447dcbff9b32e302c..58c1d07f41fc382b23df17739090f5031fd41aad 100644 +index 9fc74007bd887ab71dea9dcfdc1e3017036d0bfc..936f8babf74b2be6240e5dbc2d0a84f8badada2e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1094,7 +1094,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1096,7 +1096,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public BlockData getBlockData(Material material) { diff --git a/patches/server/0965-Optimize-Hoppers.patch b/patches/server/0965-Optimize-Hoppers.patch index 79e1fb0299..c2d5d3f038 100644 --- a/patches/server/0965-Optimize-Hoppers.patch +++ b/patches/server/0965-Optimize-Hoppers.patch @@ -25,10 +25,10 @@ index fbc06f45926e9073c95c97423f92a213898fcd48..9f15d9dbdfa74a0640b1a2b4ff695609 this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 75ee1abaadabbe8add0972c48780f5e7b85df069..a6253272205337b3b855679b3057c2519a807a4c 100644 +index ce51f1768275fab434d46b5aa349dfdd2b631977..1aac66a8ef170f172b7cf4045d77800f93e26d3a 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -697,10 +697,16 @@ public final class ItemStack { +@@ -710,10 +710,16 @@ public final class ItemStack { } public ItemStack copy() { diff --git a/patches/server/0966-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0966-Fix-beehives-generating-from-using-bonemeal.patch index 2157e12c6e..f48130ef67 100644 --- a/patches/server/0966-Fix-beehives-generating-from-using-bonemeal.patch +++ b/patches/server/0966-Fix-beehives-generating-from-using-bonemeal.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix beehives generating from using bonemeal diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a6253272205337b3b855679b3057c2519a807a4c..d690b8d0c1da1f56b226376df8c76c34375e3c73 100644 +index 1aac66a8ef170f172b7cf4045d77800f93e26d3a..fd6c80d6cb83ab2dc0fca913655eea8cc68dd5a6 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -386,6 +386,7 @@ public final class ItemStack { +@@ -388,6 +388,7 @@ public final class ItemStack { } for (CraftBlockState blockstate : blocks) { world.setBlock(blockstate.getPosition(),blockstate.getHandle(), blockstate.getFlag()); // SPIGOT-7248 - manual update to avoid physics where appropriate diff --git a/patches/server/0968-Fix-api-checking-banned-ips.patch b/patches/server/0967-Fix-api-checking-banned-ips.patch similarity index 100% rename from patches/server/0968-Fix-api-checking-banned-ips.patch rename to patches/server/0967-Fix-api-checking-banned-ips.patch diff --git a/patches/server/0967-Properly-cancel-bed-block-placement.patch b/patches/server/0967-Properly-cancel-bed-block-placement.patch deleted file mode 100644 index b6c7ef8f4e..0000000000 --- a/patches/server/0967-Properly-cancel-bed-block-placement.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Sun, 26 Mar 2023 13:17:41 -0700 -Subject: [PATCH] Properly cancel bed block placement - - -diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java -index 96434f14525a2159f335b94aad95081f488fadf3..3aa79a441ac4bd6b4d87d19bdb3011455210fd41 100644 ---- a/src/main/java/net/minecraft/world/level/block/BedBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java -@@ -363,7 +363,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock - - world.setBlock(blockposition1, (BlockState) state.setValue(BedBlock.PART, BedPart.HEAD), 3); - world.blockUpdated(pos, Blocks.AIR); -- state.updateNeighbourShapes(world, pos, 3); -+ // state.updateNeighbourShapes(world, pos, 3); // Paper - shapes will be updated on successful block place - } - - } diff --git a/patches/server/0969-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0968-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 100% rename from patches/server/0969-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/server/0968-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/server/0970-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0969-Treat-sequence-violations-like-they-should-be.patch similarity index 100% rename from patches/server/0970-Treat-sequence-violations-like-they-should-be.patch rename to patches/server/0969-Treat-sequence-violations-like-they-should-be.patch diff --git a/patches/server/0971-remove-duplicate-animate-packet-for-records.patch b/patches/server/0970-remove-duplicate-animate-packet-for-records.patch similarity index 100% rename from patches/server/0971-remove-duplicate-animate-packet-for-records.patch rename to patches/server/0970-remove-duplicate-animate-packet-for-records.patch diff --git a/patches/server/0972-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0971-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 100% rename from patches/server/0972-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/server/0971-Prevent-causing-expired-keys-from-impacting-new-join.patch diff --git a/patches/server/0973-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0972-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 100% rename from patches/server/0973-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/server/0972-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch diff --git a/patches/server/0974-Use-array-for-gamerule-storage.patch b/patches/server/0973-Use-array-for-gamerule-storage.patch similarity index 100% rename from patches/server/0974-Use-array-for-gamerule-storage.patch rename to patches/server/0973-Use-array-for-gamerule-storage.patch diff --git a/patches/server/0975-Fix-block-place-logic.patch b/patches/server/0974-Fix-block-place-logic.patch similarity index 95% rename from patches/server/0975-Fix-block-place-logic.patch rename to patches/server/0974-Fix-block-place-logic.patch index 0191cb1f5d..6d40e97afc 100644 --- a/patches/server/0975-Fix-block-place-logic.patch +++ b/patches/server/0974-Fix-block-place-logic.patch @@ -39,10 +39,10 @@ index f8f8392ba16838449354e78f0ce69af37b0b7fed..91caa607a21bfb61849826949b59bcda return bl; diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d690b8d0c1da1f56b226376df8c76c34375e3c73..3bfef8ed7dd73f603aef06172f362bb0ed0a5c83 100644 +index fd6c80d6cb83ab2dc0fca913655eea8cc68dd5a6..a7533d18fe6148d7bfd3106b9cdcb6fa3347cf7c 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -456,13 +456,7 @@ public final class ItemStack { +@@ -458,13 +458,7 @@ public final class ItemStack { if (tileentity instanceof JukeboxBlockEntity) { JukeboxBlockEntity tileentityjukebox = (JukeboxBlockEntity) tileentity; @@ -57,7 +57,7 @@ index d690b8d0c1da1f56b226376df8c76c34375e3c73..3bfef8ed7dd73f603aef06172f362bb0 world.gameEvent(GameEvent.BLOCK_CHANGE, blockposition, GameEvent.Context.of(entityhuman, world.getBlockState(blockposition))); } -@@ -488,7 +482,7 @@ public final class ItemStack { +@@ -490,7 +484,7 @@ public final class ItemStack { } // SPIGOT-4678 diff --git a/work/Bukkit b/work/Bukkit index 5efeb7bdbf..eb4b416d2b 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 5efeb7bdbfa459cd0a59aa6a8941ff962662617f +Subproject commit eb4b416d2b270c01dba22a583204e62c4440dd3d diff --git a/work/CraftBukkit b/work/CraftBukkit index be8682aa82..19de3550d8 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit be8682aa824764ebf811107c5eb928ffad6c1af5 +Subproject commit 19de3550d85d736cdf1ae0838fe7891576985e49 diff --git a/work/Spigot b/work/Spigot index b31949f2f3..d2fdfe3915 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit b31949f2f33ef94ed07dbe37fb00939cf049a989 +Subproject commit d2fdfe39154577ac5ee1dac1672eab79a9577dc2