From 98af0e0d3bf1dd275f15d64d2debb386e84d7862 Mon Sep 17 00:00:00 2001 From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com> Date: Sat, 26 Oct 2024 18:03:25 +0200 Subject: [PATCH] update generator --- paper-api-generator/build.gradle.kts | 2 +- .../paper/entity/ai/VanillaGoal.java | 6 +- .../registry/keys/BannerPatternKeys.java | 2 +- .../paper/registry/keys/BiomeKeys.java | 12 +- .../paper/registry/keys/BlockTypeKeys.java | 219 ++++- .../paper/registry/keys/CatVariantKeys.java | 2 +- .../paper/registry/keys/DamageTypeKeys.java | 16 +- .../paper/registry/keys/EnchantmentKeys.java | 2 +- .../paper/registry/keys/FrogVariantKeys.java | 2 +- .../paper/registry/keys/GameEventKeys.java | 2 +- .../paper/registry/keys/InstrumentKeys.java | 2 +- .../paper/registry/keys/ItemTypeKeys.java | 873 ++++++++++++------ .../paper/registry/keys/JukeboxSongKeys.java | 2 +- .../registry/keys/MapDecorationTypeKeys.java | 2 +- .../paper/registry/keys/MenuTypeKeys.java | 2 +- .../paper/registry/keys/MobEffectKeys.java | 2 +- .../paper/registry/keys/StructureKeys.java | 2 +- .../registry/keys/StructureTypeKeys.java | 2 +- .../paper/registry/keys/TrimMaterialKeys.java | 2 +- .../paper/registry/keys/TrimPatternKeys.java | 2 +- .../registry/keys/VillagerProfessionKeys.java | 2 +- .../paper/registry/keys/VillagerTypeKeys.java | 2 +- .../paper/registry/keys/WolfVariantKeys.java | 2 +- .../keys/tags/EnchantmentTagKeys.java | 2 +- .../registry/keys/tags/ItemTypeTagKeys.java | 173 +++- .../main/java/io/papermc/generator/Main.java | 24 +- .../generator/types/GeneratedKeyType.java | 32 +- .../generator/types/GeneratedTagKeyType.java | 10 +- .../generator/types/SimpleGenerator.java | 1 - .../types/goal/MobGoalGenerator.java | 41 - .../generator/types/goal/MobGoalNames.java | 4 + .../generator/utils/CollectingContext.java | 4 +- .../papermc/generator/utils/Formatting.java | 8 +- .../papermc/generator/utils/TagCollector.java | 2 +- paper-api-generator/wideners.at | 3 +- patches/api/0004-Code-Generation.patch | 10 +- ...0427-Experimental-annotations-change.patch | 13 + .../server/0350-Implement-Mob-Goal-API.patch | 7 +- patches/server/0553-Missing-Entity-API.patch | 2 +- 39 files changed, 1134 insertions(+), 364 deletions(-) diff --git a/paper-api-generator/build.gradle.kts b/paper-api-generator/build.gradle.kts index 05d16d0b95..62ceb696a5 100644 --- a/paper-api-generator/build.gradle.kts +++ b/paper-api-generator/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { implementation("com.squareup:javapoet:1.13.0") implementation(project(":paper-api")) implementation("io.github.classgraph:classgraph:4.8.47") - implementation("org.jetbrains:annotations:24.0.1") + implementation("org.jetbrains:annotations:24.1.0") testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } diff --git a/paper-api-generator/generated/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/paper-api-generator/generated/com/destroystokyo/paper/entity/ai/VanillaGoal.java index 02411466bd..e0aa5b925c 100644 --- a/paper-api-generator/generated/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/paper-api-generator/generated/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -66,7 +66,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") public interface VanillaGoal extends Goal { GoalKey RANDOM_STAND = create("random_stand", AbstractHorse.class); @@ -102,6 +102,10 @@ public interface VanillaGoal extends Goal { GoalKey BEE_WANDER = create("bee_wander", Bee.class); + GoalKey VALIDATE_FLOWER = create("validate_flower", Bee.class); + + GoalKey VALIDATE_HIVE = create("validate_hive", Bee.class); + GoalKey BLAZE_ATTACK = create("blaze_attack", Blaze.class); GoalKey CAT_AVOID_ENTITY = create("cat_avoid_entity", Cat.class); diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/BannerPatternKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/BannerPatternKeys.java index e585ebb00a..33e501a6fa 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/BannerPatternKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/BannerPatternKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class BannerPatternKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/BiomeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/BiomeKeys.java index f0c6abf8bf..83a5d59ea0 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/BiomeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/BiomeKeys.java @@ -6,6 +6,7 @@ import io.papermc.paper.generated.GeneratedFrom; import io.papermc.paper.registry.RegistryKey; import io.papermc.paper.registry.TypedKey; import net.kyori.adventure.key.Key; +import org.bukkit.MinecraftExperimental; import org.bukkit.block.Biome; import org.checkerframework.checker.nullness.qual.NonNull; import org.jetbrains.annotations.ApiStatus; @@ -23,7 +24,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class BiomeKeys { /** @@ -299,6 +300,15 @@ public final class BiomeKeys { */ public static final TypedKey OLD_GROWTH_SPRUCE_TAIGA = create(key("old_growth_spruce_taiga")); + /** + * {@code minecraft:pale_garden} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_GARDEN = create(key("pale_garden")); + /** * {@code minecraft:plains} * diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/BlockTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/BlockTypeKeys.java index 3daa9b638c..d2b100a27a 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/BlockTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/BlockTypeKeys.java @@ -6,6 +6,7 @@ import io.papermc.paper.generated.GeneratedFrom; import io.papermc.paper.registry.RegistryKey; import io.papermc.paper.registry.TypedKey; import net.kyori.adventure.key.Key; +import org.bukkit.MinecraftExperimental; import org.bukkit.block.BlockType; import org.checkerframework.checker.nullness.qual.NonNull; import org.jetbrains.annotations.ApiStatus; @@ -23,7 +24,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class BlockTypeKeys { /** @@ -1622,6 +1623,15 @@ public final class BlockTypeKeys { */ public static final TypedKey CRAFTING_TABLE = create(key("crafting_table")); + /** + * {@code minecraft:creaking_heart} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey CREAKING_HEART = create(key("creaking_heart")); + /** * {@code minecraft:creeper_head} * @@ -4562,6 +4572,186 @@ public final class BlockTypeKeys { */ public static final TypedKey PACKED_MUD = create(key("packed_mud")); + /** + * {@code minecraft:pale_hanging_moss} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_HANGING_MOSS = create(key("pale_hanging_moss")); + + /** + * {@code minecraft:pale_moss_block} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_MOSS_BLOCK = create(key("pale_moss_block")); + + /** + * {@code minecraft:pale_moss_carpet} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_MOSS_CARPET = create(key("pale_moss_carpet")); + + /** + * {@code minecraft:pale_oak_button} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_BUTTON = create(key("pale_oak_button")); + + /** + * {@code minecraft:pale_oak_door} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_DOOR = create(key("pale_oak_door")); + + /** + * {@code minecraft:pale_oak_fence} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_FENCE = create(key("pale_oak_fence")); + + /** + * {@code minecraft:pale_oak_fence_gate} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_FENCE_GATE = create(key("pale_oak_fence_gate")); + + /** + * {@code minecraft:pale_oak_hanging_sign} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_HANGING_SIGN = create(key("pale_oak_hanging_sign")); + + /** + * {@code minecraft:pale_oak_leaves} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_LEAVES = create(key("pale_oak_leaves")); + + /** + * {@code minecraft:pale_oak_log} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_LOG = create(key("pale_oak_log")); + + /** + * {@code minecraft:pale_oak_planks} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_PLANKS = create(key("pale_oak_planks")); + + /** + * {@code minecraft:pale_oak_pressure_plate} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_PRESSURE_PLATE = create(key("pale_oak_pressure_plate")); + + /** + * {@code minecraft:pale_oak_sapling} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_SAPLING = create(key("pale_oak_sapling")); + + /** + * {@code minecraft:pale_oak_sign} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_SIGN = create(key("pale_oak_sign")); + + /** + * {@code minecraft:pale_oak_slab} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_SLAB = create(key("pale_oak_slab")); + + /** + * {@code minecraft:pale_oak_stairs} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_STAIRS = create(key("pale_oak_stairs")); + + /** + * {@code minecraft:pale_oak_trapdoor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_TRAPDOOR = create(key("pale_oak_trapdoor")); + + /** + * {@code minecraft:pale_oak_wall_hanging_sign} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_WALL_HANGING_SIGN = create(key("pale_oak_wall_hanging_sign")); + + /** + * {@code minecraft:pale_oak_wall_sign} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_WALL_SIGN = create(key("pale_oak_wall_sign")); + + /** + * {@code minecraft:pale_oak_wood} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_WOOD = create(key("pale_oak_wood")); + /** * {@code minecraft:pearlescent_froglight} * @@ -5143,6 +5333,15 @@ public final class BlockTypeKeys { */ public static final TypedKey POTTED_OXEYE_DAISY = create(key("potted_oxeye_daisy")); + /** + * {@code minecraft:potted_pale_oak_sapling} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey POTTED_PALE_OAK_SAPLING = create(key("potted_pale_oak_sapling")); + /** * {@code minecraft:potted_pink_tulip} * @@ -6410,6 +6609,24 @@ public final class BlockTypeKeys { */ public static final TypedKey STRIPPED_OAK_WOOD = create(key("stripped_oak_wood")); + /** + * {@code minecraft:stripped_pale_oak_log} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey STRIPPED_PALE_OAK_LOG = create(key("stripped_pale_oak_log")); + + /** + * {@code minecraft:stripped_pale_oak_wood} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey STRIPPED_PALE_OAK_WOOD = create(key("stripped_pale_oak_wood")); + /** * {@code minecraft:stripped_spruce_log} * diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/CatVariantKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/CatVariantKeys.java index a8cbc4c9a0..98acbdf858 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/CatVariantKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/CatVariantKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class CatVariantKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java index 9cb651fb14..d89a584a1e 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class DamageTypeKeys { /** @@ -82,6 +82,13 @@ public final class DamageTypeKeys { */ public static final TypedKey DRY_OUT = create(key("dry_out")); + /** + * {@code minecraft:ender_pearl} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey ENDER_PEARL = create(key("ender_pearl")); + /** * {@code minecraft:explosion} * @@ -201,6 +208,13 @@ public final class DamageTypeKeys { */ public static final TypedKey LIGHTNING_BOLT = create(key("lightning_bolt")); + /** + * {@code minecraft:mace_smash} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey MACE_SMASH = create(key("mace_smash")); + /** * {@code minecraft:magic} * diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java index 8a7b691af6..cf19e146cd 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class EnchantmentKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/FrogVariantKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/FrogVariantKeys.java index 2b9c007e49..7cbe222657 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/FrogVariantKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/FrogVariantKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class FrogVariantKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/GameEventKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/GameEventKeys.java index e8a8e5f89a..d3751e33e2 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/GameEventKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/GameEventKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class GameEventKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/InstrumentKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/InstrumentKeys.java index 4d59a6b6e1..98b44173be 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/InstrumentKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/InstrumentKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class InstrumentKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/ItemTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/ItemTypeKeys.java index 052d129630..9750f7a201 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/ItemTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/ItemTypeKeys.java @@ -6,6 +6,7 @@ import io.papermc.paper.generated.GeneratedFrom; import io.papermc.paper.registry.RegistryKey; import io.papermc.paper.registry.TypedKey; import net.kyori.adventure.key.Key; +import org.bukkit.MinecraftExperimental; import org.bukkit.inventory.ItemType; import org.checkerframework.checker.nullness.qual.NonNull; import org.jetbrains.annotations.ApiStatus; @@ -23,7 +24,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class ItemTypeKeys { /** @@ -698,6 +699,13 @@ public final class ItemTypeKeys { */ public static final TypedKey BLACK_BED = create(key("black_bed")); + /** + * {@code minecraft:black_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey BLACK_BUNDLE = create(key("black_bundle")); + /** * {@code minecraft:black_candle} * @@ -852,6 +860,13 @@ public final class ItemTypeKeys { */ public static final TypedKey BLUE_BED = create(key("blue_bed")); + /** + * {@code minecraft:blue_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey BLUE_BUNDLE = create(key("blue_bundle")); + /** * {@code minecraft:blue_candle} * @@ -992,6 +1007,13 @@ public final class ItemTypeKeys { */ public static final TypedKey BOOKSHELF = create(key("bookshelf")); + /** + * {@code minecraft:bordure_indented_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey BORDURE_INDENTED_BANNER_PATTERN = create(key("bordure_indented_banner_pattern")); + /** * {@code minecraft:bow} * @@ -1111,6 +1133,13 @@ public final class ItemTypeKeys { */ public static final TypedKey BROWN_BED = create(key("brown_bed")); + /** + * {@code minecraft:brown_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey BROWN_BUNDLE = create(key("brown_bundle")); + /** * {@code minecraft:brown_candle} * @@ -2014,6 +2043,24 @@ public final class ItemTypeKeys { */ public static final TypedKey CRAFTING_TABLE = create(key("crafting_table")); + /** + * {@code minecraft:creaking_heart} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey CREAKING_HEART = create(key("creaking_heart")); + + /** + * {@code minecraft:creaking_spawn_egg} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey CREAKING_SPAWN_EGG = create(key("creaking_spawn_egg")); + /** * {@code minecraft:creeper_banner_pattern} * @@ -2224,6 +2271,13 @@ public final class ItemTypeKeys { */ public static final TypedKey CYAN_BED = create(key("cyan_bed")); + /** + * {@code minecraft:cyan_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey CYAN_BUNDLE = create(key("cyan_bundle")); + /** * {@code minecraft:cyan_candle} * @@ -2889,6 +2943,20 @@ public final class ItemTypeKeys { */ public static final TypedKey DROWNED_SPAWN_EGG = create(key("drowned_spawn_egg")); + /** + * {@code minecraft:dune_armor_trim_smithing_template} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey DUNE_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("dune_armor_trim_smithing_template")); + + /** + * {@code minecraft:echo_shard} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey ECHO_SHARD = create(key("echo_shard")); + /** * {@code minecraft:elder_guardian_spawn_egg} * @@ -2945,6 +3013,41 @@ public final class ItemTypeKeys { */ public static final TypedKey EXPERIENCE_BOTTLE = create(key("experience_bottle")); + /** + * {@code minecraft:explorer_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey EXPLORER_POTTERY_SHERD = create(key("explorer_pottery_sherd")); + + /** + * {@code minecraft:exposed_copper_bulb} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey EXPOSED_COPPER_BULB = create(key("exposed_copper_bulb")); + + /** + * {@code minecraft:exposed_copper_grate} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey EXPOSED_COPPER_GRATE = create(key("exposed_copper_grate")); + + /** + * {@code minecraft:eye_armor_trim_smithing_template} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey EYE_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("eye_armor_trim_smithing_template")); + + /** + * {@code minecraft:field_masoned_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FIELD_MASONED_BANNER_PATTERN = create(key("field_masoned_banner_pattern")); + /** * {@code minecraft:fire_charge} * @@ -2966,6 +3069,41 @@ public final class ItemTypeKeys { */ public static final TypedKey FIREWORK_STAR = create(key("firework_star")); + /** + * {@code minecraft:fletching_table} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FLETCHING_TABLE = create(key("fletching_table")); + + /** + * {@code minecraft:flow_armor_trim_smithing_template} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FLOW_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("flow_armor_trim_smithing_template")); + + /** + * {@code minecraft:flow_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FLOW_BANNER_PATTERN = create(key("flow_banner_pattern")); + + /** + * {@code minecraft:flow_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FLOW_POTTERY_SHERD = create(key("flow_pottery_sherd")); + + /** + * {@code minecraft:flower_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FLOWER_BANNER_PATTERN = create(key("flower_banner_pattern")); + /** * {@code minecraft:flower_pot} * @@ -2980,6 +3118,13 @@ public final class ItemTypeKeys { */ public static final TypedKey FOX_SPAWN_EGG = create(key("fox_spawn_egg")); + /** + * {@code minecraft:friend_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FRIEND_POTTERY_SHERD = create(key("friend_pottery_sherd")); + /** * {@code minecraft:frog_spawn_egg} * @@ -2987,6 +3132,13 @@ public final class ItemTypeKeys { */ public static final TypedKey FROG_SPAWN_EGG = create(key("frog_spawn_egg")); + /** + * {@code minecraft:frogspawn} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey FROGSPAWN = create(key("frogspawn")); + /** * {@code minecraft:ghast_spawn_egg} * @@ -2994,6 +3146,27 @@ public final class ItemTypeKeys { */ public static final TypedKey GHAST_SPAWN_EGG = create(key("ghast_spawn_egg")); + /** + * {@code minecraft:gilded_blackstone} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GILDED_BLACKSTONE = create(key("gilded_blackstone")); + + /** + * {@code minecraft:globe_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GLOBE_BANNER_PATTERN = create(key("globe_banner_pattern")); + + /** + * {@code minecraft:glow_berries} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GLOW_BERRIES = create(key("glow_berries")); + /** * {@code minecraft:glow_item_frame} * @@ -3008,6 +3181,13 @@ public final class ItemTypeKeys { */ public static final TypedKey GLOW_SQUID_SPAWN_EGG = create(key("glow_squid_spawn_egg")); + /** + * {@code minecraft:goat_horn} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GOAT_HORN = create(key("goat_horn")); + /** * {@code minecraft:goat_spawn_egg} * @@ -3036,6 +3216,13 @@ public final class ItemTypeKeys { */ public static final TypedKey GRAY_BANNER = create(key("gray_banner")); + /** + * {@code minecraft:gray_candle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GRAY_CANDLE = create(key("gray_candle")); + /** * {@code minecraft:green_banner} * @@ -3043,6 +3230,20 @@ public final class ItemTypeKeys { */ public static final TypedKey GREEN_BANNER = create(key("green_banner")); + /** + * {@code minecraft:green_candle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GREEN_CANDLE = create(key("green_candle")); + + /** + * {@code minecraft:grindstone} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GRINDSTONE = create(key("grindstone")); + /** * {@code minecraft:guardian_spawn_egg} * @@ -3050,6 +3251,41 @@ public final class ItemTypeKeys { */ public static final TypedKey GUARDIAN_SPAWN_EGG = create(key("guardian_spawn_egg")); + /** + * {@code minecraft:guster_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GUSTER_BANNER_PATTERN = create(key("guster_banner_pattern")); + + /** + * {@code minecraft:guster_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey GUSTER_POTTERY_SHERD = create(key("guster_pottery_sherd")); + + /** + * {@code minecraft:heart_of_the_sea} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HEART_OF_THE_SEA = create(key("heart_of_the_sea")); + + /** + * {@code minecraft:heart_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HEART_POTTERY_SHERD = create(key("heart_pottery_sherd")); + + /** + * {@code minecraft:heartbreak_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HEARTBREAK_POTTERY_SHERD = create(key("heartbreak_pottery_sherd")); + /** * {@code minecraft:hoglin_spawn_egg} * @@ -3057,6 +3293,27 @@ public final class ItemTypeKeys { */ public static final TypedKey HOGLIN_SPAWN_EGG = create(key("hoglin_spawn_egg")); + /** + * {@code minecraft:honey_bottle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HONEY_BOTTLE = create(key("honey_bottle")); + + /** + * {@code minecraft:honeycomb} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HONEYCOMB = create(key("honeycomb")); + + /** + * {@code minecraft:honeycomb_block} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HONEYCOMB_BLOCK = create(key("honeycomb_block")); + /** * {@code minecraft:horse_spawn_egg} * @@ -3064,6 +3321,20 @@ public final class ItemTypeKeys { */ public static final TypedKey HORSE_SPAWN_EGG = create(key("horse_spawn_egg")); + /** + * {@code minecraft:host_armor_trim_smithing_template} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HOST_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("host_armor_trim_smithing_template")); + + /** + * {@code minecraft:howl_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey HOWL_POTTERY_SHERD = create(key("howl_pottery_sherd")); + /** * {@code minecraft:husk_spawn_egg} * @@ -3106,6 +3377,20 @@ public final class ItemTypeKeys { */ public static final TypedKey KNOWLEDGE_BOOK = create(key("knowledge_book")); + /** + * {@code minecraft:lantern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LANTERN = create(key("lantern")); + + /** + * {@code minecraft:large_amethyst_bud} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LARGE_AMETHYST_BUD = create(key("large_amethyst_bud")); + /** * {@code minecraft:lead} * @@ -3127,6 +3412,13 @@ public final class ItemTypeKeys { */ public static final TypedKey LIGHT_BLUE_BANNER = create(key("light_blue_banner")); + /** + * {@code minecraft:light_blue_candle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LIGHT_BLUE_CANDLE = create(key("light_blue_candle")); + /** * {@code minecraft:light_gray_banner} * @@ -3134,6 +3426,13 @@ public final class ItemTypeKeys { */ public static final TypedKey LIGHT_GRAY_BANNER = create(key("light_gray_banner")); + /** + * {@code minecraft:light_gray_candle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LIGHT_GRAY_CANDLE = create(key("light_gray_candle")); + /** * {@code minecraft:lime_banner} * @@ -3141,6 +3440,13 @@ public final class ItemTypeKeys { */ public static final TypedKey LIME_BANNER = create(key("lime_banner")); + /** + * {@code minecraft:lime_candle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LIME_CANDLE = create(key("lime_candle")); + /** * {@code minecraft:lingering_potion} * @@ -3155,6 +3461,20 @@ public final class ItemTypeKeys { */ public static final TypedKey LLAMA_SPAWN_EGG = create(key("llama_spawn_egg")); + /** + * {@code minecraft:lodestone} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LODESTONE = create(key("lodestone")); + + /** + * {@code minecraft:loom} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey LOOM = create(key("loom")); + /** * {@code minecraft:mace} * @@ -3169,6 +3489,13 @@ public final class ItemTypeKeys { */ public static final TypedKey MAGENTA_BANNER = create(key("magenta_banner")); + /** + * {@code minecraft:magenta_candle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey MAGENTA_CANDLE = create(key("magenta_candle")); + /** * {@code minecraft:magma_cube_spawn_egg} * @@ -3183,6 +3510,27 @@ public final class ItemTypeKeys { */ public static final TypedKey MAP = create(key("map")); + /** + * {@code minecraft:medium_amethyst_bud} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey MEDIUM_AMETHYST_BUD = create(key("medium_amethyst_bud")); + + /** + * {@code minecraft:miner_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey MINER_POTTERY_SHERD = create(key("miner_pottery_sherd")); + + /** + * {@code minecraft:mojang_banner_pattern} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey MOJANG_BANNER_PATTERN = create(key("mojang_banner_pattern")); + /** * {@code minecraft:mooshroom_spawn_egg} * @@ -3190,6 +3538,13 @@ public final class ItemTypeKeys { */ public static final TypedKey MOOSHROOM_SPAWN_EGG = create(key("mooshroom_spawn_egg")); + /** + * {@code minecraft:mourner_pottery_sherd} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey MOURNER_POTTERY_SHERD = create(key("mourner_pottery_sherd")); + /** * {@code minecraft:mule_spawn_egg} * @@ -3253,20 +3608,6 @@ public final class ItemTypeKeys { */ public static final TypedKey DROPPER = create(key("dropper")); - /** - * {@code minecraft:dune_armor_trim_smithing_template} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey DUNE_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("dune_armor_trim_smithing_template")); - - /** - * {@code minecraft:echo_shard} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey ECHO_SHARD = create(key("echo_shard")); - /** * {@code minecraft:egg} * @@ -3386,13 +3727,6 @@ public final class ItemTypeKeys { */ public static final TypedKey ENDER_PEARL = create(key("ender_pearl")); - /** - * {@code minecraft:explorer_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey EXPLORER_POTTERY_SHERD = create(key("explorer_pottery_sherd")); - /** * {@code minecraft:exposed_chiseled_copper} * @@ -3407,13 +3741,6 @@ public final class ItemTypeKeys { */ public static final TypedKey EXPOSED_COPPER = create(key("exposed_copper")); - /** - * {@code minecraft:exposed_copper_bulb} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey EXPOSED_COPPER_BULB = create(key("exposed_copper_bulb")); - /** * {@code minecraft:exposed_copper_door} * @@ -3421,13 +3748,6 @@ public final class ItemTypeKeys { */ public static final TypedKey EXPOSED_COPPER_DOOR = create(key("exposed_copper_door")); - /** - * {@code minecraft:exposed_copper_grate} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey EXPOSED_COPPER_GRATE = create(key("exposed_copper_grate")); - /** * {@code minecraft:exposed_copper_trapdoor} * @@ -3456,13 +3776,6 @@ public final class ItemTypeKeys { */ public static final TypedKey EXPOSED_CUT_COPPER_STAIRS = create(key("exposed_cut_copper_stairs")); - /** - * {@code minecraft:eye_armor_trim_smithing_template} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey EYE_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("eye_armor_trim_smithing_template")); - /** * {@code minecraft:farmland} * @@ -3526,13 +3839,6 @@ public final class ItemTypeKeys { */ public static final TypedKey FISHING_ROD = create(key("fishing_rod")); - /** - * {@code minecraft:fletching_table} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FLETCHING_TABLE = create(key("fletching_table")); - /** * {@code minecraft:flint} * @@ -3547,34 +3853,6 @@ public final class ItemTypeKeys { */ public static final TypedKey FLINT_AND_STEEL = create(key("flint_and_steel")); - /** - * {@code minecraft:flow_armor_trim_smithing_template} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FLOW_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("flow_armor_trim_smithing_template")); - - /** - * {@code minecraft:flow_banner_pattern} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FLOW_BANNER_PATTERN = create(key("flow_banner_pattern")); - - /** - * {@code minecraft:flow_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FLOW_POTTERY_SHERD = create(key("flow_pottery_sherd")); - - /** - * {@code minecraft:flower_banner_pattern} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FLOWER_BANNER_PATTERN = create(key("flower_banner_pattern")); - /** * {@code minecraft:flowering_azalea} * @@ -3589,20 +3867,6 @@ public final class ItemTypeKeys { */ public static final TypedKey FLOWERING_AZALEA_LEAVES = create(key("flowering_azalea_leaves")); - /** - * {@code minecraft:friend_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FRIEND_POTTERY_SHERD = create(key("friend_pottery_sherd")); - - /** - * {@code minecraft:frogspawn} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey FROGSPAWN = create(key("frogspawn")); - /** * {@code minecraft:furnace} * @@ -3624,13 +3888,6 @@ public final class ItemTypeKeys { */ public static final TypedKey GHAST_TEAR = create(key("ghast_tear")); - /** - * {@code minecraft:gilded_blackstone} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GILDED_BLACKSTONE = create(key("gilded_blackstone")); - /** * {@code minecraft:glass} * @@ -3659,20 +3916,6 @@ public final class ItemTypeKeys { */ public static final TypedKey GLISTERING_MELON_SLICE = create(key("glistering_melon_slice")); - /** - * {@code minecraft:globe_banner_pattern} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GLOBE_BANNER_PATTERN = create(key("globe_banner_pattern")); - - /** - * {@code minecraft:glow_berries} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GLOW_BERRIES = create(key("glow_berries")); - /** * {@code minecraft:glow_ink_sac} * @@ -3701,13 +3944,6 @@ public final class ItemTypeKeys { */ public static final TypedKey GLOWSTONE_DUST = create(key("glowstone_dust")); - /** - * {@code minecraft:goat_horn} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GOAT_HORN = create(key("goat_horn")); - /** * {@code minecraft:gold_block} * @@ -3856,11 +4092,11 @@ public final class ItemTypeKeys { public static final TypedKey GRAY_BED = create(key("gray_bed")); /** - * {@code minecraft:gray_candle} + * {@code minecraft:gray_bundle} * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - public static final TypedKey GRAY_CANDLE = create(key("gray_candle")); + public static final TypedKey GRAY_BUNDLE = create(key("gray_bundle")); /** * {@code minecraft:gray_carpet} @@ -3940,11 +4176,11 @@ public final class ItemTypeKeys { public static final TypedKey GREEN_BED = create(key("green_bed")); /** - * {@code minecraft:green_candle} + * {@code minecraft:green_bundle} * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - public static final TypedKey GREEN_CANDLE = create(key("green_candle")); + public static final TypedKey GREEN_BUNDLE = create(key("green_bundle")); /** * {@code minecraft:green_carpet} @@ -4016,13 +4252,6 @@ public final class ItemTypeKeys { */ public static final TypedKey GREEN_WOOL = create(key("green_wool")); - /** - * {@code minecraft:grindstone} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GRINDSTONE = create(key("grindstone")); - /** * {@code minecraft:gunpowder} * @@ -4030,20 +4259,6 @@ public final class ItemTypeKeys { */ public static final TypedKey GUNPOWDER = create(key("gunpowder")); - /** - * {@code minecraft:guster_banner_pattern} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GUSTER_BANNER_PATTERN = create(key("guster_banner_pattern")); - - /** - * {@code minecraft:guster_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey GUSTER_POTTERY_SHERD = create(key("guster_pottery_sherd")); - /** * {@code minecraft:hanging_roots} * @@ -4058,27 +4273,6 @@ public final class ItemTypeKeys { */ public static final TypedKey HAY_BLOCK = create(key("hay_block")); - /** - * {@code minecraft:heart_of_the_sea} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HEART_OF_THE_SEA = create(key("heart_of_the_sea")); - - /** - * {@code minecraft:heart_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HEART_POTTERY_SHERD = create(key("heart_pottery_sherd")); - - /** - * {@code minecraft:heartbreak_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HEARTBREAK_POTTERY_SHERD = create(key("heartbreak_pottery_sherd")); - /** * {@code minecraft:heavy_core} * @@ -4100,27 +4294,6 @@ public final class ItemTypeKeys { */ public static final TypedKey HONEY_BLOCK = create(key("honey_block")); - /** - * {@code minecraft:honey_bottle} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HONEY_BOTTLE = create(key("honey_bottle")); - - /** - * {@code minecraft:honeycomb} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HONEYCOMB = create(key("honeycomb")); - - /** - * {@code minecraft:honeycomb_block} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HONEYCOMB_BLOCK = create(key("honeycomb_block")); - /** * {@code minecraft:hopper} * @@ -4156,20 +4329,6 @@ public final class ItemTypeKeys { */ public static final TypedKey HORN_CORAL_FAN = create(key("horn_coral_fan")); - /** - * {@code minecraft:host_armor_trim_smithing_template} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HOST_ARMOR_TRIM_SMITHING_TEMPLATE = create(key("host_armor_trim_smithing_template")); - - /** - * {@code minecraft:howl_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey HOWL_POTTERY_SHERD = create(key("howl_pottery_sherd")); - /** * {@code minecraft:ice} * @@ -4492,13 +4651,6 @@ public final class ItemTypeKeys { */ public static final TypedKey LADDER = create(key("ladder")); - /** - * {@code minecraft:lantern} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey LANTERN = create(key("lantern")); - /** * {@code minecraft:lapis_block} * @@ -4520,13 +4672,6 @@ public final class ItemTypeKeys { */ public static final TypedKey LAPIS_ORE = create(key("lapis_ore")); - /** - * {@code minecraft:large_amethyst_bud} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey LARGE_AMETHYST_BUD = create(key("large_amethyst_bud")); - /** * {@code minecraft:large_fern} * @@ -4605,11 +4750,11 @@ public final class ItemTypeKeys { public static final TypedKey LIGHT_BLUE_BED = create(key("light_blue_bed")); /** - * {@code minecraft:light_blue_candle} + * {@code minecraft:light_blue_bundle} * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - public static final TypedKey LIGHT_BLUE_CANDLE = create(key("light_blue_candle")); + public static final TypedKey LIGHT_BLUE_BUNDLE = create(key("light_blue_bundle")); /** * {@code minecraft:light_blue_carpet} @@ -4689,11 +4834,11 @@ public final class ItemTypeKeys { public static final TypedKey LIGHT_GRAY_BED = create(key("light_gray_bed")); /** - * {@code minecraft:light_gray_candle} + * {@code minecraft:light_gray_bundle} * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - public static final TypedKey LIGHT_GRAY_CANDLE = create(key("light_gray_candle")); + public static final TypedKey LIGHT_GRAY_BUNDLE = create(key("light_gray_bundle")); /** * {@code minecraft:light_gray_carpet} @@ -4808,11 +4953,11 @@ public final class ItemTypeKeys { public static final TypedKey LIME_BED = create(key("lime_bed")); /** - * {@code minecraft:lime_candle} + * {@code minecraft:lime_bundle} * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - public static final TypedKey LIME_CANDLE = create(key("lime_candle")); + public static final TypedKey LIME_BUNDLE = create(key("lime_bundle")); /** * {@code minecraft:lime_carpet} @@ -4884,20 +5029,6 @@ public final class ItemTypeKeys { */ public static final TypedKey LIME_WOOL = create(key("lime_wool")); - /** - * {@code minecraft:lodestone} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey LODESTONE = create(key("lodestone")); - - /** - * {@code minecraft:loom} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey LOOM = create(key("loom")); - /** * {@code minecraft:magenta_bed} * @@ -4906,11 +5037,11 @@ public final class ItemTypeKeys { public static final TypedKey MAGENTA_BED = create(key("magenta_bed")); /** - * {@code minecraft:magenta_candle} + * {@code minecraft:magenta_bundle} * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - public static final TypedKey MAGENTA_CANDLE = create(key("magenta_candle")); + public static final TypedKey MAGENTA_BUNDLE = create(key("magenta_bundle")); /** * {@code minecraft:magenta_carpet} @@ -5122,13 +5253,6 @@ public final class ItemTypeKeys { */ public static final TypedKey MANGROVE_WOOD = create(key("mangrove_wood")); - /** - * {@code minecraft:medium_amethyst_bud} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey MEDIUM_AMETHYST_BUD = create(key("medium_amethyst_bud")); - /** * {@code minecraft:melon} * @@ -5164,20 +5288,6 @@ public final class ItemTypeKeys { */ public static final TypedKey MINECART = create(key("minecart")); - /** - * {@code minecraft:miner_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey MINER_POTTERY_SHERD = create(key("miner_pottery_sherd")); - - /** - * {@code minecraft:mojang_banner_pattern} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey MOJANG_BANNER_PATTERN = create(key("mojang_banner_pattern")); - /** * {@code minecraft:moss_block} * @@ -5248,13 +5358,6 @@ public final class ItemTypeKeys { */ public static final TypedKey MOSSY_STONE_BRICKS = create(key("mossy_stone_bricks")); - /** - * {@code minecraft:mourner_pottery_sherd} - * - * @apiNote This field is version-dependant and may be removed in future Minecraft versions - */ - public static final TypedKey MOURNER_POTTERY_SHERD = create(key("mourner_pottery_sherd")); - /** * {@code minecraft:mud} * @@ -5829,6 +5932,13 @@ public final class ItemTypeKeys { */ public static final TypedKey ORANGE_BED = create(key("orange_bed")); + /** + * {@code minecraft:orange_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey ORANGE_BUNDLE = create(key("orange_bundle")); + /** * {@code minecraft:orange_candle} * @@ -6004,6 +6114,186 @@ public final class ItemTypeKeys { */ public static final TypedKey PAINTING = create(key("painting")); + /** + * {@code minecraft:pale_hanging_moss} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_HANGING_MOSS = create(key("pale_hanging_moss")); + + /** + * {@code minecraft:pale_moss_block} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_MOSS_BLOCK = create(key("pale_moss_block")); + + /** + * {@code minecraft:pale_moss_carpet} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_MOSS_CARPET = create(key("pale_moss_carpet")); + + /** + * {@code minecraft:pale_oak_boat} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_BOAT = create(key("pale_oak_boat")); + + /** + * {@code minecraft:pale_oak_button} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_BUTTON = create(key("pale_oak_button")); + + /** + * {@code minecraft:pale_oak_chest_boat} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_CHEST_BOAT = create(key("pale_oak_chest_boat")); + + /** + * {@code minecraft:pale_oak_door} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_DOOR = create(key("pale_oak_door")); + + /** + * {@code minecraft:pale_oak_fence} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_FENCE = create(key("pale_oak_fence")); + + /** + * {@code minecraft:pale_oak_fence_gate} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_FENCE_GATE = create(key("pale_oak_fence_gate")); + + /** + * {@code minecraft:pale_oak_hanging_sign} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_HANGING_SIGN = create(key("pale_oak_hanging_sign")); + + /** + * {@code minecraft:pale_oak_leaves} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_LEAVES = create(key("pale_oak_leaves")); + + /** + * {@code minecraft:pale_oak_log} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_LOG = create(key("pale_oak_log")); + + /** + * {@code minecraft:pale_oak_planks} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_PLANKS = create(key("pale_oak_planks")); + + /** + * {@code minecraft:pale_oak_pressure_plate} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_PRESSURE_PLATE = create(key("pale_oak_pressure_plate")); + + /** + * {@code minecraft:pale_oak_sapling} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_SAPLING = create(key("pale_oak_sapling")); + + /** + * {@code minecraft:pale_oak_sign} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_SIGN = create(key("pale_oak_sign")); + + /** + * {@code minecraft:pale_oak_slab} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_SLAB = create(key("pale_oak_slab")); + + /** + * {@code minecraft:pale_oak_stairs} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_STAIRS = create(key("pale_oak_stairs")); + + /** + * {@code minecraft:pale_oak_trapdoor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_TRAPDOOR = create(key("pale_oak_trapdoor")); + + /** + * {@code minecraft:pale_oak_wood} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey PALE_OAK_WOOD = create(key("pale_oak_wood")); + /** * {@code minecraft:panda_spawn_egg} * @@ -6116,6 +6406,13 @@ public final class ItemTypeKeys { */ public static final TypedKey PINK_BED = create(key("pink_bed")); + /** + * {@code minecraft:pink_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey PINK_BUNDLE = create(key("pink_bundle")); + /** * {@code minecraft:pink_candle} * @@ -6641,6 +6938,13 @@ public final class ItemTypeKeys { */ public static final TypedKey PURPLE_BED = create(key("purple_bed")); + /** + * {@code minecraft:purple_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey PURPLE_BUNDLE = create(key("purple_bundle")); + /** * {@code minecraft:purple_candle} * @@ -6907,6 +7211,13 @@ public final class ItemTypeKeys { */ public static final TypedKey RED_BED = create(key("red_bed")); + /** + * {@code minecraft:red_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey RED_BUNDLE = create(key("red_bundle")); + /** * {@code minecraft:red_candle} * @@ -8097,6 +8408,24 @@ public final class ItemTypeKeys { */ public static final TypedKey STRIPPED_OAK_WOOD = create(key("stripped_oak_wood")); + /** + * {@code minecraft:stripped_pale_oak_log} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey STRIPPED_PALE_OAK_LOG = create(key("stripped_pale_oak_log")); + + /** + * {@code minecraft:stripped_pale_oak_wood} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TypedKey STRIPPED_PALE_OAK_WOOD = create(key("stripped_pale_oak_wood")); + /** * {@code minecraft:stripped_spruce_log} * @@ -9028,6 +9357,13 @@ public final class ItemTypeKeys { */ public static final TypedKey WHITE_BED = create(key("white_bed")); + /** + * {@code minecraft:white_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey WHITE_BUNDLE = create(key("white_bundle")); + /** * {@code minecraft:white_candle} * @@ -9238,6 +9574,13 @@ public final class ItemTypeKeys { */ public static final TypedKey YELLOW_BED = create(key("yellow_bed")); + /** + * {@code minecraft:yellow_bundle} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TypedKey YELLOW_BUNDLE = create(key("yellow_bundle")); + /** * {@code minecraft:yellow_candle} * diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/JukeboxSongKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/JukeboxSongKeys.java index 4789b7e571..c001a5b46e 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/JukeboxSongKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/JukeboxSongKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class JukeboxSongKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/MapDecorationTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/MapDecorationTypeKeys.java index 6aa67743ec..ac4d4b0c64 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/MapDecorationTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/MapDecorationTypeKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class MapDecorationTypeKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/MenuTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/MenuTypeKeys.java index 98e9563029..b2ad502cc9 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/MenuTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/MenuTypeKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class MenuTypeKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java index 621705fe8a..d4f7f8372d 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class MobEffectKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java index a49c8cff2e..902e04a8c9 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class StructureKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureTypeKeys.java index 353c0fa302..5a2547a6a1 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureTypeKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class StructureTypeKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimMaterialKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimMaterialKeys.java index e75f850a31..775ee696bc 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimMaterialKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimMaterialKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class TrimMaterialKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java index 65d2d63e85..f136c6079c 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class TrimPatternKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerProfessionKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerProfessionKeys.java index 6d8d0801bf..9942699938 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerProfessionKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerProfessionKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class VillagerProfessionKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerTypeKeys.java index 524880dbaa..f2033c1164 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/VillagerTypeKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class VillagerTypeKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/WolfVariantKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/WolfVariantKeys.java index 7108d41c8d..ab63580535 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/WolfVariantKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/WolfVariantKeys.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class WolfVariantKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/EnchantmentTagKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/EnchantmentTagKeys.java index 5d2a22742f..e1f25062d4 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/EnchantmentTagKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/EnchantmentTagKeys.java @@ -24,7 +24,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class EnchantmentTagKeys { /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/ItemTypeTagKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/ItemTypeTagKeys.java index b0a153f670..8ec601a311 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/ItemTypeTagKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/tags/ItemTypeTagKeys.java @@ -6,6 +6,7 @@ import io.papermc.paper.generated.GeneratedFrom; import io.papermc.paper.registry.RegistryKey; import io.papermc.paper.registry.tag.TagKey; import net.kyori.adventure.key.Key; +import org.bukkit.MinecraftExperimental; import org.bukkit.inventory.ItemType; import org.checkerframework.checker.nullness.qual.NonNull; import org.jetbrains.annotations.ApiStatus; @@ -23,7 +24,7 @@ import org.jetbrains.annotations.ApiStatus; "unused", "SpellCheckingInspection" }) -@GeneratedFrom("1.21.1") +@GeneratedFrom("1.21.3") @ApiStatus.Experimental public final class ItemTypeTagKeys { /** @@ -131,6 +132,20 @@ public final class ItemTypeTagKeys { */ public static final TagKey BREAKS_DECORATED_POTS = create(key("breaks_decorated_pots")); + /** + * {@code #minecraft:brewing_fuel} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey BREWING_FUEL = create(key("brewing_fuel")); + + /** + * {@code #minecraft:bundles} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey BUNDLES = create(key("bundles")); + /** * {@code #minecraft:buttons} * @@ -292,6 +307,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey DIAMOND_ORES = create(key("diamond_ores")); + /** + * {@code #minecraft:diamond_tool_materials} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey DIAMOND_TOOL_MATERIALS = create(key("diamond_tool_materials")); + /** * {@code #minecraft:dirt} * @@ -306,6 +328,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey DOORS = create(key("doors")); + /** + * {@code #minecraft:duplicates_allays} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey DUPLICATES_ALLAYS = create(key("duplicates_allays")); + /** * {@code #minecraft:dyeable} * @@ -509,6 +538,20 @@ public final class ItemTypeTagKeys { */ public static final TagKey FROG_FOOD = create(key("frog_food")); + /** + * {@code #minecraft:furnace_minecart_fuel} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey FURNACE_MINECART_FUEL = create(key("furnace_minecart_fuel")); + + /** + * {@code #minecraft:gaze_disguise_equipment} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey GAZE_DISGUISE_EQUIPMENT = create(key("gaze_disguise_equipment")); + /** * {@code #minecraft:goat_food} * @@ -523,6 +566,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey GOLD_ORES = create(key("gold_ores")); + /** + * {@code #minecraft:gold_tool_materials} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey GOLD_TOOL_MATERIALS = create(key("gold_tool_materials")); + /** * {@code #minecraft:hanging_signs} * @@ -579,6 +629,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey IRON_ORES = create(key("iron_ores")); + /** + * {@code #minecraft:iron_tool_materials} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey IRON_TOOL_MATERIALS = create(key("iron_tool_materials")); + /** * {@code #minecraft:jungle_logs} * @@ -649,6 +706,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey MANGROVE_LOGS = create(key("mangrove_logs")); + /** + * {@code #minecraft:map_invisibility_equipment} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey MAP_INVISIBILITY_EQUIPMENT = create(key("map_invisibility_equipment")); + /** * {@code #minecraft:meat} * @@ -656,6 +720,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey MEAT = create(key("meat")); + /** + * {@code #minecraft:netherite_tool_materials} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey NETHERITE_TOOL_MATERIALS = create(key("netherite_tool_materials")); + /** * {@code #minecraft:non_flammable_wood} * @@ -684,6 +755,22 @@ public final class ItemTypeTagKeys { */ public static final TagKey OCELOT_FOOD = create(key("ocelot_food")); + /** + * {@code #minecraft:pale_oak_logs} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + @ApiStatus.Experimental + @MinecraftExperimental(MinecraftExperimental.Requires.WINTER_DROP) + public static final TagKey PALE_OAK_LOGS = create(key("pale_oak_logs")); + + /** + * {@code #minecraft:panda_eats_from_ground} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey PANDA_EATS_FROM_GROUND = create(key("panda_eats_from_ground")); + /** * {@code #minecraft:panda_food} * @@ -740,6 +827,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey PIGLIN_REPELLENTS = create(key("piglin_repellents")); + /** + * {@code #minecraft:piglin_safe_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey PIGLIN_SAFE_ARMOR = create(key("piglin_safe_armor")); + /** * {@code #minecraft:planks} * @@ -768,6 +862,62 @@ public final class ItemTypeTagKeys { */ public static final TagKey REDSTONE_ORES = create(key("redstone_ores")); + /** + * {@code #minecraft:repairs_chain_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_CHAIN_ARMOR = create(key("repairs_chain_armor")); + + /** + * {@code #minecraft:repairs_diamond_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_DIAMOND_ARMOR = create(key("repairs_diamond_armor")); + + /** + * {@code #minecraft:repairs_gold_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_GOLD_ARMOR = create(key("repairs_gold_armor")); + + /** + * {@code #minecraft:repairs_iron_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_IRON_ARMOR = create(key("repairs_iron_armor")); + + /** + * {@code #minecraft:repairs_leather_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_LEATHER_ARMOR = create(key("repairs_leather_armor")); + + /** + * {@code #minecraft:repairs_netherite_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_NETHERITE_ARMOR = create(key("repairs_netherite_armor")); + + /** + * {@code #minecraft:repairs_turtle_helmet} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_TURTLE_HELMET = create(key("repairs_turtle_helmet")); + + /** + * {@code #minecraft:repairs_wolf_armor} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey REPAIRS_WOLF_ARMOR = create(key("repairs_wolf_armor")); + /** * {@code #minecraft:sand} * @@ -796,6 +946,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey SHOVELS = create(key("shovels")); + /** + * {@code #minecraft:shulker_boxes} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey SHULKER_BOXES = create(key("shulker_boxes")); + /** * {@code #minecraft:signs} * @@ -957,6 +1114,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey TURTLE_FOOD = create(key("turtle_food")); + /** + * {@code #minecraft:villager_picks_up} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey VILLAGER_PICKS_UP = create(key("villager_picks_up")); + /** * {@code #minecraft:villager_plantable_seeds} * @@ -1034,6 +1198,13 @@ public final class ItemTypeTagKeys { */ public static final TagKey WOODEN_STAIRS = create(key("wooden_stairs")); + /** + * {@code #minecraft:wooden_tool_materials} + * + * @apiNote This field is version-dependant and may be removed in future Minecraft versions + */ + public static final TagKey WOODEN_TOOL_MATERIALS = create(key("wooden_tool_materials")); + /** * {@code #minecraft:wooden_trapdoors} * diff --git a/paper-api-generator/src/main/java/io/papermc/generator/Main.java b/paper-api-generator/src/main/java/io/papermc/generator/Main.java index bec7a0c373..129009f519 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/Main.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/Main.java @@ -7,22 +7,25 @@ import io.papermc.generator.utils.TagCollector; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.List; import java.util.Map; import net.minecraft.SharedConstants; import net.minecraft.commands.Commands; +import net.minecraft.core.HolderLookup; import net.minecraft.core.LayeredRegistryAccess; +import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; import net.minecraft.resources.RegistryDataLoader; import net.minecraft.server.Bootstrap; import net.minecraft.server.RegistryLayer; import net.minecraft.server.ReloadableServerResources; -import net.minecraft.server.WorldLoader; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.repository.Pack; import net.minecraft.server.packs.repository.PackRepository; import net.minecraft.server.packs.repository.ServerPacksSource; import net.minecraft.server.packs.resources.MultiPackResourceManager; import net.minecraft.tags.TagKey; +import net.minecraft.tags.TagLoader; import net.minecraft.world.flag.FeatureFlags; import org.apache.commons.io.file.PathUtils; import org.slf4j.Logger; @@ -42,11 +45,22 @@ public final class Main { resourceRepository.reload(); final MultiPackResourceManager resourceManager = new MultiPackResourceManager(PackType.SERVER_DATA, resourceRepository.getAvailablePacks().stream().map(Pack::open).toList()); LayeredRegistryAccess layers = RegistryLayer.createRegistryAccess(); - layers = WorldLoader.loadAndReplaceLayer(resourceManager, layers, RegistryLayer.WORLDGEN, RegistryDataLoader.WORLDGEN_REGISTRIES); + final List> pendingTags = TagLoader.loadTagsForExistingRegistries(resourceManager, layers.getLayer(RegistryLayer.STATIC)); + final List> worldGenLayer = TagLoader.buildUpdatedLookups(layers.getAccessForLoading(RegistryLayer.WORLDGEN), pendingTags); + final RegistryAccess.Frozen frozenWorldgenRegistries = RegistryDataLoader.load(resourceManager, worldGenLayer, RegistryDataLoader.WORLDGEN_REGISTRIES); + layers = layers.replaceFrom(RegistryLayer.WORLDGEN, frozenWorldgenRegistries); REGISTRY_ACCESS = layers.compositeAccess().freeze(); - final ReloadableServerResources datapack = ReloadableServerResources.loadResources(resourceManager, layers, FeatureFlags.REGISTRY.allFlags(), Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join(); - datapack.updateRegistryTags(); - + final ReloadableServerResources reloadableServerResources = ReloadableServerResources.loadResources( + resourceManager, + layers, + pendingTags, + FeatureFlags.VANILLA_SET, + Commands.CommandSelection.DEDICATED, + 0, + MoreExecutors.directExecutor(), + MoreExecutors.directExecutor() + ).join(); + reloadableServerResources.updateStaticRegistryTags(); EXPERIMENTAL_TAGS = TagCollector.grabExperimental(resourceManager); } diff --git a/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedKeyType.java b/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedKeyType.java index cf6846134a..54ed67b2b7 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedKeyType.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedKeyType.java @@ -23,14 +23,19 @@ import java.util.IdentityHashMap; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import javax.lang.model.SourceVersion; import net.kyori.adventure.key.Key; import net.minecraft.core.Holder; import net.minecraft.core.HolderLookup; import net.minecraft.core.Registry; import net.minecraft.core.RegistrySetBuilder; +import net.minecraft.core.registries.Registries; import net.minecraft.data.registries.VanillaRegistries; +import net.minecraft.data.registries.WinterDropRegistries; import net.minecraft.resources.ResourceKey; import net.minecraft.world.flag.FeatureElement; +import net.minecraft.world.flag.FeatureFlags; +import org.bukkit.MinecraftExperimental; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.framework.qual.DefaultQualifier; @@ -51,7 +56,8 @@ public class GeneratedKeyType extends SimpleGenerator { private static final Map>, RegistrySetBuilder.RegistryBootstrap> VANILLA_REGISTRY_ENTRIES = VanillaRegistries.BUILDER.entries.stream() .collect(Collectors.toMap(RegistrySetBuilder.RegistryStub::key, RegistrySetBuilder.RegistryStub::bootstrap)); - private static final Map>, RegistrySetBuilder.RegistryBootstrap> EXPERIMENTAL_REGISTRY_ENTRIES = Collections.emptyMap(); // Update for Experimental API + private static final Map>, RegistrySetBuilder.RegistryBootstrap> EXPERIMENTAL_REGISTRY_ENTRIES = WinterDropRegistries.BUILDER.entries.stream() + .collect(Collectors.toMap(RegistrySetBuilder.RegistryStub::key, RegistrySetBuilder.RegistryStub::bootstrap)); // Update for Experimental API private static final Map, String> REGISTRY_KEY_FIELD_NAMES; static { @@ -116,6 +122,13 @@ public class GeneratedKeyType extends SimpleGenerator { ); } + @Deprecated + private static final Map JUKEBOX_SONG_NAMES = Map.of( + "5", "FIVE", + "11", "ELEVEN", + "13", "THIRTEEN" + ); + @Override protected TypeSpec getTypeSpec() { final TypeName typedKey = ParameterizedTypeName.get(TypedKey.class, this.apiType); @@ -123,19 +136,23 @@ public class GeneratedKeyType extends SimpleGenerator { final TypeSpec.Builder typeBuilder = this.keyHolderType(); final MethodSpec.Builder createMethod = this.createMethod(typedKey); - final Registry registry = Main.REGISTRY_ACCESS.registryOrThrow(this.registryKey); + final Registry registry = Main.REGISTRY_ACCESS.lookupOrThrow(this.registryKey); final Set> experimental = this.collectExperimentalKeys(registry); boolean allExperimental = true; - for (final Holder.Reference reference : registry.holders().sorted(Formatting.alphabeticKeyOrder(reference -> reference.key().location().getPath())).toList()) { + for (final Holder.Reference reference : registry.listElements().sorted(Formatting.alphabeticKeyOrder(reference -> reference.key().location().getPath())).toList()) { final ResourceKey key = reference.key(); final String keyPath = key.location().getPath(); - final String fieldName = Formatting.formatKeyAsField(keyPath); + String fieldName = Formatting.formatKeyAsField(keyPath); + if (!SourceVersion.isIdentifier(fieldName) && this.registryKey.equals(Registries.JUKEBOX_SONG) && JUKEBOX_SONG_NAMES.containsKey(fieldName)) { + fieldName = JUKEBOX_SONG_NAMES.get(fieldName); + } + final FieldSpec.Builder fieldBuilder = FieldSpec.builder(typedKey, fieldName, PUBLIC, STATIC, FINAL) .initializer("$N(key($S))", createMethod.build(), keyPath) .addJavadoc(Javadocs.getVersionDependentField("{@code $L}"), key.location().toString()); if (experimental.contains(key)) { - fieldBuilder.addAnnotations(experimentalAnnotations(null)); // Update for Experimental API + fieldBuilder.addAnnotations(experimentalAnnotations(MinecraftExperimental.Requires.WINTER_DROP)); // Update for Experimental API } else { allExperimental = false; } @@ -150,6 +167,7 @@ public class GeneratedKeyType extends SimpleGenerator { return typeBuilder.addMethod(createMethod.build()).build(); } + // todo at some point this should be per feature data pack not all merged private Set> collectExperimentalKeys(final Registry registry) { if (FeatureElement.FILTERED_REGISTRIES.contains(registry.key())) { return this.collectExperimentalKeysBuiltIn(registry); @@ -159,8 +177,8 @@ public class GeneratedKeyType extends SimpleGenerator { } private Set> collectExperimentalKeysBuiltIn(final Registry registry) { - final HolderLookup.RegistryLookup filteredLookup = registry.asLookup().filterElements(v -> { - return false; // Update for Experimental API + final HolderLookup.RegistryLookup filteredLookup = registry.filterElements(v -> { + return v instanceof final FeatureElement featureElement && FeatureFlags.isExperimental(featureElement.requiredFeatures()); // Update for Experimental API }); return filteredLookup.listElementIds().collect(Collectors.toUnmodifiableSet()); } diff --git a/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedTagKeyType.java b/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedTagKeyType.java index ff8d8b612c..446611a45d 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedTagKeyType.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/types/GeneratedTagKeyType.java @@ -16,6 +16,7 @@ import io.papermc.paper.registry.tag.TagKey; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import net.kyori.adventure.key.Key; @@ -105,16 +106,17 @@ public class GeneratedTagKeyType extends SimpleGenerator { final TypeSpec.Builder typeBuilder = this.keyHolderType(); final MethodSpec.Builder createMethod = this.createMethod(tagKey); - final Registry registry = Main.REGISTRY_ACCESS.registryOrThrow(this.registryKey); + final Registry registry = Main.REGISTRY_ACCESS.lookupOrThrow(this.registryKey); final AtomicBoolean allExperimental = new AtomicBoolean(true); - registry.getTagNames().sorted(Formatting.alphabeticKeyOrder(nmsTagKey -> nmsTagKey.location().getPath())).forEach(nmsTagKey -> { + registry.listTagIds().sorted(Formatting.alphabeticKeyOrder(nmsTagKey -> nmsTagKey.location().getPath())).forEach(nmsTagKey -> { final String fieldName = Formatting.formatKeyAsField(nmsTagKey.location().getPath()); final FieldSpec.Builder fieldBuilder = FieldSpec.builder(tagKey, fieldName, PUBLIC, STATIC, FINAL) .initializer("$N(key($S))", createMethod.build(), nmsTagKey.location().getPath()) .addJavadoc(Javadocs.getVersionDependentField("{@code $L}"), "#" + nmsTagKey.location()); - if (Main.EXPERIMENTAL_TAGS.containsKey(nmsTagKey)) { - fieldBuilder.addAnnotations(experimentalAnnotations(MinecraftExperimental.Requires.TRADE_REBALANCE)); // Update for Experimental API + final String featureFlagName = Main.EXPERIMENTAL_TAGS.get(nmsTagKey); + if (featureFlagName != null) { + fieldBuilder.addAnnotations(experimentalAnnotations(MinecraftExperimental.Requires.valueOf(featureFlagName.toUpperCase(Locale.ENGLISH)))); // Update for Experimental API } else { allExperimental.set(false); } diff --git a/paper-api-generator/src/main/java/io/papermc/generator/types/SimpleGenerator.java b/paper-api-generator/src/main/java/io/papermc/generator/types/SimpleGenerator.java index b4c1095c84..3608b449f8 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/types/SimpleGenerator.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/types/SimpleGenerator.java @@ -31,5 +31,4 @@ public abstract class SimpleGenerator implements SourceGenerator { builder.build().writeTo(parent, StandardCharsets.UTF_8); } - } diff --git a/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalGenerator.java b/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalGenerator.java index ffe3c48572..86e2294ae7 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalGenerator.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalGenerator.java @@ -1,6 +1,5 @@ package io.papermc.generator.types.goal; -import com.destroystokyo.paper.entity.RangedEntity; import com.destroystokyo.paper.entity.ai.GoalKey; import com.squareup.javapoet.ClassName; import com.squareup.javapoet.FieldSpec; @@ -19,44 +18,10 @@ import io.papermc.generator.utils.Formatting; import io.papermc.generator.utils.Javadocs; import java.util.Comparator; import java.util.List; -import javax.lang.model.element.Modifier; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.ai.goal.WrappedGoal; import org.bukkit.NamespacedKey; -import org.bukkit.entity.AbstractHorse; -import org.bukkit.entity.Blaze; -import org.bukkit.entity.Cat; -import org.bukkit.entity.Creature; -import org.bukkit.entity.Dolphin; -import org.bukkit.entity.Drowned; -import org.bukkit.entity.Enderman; -import org.bukkit.entity.Evoker; -import org.bukkit.entity.Fish; -import org.bukkit.entity.Fox; -import org.bukkit.entity.Ghast; -import org.bukkit.entity.Llama; import org.bukkit.entity.Mob; -import org.bukkit.entity.Monster; -import org.bukkit.entity.Panda; -import org.bukkit.entity.Parrot; -import org.bukkit.entity.PigZombie; -import org.bukkit.entity.PolarBear; -import org.bukkit.entity.Rabbit; -import org.bukkit.entity.Raider; -import org.bukkit.entity.Ravager; -import org.bukkit.entity.Shulker; -import org.bukkit.entity.Silverfish; -import org.bukkit.entity.SkeletonHorse; -import org.bukkit.entity.Slime; -import org.bukkit.entity.Spellcaster; -import org.bukkit.entity.Spider; -import org.bukkit.entity.Squid; -import org.bukkit.entity.Tameable; -import org.bukkit.entity.TraderLlama; -import org.bukkit.entity.Turtle; -import org.bukkit.entity.Vex; -import org.bukkit.entity.Vindicator; -import org.bukkit.entity.WanderingTrader; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.framework.qual.DefaultQualifier; import org.jetbrains.annotations.Nullable; @@ -134,10 +99,4 @@ public class MobGoalGenerator extends SimpleGenerator { protected JavaFile.Builder file(JavaFile.Builder builder) { return builder; } - - record DeprecatedEntry(Class entity, String entryName, @Nullable String removalVersion, - @Nullable String removedVersion) { - - } - } diff --git a/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalNames.java b/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalNames.java index 1bd6342f61..07c6d50719 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalNames.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/types/goal/MobGoalNames.java @@ -236,6 +236,9 @@ public class MobGoalNames { bukkitMap.put(net.minecraft.world.entity.monster.breeze.Breeze.class, org.bukkit.entity.Breeze.class); bukkitMap.put(net.minecraft.world.entity.animal.armadillo.Armadillo.class, org.bukkit.entity.Armadillo.class); bukkitMap.put(net.minecraft.world.entity.monster.Bogged.class, org.bukkit.entity.Bogged.class); + bukkitMap.put(net.minecraft.world.entity.monster.creaking.Creaking.class, org.bukkit.entity.Creaking.class); + bukkitMap.put(net.minecraft.world.entity.monster.creaking.CreakingTransient.class, org.bukkit.entity.CreakingTransient.class); + bukkitMap.put(net.minecraft.world.entity.animal.AgeableWaterCreature.class, org.bukkit.entity.Squid.class); // close enough // } @@ -268,6 +271,7 @@ public class MobGoalNames { name = cut; } } + name = name.replace("PathfinderGoal", ""); name = name.replace("TargetGoal", ""); name = name.replace("Goal", ""); diff --git a/paper-api-generator/src/main/java/io/papermc/generator/utils/CollectingContext.java b/paper-api-generator/src/main/java/io/papermc/generator/utils/CollectingContext.java index bb0687aa24..c2fbaa2a05 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/utils/CollectingContext.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/utils/CollectingContext.java @@ -18,11 +18,11 @@ public record CollectingContext(Set> registered, @Override public Holder.Reference register(final ResourceKey resourceKey, final @NonNull T t, final Lifecycle lifecycle) { this.registered.add(resourceKey); - return Holder.Reference.createStandAlone(this.registry.holderOwner(), resourceKey); + return Holder.Reference.createStandAlone(this.registry, resourceKey); } @Override public HolderGetter lookup(final ResourceKey> resourceKey) { - return Main.REGISTRY_ACCESS.registryOrThrow(resourceKey).asLookup(); + return Main.REGISTRY_ACCESS.lookupOrThrow(resourceKey); } } diff --git a/paper-api-generator/src/main/java/io/papermc/generator/utils/Formatting.java b/paper-api-generator/src/main/java/io/papermc/generator/utils/Formatting.java index 0006e07c53..b703a32455 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/utils/Formatting.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/utils/Formatting.java @@ -1,6 +1,5 @@ package io.papermc.generator.utils; -import java.util.Map; import java.util.Optional; import org.apache.commons.lang3.math.NumberUtils; import java.util.Comparator; @@ -13,13 +12,8 @@ public final class Formatting { private static final Pattern ILLEGAL_FIELD_CHARACTERS = Pattern.compile("[.-/]"); - private static final Map MANUAL_OVERRIDES = Map.of( - "5", "five", - "11", "eleven", - "13", "thirteen" - ); public static String formatKeyAsField(String path) { - return ILLEGAL_FIELD_CHARACTERS.matcher(MANUAL_OVERRIDES.getOrDefault(path, path).toUpperCase(Locale.ROOT)).replaceAll("_"); + return ILLEGAL_FIELD_CHARACTERS.matcher(path.toUpperCase(Locale.ROOT)).replaceAll("_"); } public static Optional formatTagKey(String tagDir, String resourcePath) { diff --git a/paper-api-generator/src/main/java/io/papermc/generator/utils/TagCollector.java b/paper-api-generator/src/main/java/io/papermc/generator/utils/TagCollector.java index 2c537dba93..546e136b4a 100644 --- a/paper-api-generator/src/main/java/io/papermc/generator/utils/TagCollector.java +++ b/paper-api-generator/src/main/java/io/papermc/generator/utils/TagCollector.java @@ -47,7 +47,7 @@ public final class TagCollector { return; } - result.put(entry.value().getTagNames() + result.put(entry.value().listTagIds() .filter(tagKey -> tagKey.location().getPath().equals(path)) .findFirst() .orElseThrow(), packId); diff --git a/paper-api-generator/wideners.at b/paper-api-generator/wideners.at index 6928316973..60a5d241e7 100644 --- a/paper-api-generator/wideners.at +++ b/paper-api-generator/wideners.at @@ -3,5 +3,6 @@ public net/minecraft/server/WorldLoader loadAndReplaceLayer(Lnet/minecraft/serve # for auto-marking experimental stuff public net/minecraft/core/RegistrySetBuilder entries public net/minecraft/core/RegistrySetBuilder$RegistryStub -public net/minecraft/data/registries/UpdateOneTwentyOneRegistries BUILDER public net/minecraft/data/registries/VanillaRegistries BUILDER +public net/minecraft/data/registries/WinterDropRegistries BUILDER +public net/minecraft/data/registries/TradeRebalanceRegistries BUILDER diff --git a/patches/api/0004-Code-Generation.patch b/patches/api/0004-Code-Generation.patch index a53a063810..cc7000b9c6 100644 --- a/patches/api/0004-Code-Generation.patch +++ b/patches/api/0004-Code-Generation.patch @@ -366,13 +366,17 @@ index 0000000000000000000000000000000000000000..99375deaa6b90b33cd6a77e0df651236 +record TypedKeyImpl(Key key, RegistryKey registryKey) implements TypedKey { +} diff --git a/src/main/java/org/bukkit/MinecraftExperimental.java b/src/main/java/org/bukkit/MinecraftExperimental.java -index b7845523e8587e13b86516c0012fe097d904846c..765a691f5b4f91425bb3057ceb4bbff06c6df1e8 100644 +index b7845523e8587e13b86516c0012fe097d904846c..d92a75f610cb2a95203b3f22dc67bdbfb5c3405a 100644 --- a/src/main/java/org/bukkit/MinecraftExperimental.java +++ b/src/main/java/org/bukkit/MinecraftExperimental.java -@@ -48,5 +48,6 @@ public @interface MinecraftExperimental { +@@ -48,5 +48,10 @@ public @interface MinecraftExperimental { public enum Requires { WINTER_DROP, -+ TRADE_REBALANCE // Paper ++ // Paper start ++ TRADE_REBALANCE, ++ REDSTONE_EXPERIMENTS, ++ MINECART_IMPROVEMENTS ++ // Paper end } } diff --git a/patches/api/0427-Experimental-annotations-change.patch b/patches/api/0427-Experimental-annotations-change.patch index 9c079b178f..5660d684ce 100644 --- a/patches/api/0427-Experimental-annotations-change.patch +++ b/patches/api/0427-Experimental-annotations-change.patch @@ -30,6 +30,19 @@ index a96600443a0997c3a696a637422ab66ee1884fb0..20eb27ee041f77f295eb271f878c524c public static final FeatureFlag MINECART_IMPROVEMENTS = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("minecart_improvements")); } +diff --git a/src/main/java/org/bukkit/GameRule.java b/src/main/java/org/bukkit/GameRule.java +index 8b6584fae0a9d5cccbe350d889fa8b4a14c78ca3..89f1820ae94c48f51a44df750904bb285013720c 100644 +--- a/src/main/java/org/bukkit/GameRule.java ++++ b/src/main/java/org/bukkit/GameRule.java +@@ -287,6 +287,8 @@ public final class GameRule implements net.kyori.adventure.translation.Transl + * The maximum speed of minecarts (when the new movement algorithm is + * enabled). + */ ++ @MinecraftExperimental(MinecraftExperimental.Requires.MINECART_IMPROVEMENTS) // Paper - add missing annotation ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation + public static final GameRule MINECART_MAX_SPEED = new GameRule<>("minecartMaxSpeed", Integer.class); + + /** diff --git a/src/main/java/org/bukkit/block/Crafter.java b/src/main/java/org/bukkit/block/Crafter.java index 8d2dd78fc588a6817dfede8040b9909a7d5bde67..f737a2aae3f57a1bfe4cf68ea66f603da4eebd47 100644 --- a/src/main/java/org/bukkit/block/Crafter.java diff --git a/patches/server/0350-Implement-Mob-Goal-API.patch b/patches/server/0350-Implement-Mob-Goal-API.patch index 0c648f76d4..445aa535d1 100644 --- a/patches/server/0350-Implement-Mob-Goal-API.patch +++ b/patches/server/0350-Implement-Mob-Goal-API.patch @@ -18,10 +18,10 @@ index da2f9c5afb2994f403a1128af0f7acbd6b73b862..38585b7f0b8e1e287b37820924a1b0d4 testImplementation("org.hamcrest:hamcrest:2.2") diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java new file mode 100644 -index 0000000000000000000000000000000000000000..c99eafab2103c7f5bca7ffba68a10bd853df055f +index 0000000000000000000000000000000000000000..05e793e722bbb367ca64cd7f26156fa3dabb8474 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java -@@ -0,0 +1,377 @@ +@@ -0,0 +1,380 @@ +package com.destroystokyo.paper.entity.ai; + +import com.destroystokyo.paper.entity.RangedEntity; @@ -271,6 +271,9 @@ index 0000000000000000000000000000000000000000..c99eafab2103c7f5bca7ffba68a10bd8 + bukkitMap.put(Breeze.class, org.bukkit.entity.Breeze.class); + bukkitMap.put(net.minecraft.world.entity.animal.armadillo.Armadillo.class, org.bukkit.entity.Armadillo.class); + bukkitMap.put(net.minecraft.world.entity.monster.Bogged.class, org.bukkit.entity.Bogged.class); ++ bukkitMap.put(net.minecraft.world.entity.monster.creaking.Creaking.class, org.bukkit.entity.Creaking.class); ++ bukkitMap.put(net.minecraft.world.entity.monster.creaking.CreakingTransient.class, org.bukkit.entity.CreakingTransient.class); ++ bukkitMap.put(net.minecraft.world.entity.animal.AgeableWaterCreature.class, org.bukkit.entity.Squid.class); // close enough + } + + public static String getUsableName(Class clazz) { diff --git a/patches/server/0553-Missing-Entity-API.patch b/patches/server/0553-Missing-Entity-API.patch index b583f53191..64f88445fb 100644 --- a/patches/server/0553-Missing-Entity-API.patch +++ b/patches/server/0553-Missing-Entity-API.patch @@ -45,7 +45,7 @@ Co-authored-by: maxcom1 <46265094+maxcom1@users.noreply.github.com> Co-authored-by: TotalledZebra diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java -index c99eafab2103c7f5bca7ffba68a10bd853df055f..f7241c5292f1c012404eea11256813fbc2c2df1a 100644 +index 05e793e722bbb367ca64cd7f26156fa3dabb8474..3470720466fc81f977c18e3a97bb918926025a22 100644 --- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java @@ -164,7 +164,7 @@ public class MobGoalHelper {