From f0fd82b01015c37c30543aaec61fa5255b6060d1 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:25:09 +0900 Subject: [PATCH 01/13] build(versions): add module for 1.21.2 --- settings.gradle.kts | 3 ++- versions/paper-1_21_2/build.gradle.kts | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 versions/paper-1_21_2/build.gradle.kts diff --git a/settings.gradle.kts b/settings.gradle.kts index d0e9c87d30..a853495624 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -55,7 +55,8 @@ val versionSuffix = "version" sequenceOf( "common", "paper-1_20_5", - "paper-1_21" + "paper-1_21", + "paper-1_21_2" ).forEach { include("$boxPrefix-$versionSuffix-$it") project(":$boxPrefix-$versionSuffix-$it").projectDir = file("./versions/$it") diff --git a/versions/paper-1_21_2/build.gradle.kts b/versions/paper-1_21_2/build.gradle.kts new file mode 100644 index 0000000000..43f9c7e051 --- /dev/null +++ b/versions/paper-1_21_2/build.gradle.kts @@ -0,0 +1,5 @@ +plugins { + id("box.versions-paper-conventions") +} + +project.extra["paper.version"] = "1.21.1" From c1c5d2730d14fdcb2c68561af83784babbea5ac4 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:27:42 +0900 Subject: [PATCH 02/13] clean(core): remove material name searching in getByItemStack --- .../box/core/model/manager/item/BukkitBoxItemMap.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/core/src/main/java/net/okocraft/box/core/model/manager/item/BukkitBoxItemMap.java b/core/src/main/java/net/okocraft/box/core/model/manager/item/BukkitBoxItemMap.java index 3b28154d55..ef597006b3 100644 --- a/core/src/main/java/net/okocraft/box/core/model/manager/item/BukkitBoxItemMap.java +++ b/core/src/main/java/net/okocraft/box/core/model/manager/item/BukkitBoxItemMap.java @@ -6,7 +6,6 @@ import net.okocraft.box.api.event.BoxEvent; import net.okocraft.box.api.event.item.ItemImportEvent; import net.okocraft.box.api.model.item.BoxItem; -import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -60,10 +59,6 @@ boolean isRegistered(@NotNull ItemStack itemStack) { @Nullable BoxItem getByItemStack(@NotNull ItemStack item) { Objects.requireNonNull(item); - if (!item.hasItemMeta() && item.getType() != Material.FIREWORK_ROCKET) { - return this.getByItemName(item.getType().name()); - } - var one = item.getAmount() == 1 ? item : item.asOne(); { From 05ad891ce79024a39d6e2e45f91abb9394725d98 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:44:58 +0900 Subject: [PATCH 03/13] feat(versions): define default items for 1.21.2 and 1.21.3 --- versions/paper-1_21_2/build.gradle.kts | 2 +- .../version/paper_1_21_2/Paper_1_21_2.java | 40 +++++++++++++++++++ .../version/paper_1_21_3/Paper_1_21_3.java | 25 ++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_2/Paper_1_21_2.java create mode 100644 versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_3/Paper_1_21_3.java diff --git a/versions/paper-1_21_2/build.gradle.kts b/versions/paper-1_21_2/build.gradle.kts index 43f9c7e051..628c9f5ef4 100644 --- a/versions/paper-1_21_2/build.gradle.kts +++ b/versions/paper-1_21_2/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("box.versions-paper-conventions") } -project.extra["paper.version"] = "1.21.1" +project.extra["paper.version"] = "1.21.3" diff --git a/versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_2/Paper_1_21_2.java b/versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_2/Paper_1_21_2.java new file mode 100644 index 0000000000..c3f2319e0c --- /dev/null +++ b/versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_2/Paper_1_21_2.java @@ -0,0 +1,40 @@ +package net.okocraft.box.version.paper_1_21_2; + +import io.papermc.paper.registry.RegistryAccess; +import io.papermc.paper.registry.RegistryKey; +import net.okocraft.box.ap.annotation.version.VersionSpecific; +import net.okocraft.box.api.util.MCDataVersion; +import net.okocraft.box.storage.api.model.item.provider.DefaultItem; +import net.okocraft.box.version.common.item.ItemSources; +import org.bukkit.Keyed; +import org.bukkit.Registry; +import org.jetbrains.annotations.NotNull; + +import java.util.stream.Stream; + +@VersionSpecific +public final class Paper_1_21_2 { + + @VersionSpecific.Version + public static final MCDataVersion VERSION = MCDataVersion.MC_1_21_2; + + @VersionSpecific.DefaultItemSource + public static @NotNull Stream defaultItems() { + return new ItemSources.Merger() + .append(ItemSources.itemTypes(registry(RegistryKey.ITEM))) + .append(ItemSources.potions(registry(RegistryKey.POTION))) + .append(ItemSources.enchantedBooks(registry(RegistryKey.ENCHANTMENT))) + .append(ItemSources.fireworks()) + .append(ItemSources.goatHorns(registry(RegistryKey.INSTRUMENT))) + .append(ItemSources.ominousBottles()) + .result(); + } + + private static @NotNull Registry registry(@NotNull RegistryKey key) { + return RegistryAccess.registryAccess().getRegistry(key); + } + + private Paper_1_21_2() { + throw new UnsupportedOperationException(); + } +} diff --git a/versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_3/Paper_1_21_3.java b/versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_3/Paper_1_21_3.java new file mode 100644 index 0000000000..2fd23b633c --- /dev/null +++ b/versions/paper-1_21_2/src/main/java/net/okocraft/box/version/paper_1_21_3/Paper_1_21_3.java @@ -0,0 +1,25 @@ +package net.okocraft.box.version.paper_1_21_3; + +import net.okocraft.box.ap.annotation.version.VersionSpecific; +import net.okocraft.box.api.util.MCDataVersion; +import net.okocraft.box.storage.api.model.item.provider.DefaultItem; +import net.okocraft.box.version.paper_1_21_2.Paper_1_21_2; +import org.jetbrains.annotations.NotNull; + +import java.util.stream.Stream; + +@VersionSpecific +public final class Paper_1_21_3 { + + @VersionSpecific.Version + public static final MCDataVersion VERSION = MCDataVersion.MC_1_21_3; + + @VersionSpecific.DefaultItemSource + public static @NotNull Stream defaultItems() { + return Paper_1_21_2.defaultItems(); + } + + private Paper_1_21_3() { + throw new UnsupportedOperationException(); + } +} From fdf266ace79b57e105cc7106c565e6621f074ef8 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:47:48 +0900 Subject: [PATCH 04/13] refactor(versions-common): use World#isEnabled(FeatureDependent) instead of ItemType#isEnabledByFeature --- .../java/net/okocraft/box/version/common/item/ItemSources.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/common/src/main/java/net/okocraft/box/version/common/item/ItemSources.java b/versions/common/src/main/java/net/okocraft/box/version/common/item/ItemSources.java index a7d61d775b..7dcecb32b7 100644 --- a/versions/common/src/main/java/net/okocraft/box/version/common/item/ItemSources.java +++ b/versions/common/src/main/java/net/okocraft/box/version/common/item/ItemSources.java @@ -29,7 +29,7 @@ public final class ItemSources { var excludedTypes = Set.of(ItemType.AIR, ItemType.GOAT_HORN, ItemType.FIREWORK_ROCKET, ItemType.OMINOUS_BOTTLE); return registry.stream() .filter(Predicate.not(excludedTypes::contains)) - .filter(type -> type.isEnabledByFeature(world)) + .filter(world::isEnabled) .map(type -> new DefaultItem(ItemNameGenerator.key(type), ItemStack.of(type.asMaterial(), 1))); // FIXME: remove asMaterial in the future } From c2ddf5c395e7858bcbcc7ce8a060516a72701dfd Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:50:18 +0900 Subject: [PATCH 05/13] build(*): update paper-api to 1.21.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index db4ed04899..d81fdb06bc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,7 +22,7 @@ slf4j = "2.0.16" sqlite-jdbc = "3.47.0.0" # platform api -paper = "1.21.1-R0.1-SNAPSHOT" +paper = "1.21.3-R0.1-SNAPSHOT" paper-javadoc = "1.21" # plugin api From 328f61454852148cdb0cf71ff85abb73706563b9 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:51:12 +0900 Subject: [PATCH 06/13] refactor(data-generator): use MCDataVersion#current to get data version --- .../java/net/okocraft/box/datagenerator/DataGenerator.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data-generator/src/main/java/net/okocraft/box/datagenerator/DataGenerator.java b/data-generator/src/main/java/net/okocraft/box/datagenerator/DataGenerator.java index 65cb0a9dac..7010e04f40 100644 --- a/data-generator/src/main/java/net/okocraft/box/datagenerator/DataGenerator.java +++ b/data-generator/src/main/java/net/okocraft/box/datagenerator/DataGenerator.java @@ -78,7 +78,6 @@ public void newDefaultItems(@NotNull Path dir, @NotNull String prev) throws IOEx } } - @SuppressWarnings("deprecation") public void uncategorizedItems(@NotNull Path dir) throws IOException { var categorizedItems = DefaultCategories.loadDefaultCategories(MCDataVersion.current()) @@ -93,7 +92,7 @@ public void uncategorizedItems(@NotNull Path dir) throws IOException { .forEach(name -> { try { writer.write(" - "); - writer.write(String.valueOf(Bukkit.getUnsafe().getDataVersion())); + writer.write(String.valueOf(MCDataVersion.current().dataVersion())); writer.write(":"); writer.write(name); writer.newLine(); From e526c8c483302e0d0ff88fedfa69fc12d478e0de Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:53:59 +0900 Subject: [PATCH 07/13] build(*): remove unused libraries --- gradle/libs.versions.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d81fdb06bc..930cdf1285 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,5 @@ [versions] # common libraries -adventure = "4.17.0" annotations = "26.0.1" configapi = "5.0.0-beta.2" event4j = "4.0.1" @@ -34,9 +33,7 @@ worldguard = "7.0.12" [libraries] # common libraries -adventure = { module = "net.kyori:adventure-api", version.ref = "adventure" } annotations = { module = "org.jetbrains:annotations", version.ref = "annotations" } -configapi-core = { module = "com.github.siroshun09.configapi:configapi-core", version.ref = "configapi" } configapi-format-yaml = { module = "com.github.siroshun09.configapi:configapi-format-yaml", version.ref = "configapi" } event4j = { module = "dev.siroshun.event4j:event4j-tree", version.ref = "event4j" } fastutil = { module = "it.unimi.dsi:fastutil", version.ref = "fastutil" } From 143df978c806f12dd040266a3183550930d2c420 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:55:56 +0900 Subject: [PATCH 08/13] refactor(api): revert `checkClickEvent` method --- .../net/okocraft/box/api/transaction/WithdrawalImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/net/okocraft/box/api/transaction/WithdrawalImpl.java b/api/src/main/java/net/okocraft/box/api/transaction/WithdrawalImpl.java index eefdad31d9..7617881f3b 100644 --- a/api/src/main/java/net/okocraft/box/api/transaction/WithdrawalImpl.java +++ b/api/src/main/java/net/okocraft/box/api/transaction/WithdrawalImpl.java @@ -40,7 +40,7 @@ record WithdrawalImpl(@NotNull StockHolder stockHolder, @NotNull BoxItem boxItem var item = contents[i]; if (item == null) { - if (view != null && !checkClickEvent(view, i)) { + if (view != null && fireClickEventAndCheckCancelled(view, i)) { continue; } @@ -53,7 +53,7 @@ record WithdrawalImpl(@NotNull StockHolder stockHolder, @NotNull BoxItem boxItem withdrawnAmount += withdrawn; contents[i] = this.boxItem.getOriginal().asQuantity(withdrawn); } else if (item.isSimilar(this.boxItem.getOriginal())) { - if (view != null && !checkClickEvent(view, i)) { + if (view != null && fireClickEventAndCheckCancelled(view, i)) { continue; } @@ -79,7 +79,7 @@ record WithdrawalImpl(@NotNull StockHolder stockHolder, @NotNull BoxItem boxItem return TransactionResult.create(this.boxItem, withdrawnAmount); } - private static boolean checkClickEvent(@NotNull InventoryView view, int slot) { - return new InventoryClickEvent(view, InventoryType.SlotType.CONTAINER, slot, ClickType.LEFT, InventoryAction.PLACE_ALL).callEvent(); + private static boolean fireClickEventAndCheckCancelled(@NotNull InventoryView view, int slot) { + return !new InventoryClickEvent(view, InventoryType.SlotType.CONTAINER, slot, ClickType.LEFT, InventoryAction.PLACE_ALL).callEvent(); } } From 793beea1b830f2cddbc9420c6ba98639a6cdfe2d Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 01:57:05 +0900 Subject: [PATCH 09/13] build(annotation-processor): remove unused module dependencies --- annotation-processor/build.gradle.kts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/annotation-processor/build.gradle.kts b/annotation-processor/build.gradle.kts index b270a0854c..b57feb326b 100644 --- a/annotation-processor/build.gradle.kts +++ b/annotation-processor/build.gradle.kts @@ -1,8 +1,3 @@ plugins { id("box.common-conventions") } - -dependencies { - implementation(projects.boxApi) - implementation(projects.boxVersionCommon) -} From fdc9a9c16837cd84a524b312b1e87a5be0852017 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Sat, 26 Oct 2024 23:14:07 +0900 Subject: [PATCH 10/13] chore: generate 1.21.3 items and add new items to default_categories.yml --- .../main/resources/generated/items/1.21.3.txt | 1589 +++++++++++++++++ .../src/main/resources/default_categories.yml | 18 + 2 files changed, 1607 insertions(+) create mode 100644 data-generator/src/main/resources/generated/items/1.21.3.txt diff --git a/data-generator/src/main/resources/generated/items/1.21.3.txt b/data-generator/src/main/resources/generated/items/1.21.3.txt new file mode 100644 index 0000000000..b6a34fb771 --- /dev/null +++ b/data-generator/src/main/resources/generated/items/1.21.3.txt @@ -0,0 +1,1589 @@ +ACACIA_BOAT +ACACIA_BUTTON +ACACIA_CHEST_BOAT +ACACIA_DOOR +ACACIA_FENCE +ACACIA_FENCE_GATE +ACACIA_HANGING_SIGN +ACACIA_LEAVES +ACACIA_LOG +ACACIA_PLANKS +ACACIA_PRESSURE_PLATE +ACACIA_SAPLING +ACACIA_SIGN +ACACIA_SLAB +ACACIA_STAIRS +ACACIA_TRAPDOOR +ACACIA_WOOD +ACTIVATOR_RAIL +ADMIRE_GOAT_HORN +ALLAY_SPAWN_EGG +ALLIUM +AMETHYST_BLOCK +AMETHYST_CLUSTER +AMETHYST_SHARD +ANCIENT_DEBRIS +ANDESITE +ANDESITE_SLAB +ANDESITE_STAIRS +ANDESITE_WALL +ANGLER_POTTERY_SHERD +ANVIL +APPLE +ARCHER_POTTERY_SHERD +ARMADILLO_SCUTE +ARMADILLO_SPAWN_EGG +ARMOR_STAND +ARMS_UP_POTTERY_SHERD +ARROW +AXOLOTL_BUCKET +AXOLOTL_SPAWN_EGG +AZALEA +AZALEA_LEAVES +AZURE_BLUET +BAKED_POTATO +BAMBOO +BAMBOO_BLOCK +BAMBOO_BUTTON +BAMBOO_CHEST_RAFT +BAMBOO_DOOR +BAMBOO_FENCE +BAMBOO_FENCE_GATE +BAMBOO_HANGING_SIGN +BAMBOO_MOSAIC +BAMBOO_MOSAIC_SLAB +BAMBOO_MOSAIC_STAIRS +BAMBOO_PLANKS +BAMBOO_PRESSURE_PLATE +BAMBOO_RAFT +BAMBOO_SIGN +BAMBOO_SLAB +BAMBOO_STAIRS +BAMBOO_TRAPDOOR +BARREL +BARRIER +BASALT +BAT_SPAWN_EGG +BEACON +BEDROCK +BEEF +BEEHIVE +BEETROOT +BEETROOT_SEEDS +BEETROOT_SOUP +BEE_NEST +BEE_SPAWN_EGG +BELL +BIG_DRIPLEAF +BIRCH_BOAT +BIRCH_BUTTON +BIRCH_CHEST_BOAT +BIRCH_DOOR +BIRCH_FENCE +BIRCH_FENCE_GATE +BIRCH_HANGING_SIGN +BIRCH_LEAVES +BIRCH_LOG +BIRCH_PLANKS +BIRCH_PRESSURE_PLATE +BIRCH_SAPLING +BIRCH_SIGN +BIRCH_SLAB +BIRCH_STAIRS +BIRCH_TRAPDOOR +BIRCH_WOOD +BLACKSTONE +BLACKSTONE_SLAB +BLACKSTONE_STAIRS +BLACKSTONE_WALL +BLACK_BANNER +BLACK_BED +BLACK_BUNDLE +BLACK_CANDLE +BLACK_CARPET +BLACK_CONCRETE +BLACK_CONCRETE_POWDER +BLACK_DYE +BLACK_GLAZED_TERRACOTTA +BLACK_SHULKER_BOX +BLACK_STAINED_GLASS +BLACK_STAINED_GLASS_PANE +BLACK_TERRACOTTA +BLACK_WOOL +BLADE_POTTERY_SHERD +BLAST_FURNACE +BLAZE_POWDER +BLAZE_ROD +BLAZE_SPAWN_EGG +BLUE_BANNER +BLUE_BED +BLUE_BUNDLE +BLUE_CANDLE +BLUE_CARPET +BLUE_CONCRETE +BLUE_CONCRETE_POWDER +BLUE_DYE +BLUE_GLAZED_TERRACOTTA +BLUE_ICE +BLUE_ORCHID +BLUE_SHULKER_BOX +BLUE_STAINED_GLASS +BLUE_STAINED_GLASS_PANE +BLUE_TERRACOTTA +BLUE_WOOL +BOGGED_SPAWN_EGG +BOLT_ARMOR_TRIM_SMITHING_TEMPLATE +BONE +BONE_BLOCK +BONE_MEAL +BOOK +BOOKSHELF +BORDURE_INDENTED_BANNER_PATTERN +BOW +BOWL +BRAIN_CORAL +BRAIN_CORAL_BLOCK +BRAIN_CORAL_FAN +BREAD +BREEZE_ROD +BREEZE_SPAWN_EGG +BREWER_POTTERY_SHERD +BREWING_STAND +BRICK +BRICKS +BRICK_SLAB +BRICK_STAIRS +BRICK_WALL +BROWN_BANNER +BROWN_BED +BROWN_BUNDLE +BROWN_CANDLE +BROWN_CARPET +BROWN_CONCRETE +BROWN_CONCRETE_POWDER +BROWN_DYE +BROWN_GLAZED_TERRACOTTA +BROWN_MUSHROOM +BROWN_MUSHROOM_BLOCK +BROWN_SHULKER_BOX +BROWN_STAINED_GLASS +BROWN_STAINED_GLASS_PANE +BROWN_TERRACOTTA +BROWN_WOOL +BRUSH +BUBBLE_CORAL +BUBBLE_CORAL_BLOCK +BUBBLE_CORAL_FAN +BUCKET +BUDDING_AMETHYST +BUNDLE +BURN_POTTERY_SHERD +CACTUS +CAKE +CALCITE +CALIBRATED_SCULK_SENSOR +CALL_GOAT_HORN +CAMEL_SPAWN_EGG +CAMPFIRE +CANDLE +CARROT +CARROT_ON_A_STICK +CARTOGRAPHY_TABLE +CARVED_PUMPKIN +CAT_SPAWN_EGG +CAULDRON +CAVE_SPIDER_SPAWN_EGG +CHAIN +CHAINMAIL_BOOTS +CHAINMAIL_CHESTPLATE +CHAINMAIL_HELMET +CHAINMAIL_LEGGINGS +CHAIN_COMMAND_BLOCK +CHARCOAL +CHERRY_BOAT +CHERRY_BUTTON +CHERRY_CHEST_BOAT +CHERRY_DOOR +CHERRY_FENCE +CHERRY_FENCE_GATE +CHERRY_HANGING_SIGN +CHERRY_LEAVES +CHERRY_LOG +CHERRY_PLANKS +CHERRY_PRESSURE_PLATE +CHERRY_SAPLING +CHERRY_SIGN +CHERRY_SLAB +CHERRY_STAIRS +CHERRY_TRAPDOOR +CHERRY_WOOD +CHEST +CHEST_MINECART +CHICKEN +CHICKEN_SPAWN_EGG +CHIPPED_ANVIL +CHISELED_BOOKSHELF +CHISELED_COPPER +CHISELED_DEEPSLATE +CHISELED_NETHER_BRICKS +CHISELED_POLISHED_BLACKSTONE +CHISELED_QUARTZ_BLOCK +CHISELED_RED_SANDSTONE +CHISELED_SANDSTONE +CHISELED_STONE_BRICKS +CHISELED_TUFF +CHISELED_TUFF_BRICKS +CHORUS_FLOWER +CHORUS_FRUIT +CHORUS_PLANT +CLAY +CLAY_BALL +CLOCK +COAL +COAL_BLOCK +COAL_ORE +COARSE_DIRT +COAST_ARMOR_TRIM_SMITHING_TEMPLATE +COBBLED_DEEPSLATE +COBBLED_DEEPSLATE_SLAB +COBBLED_DEEPSLATE_STAIRS +COBBLED_DEEPSLATE_WALL +COBBLESTONE +COBBLESTONE_SLAB +COBBLESTONE_STAIRS +COBBLESTONE_WALL +COBWEB +COCOA_BEANS +COD +COD_BUCKET +COD_SPAWN_EGG +COMMAND_BLOCK +COMMAND_BLOCK_MINECART +COMPARATOR +COMPASS +COMPOSTER +CONDUIT +COOKED_BEEF +COOKED_CHICKEN +COOKED_COD +COOKED_MUTTON +COOKED_PORKCHOP +COOKED_RABBIT +COOKED_SALMON +COOKIE +COPPER_BLOCK +COPPER_BULB +COPPER_DOOR +COPPER_GRATE +COPPER_INGOT +COPPER_ORE +COPPER_TRAPDOOR +CORNFLOWER +COW_SPAWN_EGG +CRACKED_DEEPSLATE_BRICKS +CRACKED_DEEPSLATE_TILES +CRACKED_NETHER_BRICKS +CRACKED_POLISHED_BLACKSTONE_BRICKS +CRACKED_STONE_BRICKS +CRAFTER +CRAFTING_TABLE +CREEPER_BANNER_PATTERN +CREEPER_HEAD +CREEPER_SPAWN_EGG +CRIMSON_BUTTON +CRIMSON_DOOR +CRIMSON_FENCE +CRIMSON_FENCE_GATE +CRIMSON_FUNGUS +CRIMSON_HANGING_SIGN +CRIMSON_HYPHAE +CRIMSON_NYLIUM +CRIMSON_PLANKS +CRIMSON_PRESSURE_PLATE +CRIMSON_ROOTS +CRIMSON_SIGN +CRIMSON_SLAB +CRIMSON_STAIRS +CRIMSON_STEM +CRIMSON_TRAPDOOR +CROSSBOW +CRYING_OBSIDIAN +CUT_COPPER +CUT_COPPER_SLAB +CUT_COPPER_STAIRS +CUT_RED_SANDSTONE +CUT_RED_SANDSTONE_SLAB +CUT_SANDSTONE +CUT_SANDSTONE_SLAB +CYAN_BANNER +CYAN_BED +CYAN_BUNDLE +CYAN_CANDLE +CYAN_CARPET +CYAN_CONCRETE +CYAN_CONCRETE_POWDER +CYAN_DYE +CYAN_GLAZED_TERRACOTTA +CYAN_SHULKER_BOX +CYAN_STAINED_GLASS +CYAN_STAINED_GLASS_PANE +CYAN_TERRACOTTA +CYAN_WOOL +DAMAGED_ANVIL +DANDELION +DANGER_POTTERY_SHERD +DARK_OAK_BOAT +DARK_OAK_BUTTON +DARK_OAK_CHEST_BOAT +DARK_OAK_DOOR +DARK_OAK_FENCE +DARK_OAK_FENCE_GATE +DARK_OAK_HANGING_SIGN +DARK_OAK_LEAVES +DARK_OAK_LOG +DARK_OAK_PLANKS +DARK_OAK_PRESSURE_PLATE +DARK_OAK_SAPLING +DARK_OAK_SIGN +DARK_OAK_SLAB +DARK_OAK_STAIRS +DARK_OAK_TRAPDOOR +DARK_OAK_WOOD +DARK_PRISMARINE +DARK_PRISMARINE_SLAB +DARK_PRISMARINE_STAIRS +DAYLIGHT_DETECTOR +DEAD_BRAIN_CORAL +DEAD_BRAIN_CORAL_BLOCK +DEAD_BRAIN_CORAL_FAN +DEAD_BUBBLE_CORAL +DEAD_BUBBLE_CORAL_BLOCK +DEAD_BUBBLE_CORAL_FAN +DEAD_BUSH +DEAD_FIRE_CORAL +DEAD_FIRE_CORAL_BLOCK +DEAD_FIRE_CORAL_FAN +DEAD_HORN_CORAL +DEAD_HORN_CORAL_BLOCK +DEAD_HORN_CORAL_FAN +DEAD_TUBE_CORAL +DEAD_TUBE_CORAL_BLOCK +DEAD_TUBE_CORAL_FAN +DEBUG_STICK +DECORATED_POT +DEEPSLATE +DEEPSLATE_BRICKS +DEEPSLATE_BRICK_SLAB +DEEPSLATE_BRICK_STAIRS +DEEPSLATE_BRICK_WALL +DEEPSLATE_COAL_ORE +DEEPSLATE_COPPER_ORE +DEEPSLATE_DIAMOND_ORE +DEEPSLATE_EMERALD_ORE +DEEPSLATE_GOLD_ORE +DEEPSLATE_IRON_ORE +DEEPSLATE_LAPIS_ORE +DEEPSLATE_REDSTONE_ORE +DEEPSLATE_TILES +DEEPSLATE_TILE_SLAB +DEEPSLATE_TILE_STAIRS +DEEPSLATE_TILE_WALL +DETECTOR_RAIL +DIAMOND +DIAMOND_AXE +DIAMOND_BLOCK +DIAMOND_BOOTS +DIAMOND_CHESTPLATE +DIAMOND_HELMET +DIAMOND_HOE +DIAMOND_HORSE_ARMOR +DIAMOND_LEGGINGS +DIAMOND_ORE +DIAMOND_PICKAXE +DIAMOND_SHOVEL +DIAMOND_SWORD +DIORITE +DIORITE_SLAB +DIORITE_STAIRS +DIORITE_WALL +DIRT +DIRT_PATH +DISC_FRAGMENT_5 +DISPENSER +DOLPHIN_SPAWN_EGG +DONKEY_SPAWN_EGG +DRAGON_BREATH +DRAGON_EGG +DRAGON_HEAD +DREAM_GOAT_HORN +DRIED_KELP +DRIED_KELP_BLOCK +DRIPSTONE_BLOCK +DROPPER +DROWNED_SPAWN_EGG +DUNE_ARMOR_TRIM_SMITHING_TEMPLATE +ECHO_SHARD +EGG +ELDER_GUARDIAN_SPAWN_EGG +ELYTRA +EMERALD +EMERALD_BLOCK +EMERALD_ORE +ENCHANTED_BOOK +ENCHANTED_BOOK_AQUA_AFFINITY +ENCHANTED_BOOK_BANE_OF_ARTHROPODS +ENCHANTED_BOOK_BINDING_CURSE +ENCHANTED_BOOK_BLAST_PROTECTION +ENCHANTED_BOOK_BREACH +ENCHANTED_BOOK_CHANNELING +ENCHANTED_BOOK_DENSITY +ENCHANTED_BOOK_DEPTH_STRIDER +ENCHANTED_BOOK_EFFICIENCY +ENCHANTED_BOOK_FEATHER_FALLING +ENCHANTED_BOOK_FIRE_ASPECT +ENCHANTED_BOOK_FIRE_PROTECTION +ENCHANTED_BOOK_FLAME +ENCHANTED_BOOK_FORTUNE +ENCHANTED_BOOK_FROST_WALKER +ENCHANTED_BOOK_IMPALING +ENCHANTED_BOOK_INFINITY +ENCHANTED_BOOK_KNOCKBACK +ENCHANTED_BOOK_LOOTING +ENCHANTED_BOOK_LOYALTY +ENCHANTED_BOOK_LUCK_OF_THE_SEA +ENCHANTED_BOOK_LURE +ENCHANTED_BOOK_MENDING +ENCHANTED_BOOK_MULTISHOT +ENCHANTED_BOOK_PIERCING +ENCHANTED_BOOK_POWER +ENCHANTED_BOOK_PROJECTILE_PROTECTION +ENCHANTED_BOOK_PROTECTION +ENCHANTED_BOOK_PUNCH +ENCHANTED_BOOK_QUICK_CHARGE +ENCHANTED_BOOK_RESPIRATION +ENCHANTED_BOOK_RIPTIDE +ENCHANTED_BOOK_SHARPNESS +ENCHANTED_BOOK_SILK_TOUCH +ENCHANTED_BOOK_SMITE +ENCHANTED_BOOK_SOUL_SPEED +ENCHANTED_BOOK_SWEEPING_EDGE +ENCHANTED_BOOK_SWIFT_SNEAK +ENCHANTED_BOOK_THORNS +ENCHANTED_BOOK_UNBREAKING +ENCHANTED_BOOK_VANISHING_CURSE +ENCHANTED_BOOK_WIND_BURST +ENCHANTED_GOLDEN_APPLE +ENCHANTING_TABLE +ENDERMAN_SPAWN_EGG +ENDERMITE_SPAWN_EGG +ENDER_CHEST +ENDER_DRAGON_SPAWN_EGG +ENDER_EYE +ENDER_PEARL +END_CRYSTAL +END_PORTAL_FRAME +END_ROD +END_STONE +END_STONE_BRICKS +END_STONE_BRICK_SLAB +END_STONE_BRICK_STAIRS +END_STONE_BRICK_WALL +EVOKER_SPAWN_EGG +EXPERIENCE_BOTTLE +EXPLORER_POTTERY_SHERD +EXPOSED_CHISELED_COPPER +EXPOSED_COPPER +EXPOSED_COPPER_BULB +EXPOSED_COPPER_DOOR +EXPOSED_COPPER_GRATE +EXPOSED_COPPER_TRAPDOOR +EXPOSED_CUT_COPPER +EXPOSED_CUT_COPPER_SLAB +EXPOSED_CUT_COPPER_STAIRS +EYE_ARMOR_TRIM_SMITHING_TEMPLATE +FARMLAND +FEATHER +FEEL_GOAT_HORN +FERMENTED_SPIDER_EYE +FERN +FIELD_MASONED_BANNER_PATTERN +FILLED_MAP +FIREWORK_ROCKET_1 +FIREWORK_ROCKET_2 +FIREWORK_ROCKET_3 +FIREWORK_STAR +FIRE_CHARGE +FIRE_CORAL +FIRE_CORAL_BLOCK +FIRE_CORAL_FAN +FISHING_ROD +FLETCHING_TABLE +FLINT +FLINT_AND_STEEL +FLOWERING_AZALEA +FLOWERING_AZALEA_LEAVES +FLOWER_BANNER_PATTERN +FLOWER_POT +FLOW_ARMOR_TRIM_SMITHING_TEMPLATE +FLOW_BANNER_PATTERN +FLOW_POTTERY_SHERD +FOX_SPAWN_EGG +FRIEND_POTTERY_SHERD +FROGSPAWN +FROG_SPAWN_EGG +FURNACE +FURNACE_MINECART +GHAST_SPAWN_EGG +GHAST_TEAR +GILDED_BLACKSTONE +GLASS +GLASS_BOTTLE +GLASS_PANE +GLISTERING_MELON_SLICE +GLOBE_BANNER_PATTERN +GLOWSTONE +GLOWSTONE_DUST +GLOW_BERRIES +GLOW_INK_SAC +GLOW_ITEM_FRAME +GLOW_LICHEN +GLOW_SQUID_SPAWN_EGG +GOAT_SPAWN_EGG +GOLDEN_APPLE +GOLDEN_AXE +GOLDEN_BOOTS +GOLDEN_CARROT +GOLDEN_CHESTPLATE +GOLDEN_HELMET +GOLDEN_HOE +GOLDEN_HORSE_ARMOR +GOLDEN_LEGGINGS +GOLDEN_PICKAXE +GOLDEN_SHOVEL +GOLDEN_SWORD +GOLD_BLOCK +GOLD_INGOT +GOLD_NUGGET +GOLD_ORE +GRANITE +GRANITE_SLAB +GRANITE_STAIRS +GRANITE_WALL +GRASS_BLOCK +GRAVEL +GRAY_BANNER +GRAY_BED +GRAY_BUNDLE +GRAY_CANDLE +GRAY_CARPET +GRAY_CONCRETE +GRAY_CONCRETE_POWDER +GRAY_DYE +GRAY_GLAZED_TERRACOTTA +GRAY_SHULKER_BOX +GRAY_STAINED_GLASS +GRAY_STAINED_GLASS_PANE +GRAY_TERRACOTTA +GRAY_WOOL +GREEN_BANNER +GREEN_BED +GREEN_BUNDLE +GREEN_CANDLE +GREEN_CARPET +GREEN_CONCRETE +GREEN_CONCRETE_POWDER +GREEN_DYE +GREEN_GLAZED_TERRACOTTA +GREEN_SHULKER_BOX +GREEN_STAINED_GLASS +GREEN_STAINED_GLASS_PANE +GREEN_TERRACOTTA +GREEN_WOOL +GRINDSTONE +GUARDIAN_SPAWN_EGG +GUNPOWDER +GUSTER_BANNER_PATTERN +GUSTER_POTTERY_SHERD +HANGING_ROOTS +HAY_BLOCK +HEARTBREAK_POTTERY_SHERD +HEART_OF_THE_SEA +HEART_POTTERY_SHERD +HEAVY_CORE +HEAVY_WEIGHTED_PRESSURE_PLATE +HOGLIN_SPAWN_EGG +HONEYCOMB +HONEYCOMB_BLOCK +HONEY_BLOCK +HONEY_BOTTLE +HOPPER +HOPPER_MINECART +HORN_CORAL +HORN_CORAL_BLOCK +HORN_CORAL_FAN +HORSE_SPAWN_EGG +HOST_ARMOR_TRIM_SMITHING_TEMPLATE +HOWL_POTTERY_SHERD +HUSK_SPAWN_EGG +ICE +INFESTED_CHISELED_STONE_BRICKS +INFESTED_COBBLESTONE +INFESTED_CRACKED_STONE_BRICKS +INFESTED_DEEPSLATE +INFESTED_MOSSY_STONE_BRICKS +INFESTED_STONE +INFESTED_STONE_BRICKS +INK_SAC +IRON_AXE +IRON_BARS +IRON_BLOCK +IRON_BOOTS +IRON_CHESTPLATE +IRON_DOOR +IRON_GOLEM_SPAWN_EGG +IRON_HELMET +IRON_HOE +IRON_HORSE_ARMOR +IRON_INGOT +IRON_LEGGINGS +IRON_NUGGET +IRON_ORE +IRON_PICKAXE +IRON_SHOVEL +IRON_SWORD +IRON_TRAPDOOR +ITEM_FRAME +JACK_O_LANTERN +JIGSAW +JUKEBOX +JUNGLE_BOAT +JUNGLE_BUTTON +JUNGLE_CHEST_BOAT +JUNGLE_DOOR +JUNGLE_FENCE +JUNGLE_FENCE_GATE +JUNGLE_HANGING_SIGN +JUNGLE_LEAVES +JUNGLE_LOG +JUNGLE_PLANKS +JUNGLE_PRESSURE_PLATE +JUNGLE_SAPLING +JUNGLE_SIGN +JUNGLE_SLAB +JUNGLE_STAIRS +JUNGLE_TRAPDOOR +JUNGLE_WOOD +KELP +KNOWLEDGE_BOOK +LADDER +LANTERN +LAPIS_BLOCK +LAPIS_LAZULI +LAPIS_ORE +LARGE_AMETHYST_BUD +LARGE_FERN +LAVA_BUCKET +LEAD +LEATHER +LEATHER_BOOTS +LEATHER_CHESTPLATE +LEATHER_HELMET +LEATHER_HORSE_ARMOR +LEATHER_LEGGINGS +LECTERN +LEVER +LIGHT +LIGHTNING_ROD +LIGHT_BLUE_BANNER +LIGHT_BLUE_BED +LIGHT_BLUE_BUNDLE +LIGHT_BLUE_CANDLE +LIGHT_BLUE_CARPET +LIGHT_BLUE_CONCRETE +LIGHT_BLUE_CONCRETE_POWDER +LIGHT_BLUE_DYE +LIGHT_BLUE_GLAZED_TERRACOTTA +LIGHT_BLUE_SHULKER_BOX +LIGHT_BLUE_STAINED_GLASS +LIGHT_BLUE_STAINED_GLASS_PANE +LIGHT_BLUE_TERRACOTTA +LIGHT_BLUE_WOOL +LIGHT_GRAY_BANNER +LIGHT_GRAY_BED +LIGHT_GRAY_BUNDLE +LIGHT_GRAY_CANDLE +LIGHT_GRAY_CARPET +LIGHT_GRAY_CONCRETE +LIGHT_GRAY_CONCRETE_POWDER +LIGHT_GRAY_DYE +LIGHT_GRAY_GLAZED_TERRACOTTA +LIGHT_GRAY_SHULKER_BOX +LIGHT_GRAY_STAINED_GLASS +LIGHT_GRAY_STAINED_GLASS_PANE +LIGHT_GRAY_TERRACOTTA +LIGHT_GRAY_WOOL +LIGHT_WEIGHTED_PRESSURE_PLATE +LILAC +LILY_OF_THE_VALLEY +LILY_PAD +LIME_BANNER +LIME_BED +LIME_BUNDLE +LIME_CANDLE +LIME_CARPET +LIME_CONCRETE +LIME_CONCRETE_POWDER +LIME_DYE +LIME_GLAZED_TERRACOTTA +LIME_SHULKER_BOX +LIME_STAINED_GLASS +LIME_STAINED_GLASS_PANE +LIME_TERRACOTTA +LIME_WOOL +LINGERING_POTION +LINGERING_POTION_AWKWARD +LINGERING_POTION_FIRE_RESISTANCE +LINGERING_POTION_HARMING +LINGERING_POTION_HEALING +LINGERING_POTION_INFESTED +LINGERING_POTION_INVISIBILITY +LINGERING_POTION_LEAPING +LINGERING_POTION_LONG_FIRE_RESISTANCE +LINGERING_POTION_LONG_INVISIBILITY +LINGERING_POTION_LONG_LEAPING +LINGERING_POTION_LONG_NIGHT_VISION +LINGERING_POTION_LONG_POISON +LINGERING_POTION_LONG_REGENERATION +LINGERING_POTION_LONG_SLOWNESS +LINGERING_POTION_LONG_SLOW_FALLING +LINGERING_POTION_LONG_STRENGTH +LINGERING_POTION_LONG_SWIFTNESS +LINGERING_POTION_LONG_TURTLE_MASTER +LINGERING_POTION_LONG_WATER_BREATHING +LINGERING_POTION_LONG_WEAKNESS +LINGERING_POTION_LUCK +LINGERING_POTION_MUNDANE +LINGERING_POTION_NIGHT_VISION +LINGERING_POTION_OOZING +LINGERING_POTION_POISON +LINGERING_POTION_REGENERATION +LINGERING_POTION_SLOWNESS +LINGERING_POTION_SLOW_FALLING +LINGERING_POTION_STRENGTH +LINGERING_POTION_STRONG_HARMING +LINGERING_POTION_STRONG_HEALING +LINGERING_POTION_STRONG_LEAPING +LINGERING_POTION_STRONG_POISON +LINGERING_POTION_STRONG_REGENERATION +LINGERING_POTION_STRONG_SLOWNESS +LINGERING_POTION_STRONG_STRENGTH +LINGERING_POTION_STRONG_SWIFTNESS +LINGERING_POTION_STRONG_TURTLE_MASTER +LINGERING_POTION_SWIFTNESS +LINGERING_POTION_THICK +LINGERING_POTION_TURTLE_MASTER +LINGERING_POTION_WATER +LINGERING_POTION_WATER_BREATHING +LINGERING_POTION_WEAKNESS +LINGERING_POTION_WEAVING +LINGERING_POTION_WIND_CHARGED +LLAMA_SPAWN_EGG +LODESTONE +LOOM +MACE +MAGENTA_BANNER +MAGENTA_BED +MAGENTA_BUNDLE +MAGENTA_CANDLE +MAGENTA_CARPET +MAGENTA_CONCRETE +MAGENTA_CONCRETE_POWDER +MAGENTA_DYE +MAGENTA_GLAZED_TERRACOTTA +MAGENTA_SHULKER_BOX +MAGENTA_STAINED_GLASS +MAGENTA_STAINED_GLASS_PANE +MAGENTA_TERRACOTTA +MAGENTA_WOOL +MAGMA_BLOCK +MAGMA_CREAM +MAGMA_CUBE_SPAWN_EGG +MANGROVE_BOAT +MANGROVE_BUTTON +MANGROVE_CHEST_BOAT +MANGROVE_DOOR +MANGROVE_FENCE +MANGROVE_FENCE_GATE +MANGROVE_HANGING_SIGN +MANGROVE_LEAVES +MANGROVE_LOG +MANGROVE_PLANKS +MANGROVE_PRESSURE_PLATE +MANGROVE_PROPAGULE +MANGROVE_ROOTS +MANGROVE_SIGN +MANGROVE_SLAB +MANGROVE_STAIRS +MANGROVE_TRAPDOOR +MANGROVE_WOOD +MAP +MEDIUM_AMETHYST_BUD +MELON +MELON_SEEDS +MELON_SLICE +MILK_BUCKET +MINECART +MINER_POTTERY_SHERD +MOJANG_BANNER_PATTERN +MOOSHROOM_SPAWN_EGG +MOSSY_COBBLESTONE +MOSSY_COBBLESTONE_SLAB +MOSSY_COBBLESTONE_STAIRS +MOSSY_COBBLESTONE_WALL +MOSSY_STONE_BRICKS +MOSSY_STONE_BRICK_SLAB +MOSSY_STONE_BRICK_STAIRS +MOSSY_STONE_BRICK_WALL +MOSS_BLOCK +MOSS_CARPET +MOURNER_POTTERY_SHERD +MUD +MUDDY_MANGROVE_ROOTS +MUD_BRICKS +MUD_BRICK_SLAB +MUD_BRICK_STAIRS +MUD_BRICK_WALL +MULE_SPAWN_EGG +MUSHROOM_STEM +MUSHROOM_STEW +MUSIC_DISC_11 +MUSIC_DISC_13 +MUSIC_DISC_5 +MUSIC_DISC_BLOCKS +MUSIC_DISC_CAT +MUSIC_DISC_CHIRP +MUSIC_DISC_CREATOR +MUSIC_DISC_CREATOR_MUSIC_BOX +MUSIC_DISC_FAR +MUSIC_DISC_MALL +MUSIC_DISC_MELLOHI +MUSIC_DISC_OTHERSIDE +MUSIC_DISC_PIGSTEP +MUSIC_DISC_PRECIPICE +MUSIC_DISC_RELIC +MUSIC_DISC_STAL +MUSIC_DISC_STRAD +MUSIC_DISC_WAIT +MUSIC_DISC_WARD +MUTTON +MYCELIUM +NAME_TAG +NAUTILUS_SHELL +NETHERITE_AXE +NETHERITE_BLOCK +NETHERITE_BOOTS +NETHERITE_CHESTPLATE +NETHERITE_HELMET +NETHERITE_HOE +NETHERITE_INGOT +NETHERITE_LEGGINGS +NETHERITE_PICKAXE +NETHERITE_SCRAP +NETHERITE_SHOVEL +NETHERITE_SWORD +NETHERITE_UPGRADE_SMITHING_TEMPLATE +NETHERRACK +NETHER_BRICK +NETHER_BRICKS +NETHER_BRICK_FENCE +NETHER_BRICK_SLAB +NETHER_BRICK_STAIRS +NETHER_BRICK_WALL +NETHER_GOLD_ORE +NETHER_QUARTZ_ORE +NETHER_SPROUTS +NETHER_STAR +NETHER_WART +NETHER_WART_BLOCK +NOTE_BLOCK +OAK_BOAT +OAK_BUTTON +OAK_CHEST_BOAT +OAK_DOOR +OAK_FENCE +OAK_FENCE_GATE +OAK_HANGING_SIGN +OAK_LEAVES +OAK_LOG +OAK_PLANKS +OAK_PRESSURE_PLATE +OAK_SAPLING +OAK_SIGN +OAK_SLAB +OAK_STAIRS +OAK_TRAPDOOR +OAK_WOOD +OBSERVER +OBSIDIAN +OCELOT_SPAWN_EGG +OCHRE_FROGLIGHT +OMINOUS_BOTTLE_1 +OMINOUS_BOTTLE_2 +OMINOUS_BOTTLE_3 +OMINOUS_BOTTLE_4 +OMINOUS_BOTTLE_5 +OMINOUS_TRIAL_KEY +ORANGE_BANNER +ORANGE_BED +ORANGE_BUNDLE +ORANGE_CANDLE +ORANGE_CARPET +ORANGE_CONCRETE +ORANGE_CONCRETE_POWDER +ORANGE_DYE +ORANGE_GLAZED_TERRACOTTA +ORANGE_SHULKER_BOX +ORANGE_STAINED_GLASS +ORANGE_STAINED_GLASS_PANE +ORANGE_TERRACOTTA +ORANGE_TULIP +ORANGE_WOOL +OXEYE_DAISY +OXIDIZED_CHISELED_COPPER +OXIDIZED_COPPER +OXIDIZED_COPPER_BULB +OXIDIZED_COPPER_DOOR +OXIDIZED_COPPER_GRATE +OXIDIZED_COPPER_TRAPDOOR +OXIDIZED_CUT_COPPER +OXIDIZED_CUT_COPPER_SLAB +OXIDIZED_CUT_COPPER_STAIRS +PACKED_ICE +PACKED_MUD +PAINTING +PANDA_SPAWN_EGG +PAPER +PARROT_SPAWN_EGG +PEARLESCENT_FROGLIGHT +PEONY +PETRIFIED_OAK_SLAB +PHANTOM_MEMBRANE +PHANTOM_SPAWN_EGG +PIGLIN_BANNER_PATTERN +PIGLIN_BRUTE_SPAWN_EGG +PIGLIN_HEAD +PIGLIN_SPAWN_EGG +PIG_SPAWN_EGG +PILLAGER_SPAWN_EGG +PINK_BANNER +PINK_BED +PINK_BUNDLE +PINK_CANDLE +PINK_CARPET +PINK_CONCRETE +PINK_CONCRETE_POWDER +PINK_DYE +PINK_GLAZED_TERRACOTTA +PINK_PETALS +PINK_SHULKER_BOX +PINK_STAINED_GLASS +PINK_STAINED_GLASS_PANE +PINK_TERRACOTTA +PINK_TULIP +PINK_WOOL +PISTON +PITCHER_PLANT +PITCHER_POD +PLAYER_HEAD +PLENTY_POTTERY_SHERD +PODZOL +POINTED_DRIPSTONE +POISONOUS_POTATO +POLAR_BEAR_SPAWN_EGG +POLISHED_ANDESITE +POLISHED_ANDESITE_SLAB +POLISHED_ANDESITE_STAIRS +POLISHED_BASALT +POLISHED_BLACKSTONE +POLISHED_BLACKSTONE_BRICKS +POLISHED_BLACKSTONE_BRICK_SLAB +POLISHED_BLACKSTONE_BRICK_STAIRS +POLISHED_BLACKSTONE_BRICK_WALL +POLISHED_BLACKSTONE_BUTTON +POLISHED_BLACKSTONE_PRESSURE_PLATE +POLISHED_BLACKSTONE_SLAB +POLISHED_BLACKSTONE_STAIRS +POLISHED_BLACKSTONE_WALL +POLISHED_DEEPSLATE +POLISHED_DEEPSLATE_SLAB +POLISHED_DEEPSLATE_STAIRS +POLISHED_DEEPSLATE_WALL +POLISHED_DIORITE +POLISHED_DIORITE_SLAB +POLISHED_DIORITE_STAIRS +POLISHED_GRANITE +POLISHED_GRANITE_SLAB +POLISHED_GRANITE_STAIRS +POLISHED_TUFF +POLISHED_TUFF_SLAB +POLISHED_TUFF_STAIRS +POLISHED_TUFF_WALL +PONDER_GOAT_HORN +POPPED_CHORUS_FRUIT +POPPY +PORKCHOP +POTATO +POTION +POTION_AWKWARD +POTION_FIRE_RESISTANCE +POTION_HARMING +POTION_HEALING +POTION_INFESTED +POTION_INVISIBILITY +POTION_LEAPING +POTION_LONG_FIRE_RESISTANCE +POTION_LONG_INVISIBILITY +POTION_LONG_LEAPING +POTION_LONG_NIGHT_VISION +POTION_LONG_POISON +POTION_LONG_REGENERATION +POTION_LONG_SLOWNESS +POTION_LONG_SLOW_FALLING +POTION_LONG_STRENGTH +POTION_LONG_SWIFTNESS +POTION_LONG_TURTLE_MASTER +POTION_LONG_WATER_BREATHING +POTION_LONG_WEAKNESS +POTION_LUCK +POTION_MUNDANE +POTION_NIGHT_VISION +POTION_OOZING +POTION_POISON +POTION_REGENERATION +POTION_SLOWNESS +POTION_SLOW_FALLING +POTION_STRENGTH +POTION_STRONG_HARMING +POTION_STRONG_HEALING +POTION_STRONG_LEAPING +POTION_STRONG_POISON +POTION_STRONG_REGENERATION +POTION_STRONG_SLOWNESS +POTION_STRONG_STRENGTH +POTION_STRONG_SWIFTNESS +POTION_STRONG_TURTLE_MASTER +POTION_SWIFTNESS +POTION_THICK +POTION_TURTLE_MASTER +POTION_WATER +POTION_WATER_BREATHING +POTION_WEAKNESS +POTION_WEAVING +POTION_WIND_CHARGED +POWDER_SNOW_BUCKET +POWERED_RAIL +PRISMARINE +PRISMARINE_BRICKS +PRISMARINE_BRICK_SLAB +PRISMARINE_BRICK_STAIRS +PRISMARINE_CRYSTALS +PRISMARINE_SHARD +PRISMARINE_SLAB +PRISMARINE_STAIRS +PRISMARINE_WALL +PRIZE_POTTERY_SHERD +PUFFERFISH +PUFFERFISH_BUCKET +PUFFERFISH_SPAWN_EGG +PUMPKIN +PUMPKIN_PIE +PUMPKIN_SEEDS +PURPLE_BANNER +PURPLE_BED +PURPLE_BUNDLE +PURPLE_CANDLE +PURPLE_CARPET +PURPLE_CONCRETE +PURPLE_CONCRETE_POWDER +PURPLE_DYE +PURPLE_GLAZED_TERRACOTTA +PURPLE_SHULKER_BOX +PURPLE_STAINED_GLASS +PURPLE_STAINED_GLASS_PANE +PURPLE_TERRACOTTA +PURPLE_WOOL +PURPUR_BLOCK +PURPUR_PILLAR +PURPUR_SLAB +PURPUR_STAIRS +QUARTZ +QUARTZ_BLOCK +QUARTZ_BRICKS +QUARTZ_PILLAR +QUARTZ_SLAB +QUARTZ_STAIRS +RABBIT +RABBIT_FOOT +RABBIT_HIDE +RABBIT_SPAWN_EGG +RABBIT_STEW +RAIL +RAISER_ARMOR_TRIM_SMITHING_TEMPLATE +RAVAGER_SPAWN_EGG +RAW_COPPER +RAW_COPPER_BLOCK +RAW_GOLD +RAW_GOLD_BLOCK +RAW_IRON +RAW_IRON_BLOCK +RECOVERY_COMPASS +REDSTONE +REDSTONE_BLOCK +REDSTONE_LAMP +REDSTONE_ORE +REDSTONE_TORCH +RED_BANNER +RED_BED +RED_BUNDLE +RED_CANDLE +RED_CARPET +RED_CONCRETE +RED_CONCRETE_POWDER +RED_DYE +RED_GLAZED_TERRACOTTA +RED_MUSHROOM +RED_MUSHROOM_BLOCK +RED_NETHER_BRICKS +RED_NETHER_BRICK_SLAB +RED_NETHER_BRICK_STAIRS +RED_NETHER_BRICK_WALL +RED_SAND +RED_SANDSTONE +RED_SANDSTONE_SLAB +RED_SANDSTONE_STAIRS +RED_SANDSTONE_WALL +RED_SHULKER_BOX +RED_STAINED_GLASS +RED_STAINED_GLASS_PANE +RED_TERRACOTTA +RED_TULIP +RED_WOOL +REINFORCED_DEEPSLATE +REPEATER +REPEATING_COMMAND_BLOCK +RESPAWN_ANCHOR +RIB_ARMOR_TRIM_SMITHING_TEMPLATE +ROOTED_DIRT +ROSE_BUSH +ROTTEN_FLESH +SADDLE +SALMON +SALMON_BUCKET +SALMON_SPAWN_EGG +SAND +SANDSTONE +SANDSTONE_SLAB +SANDSTONE_STAIRS +SANDSTONE_WALL +SCAFFOLDING +SCRAPE_POTTERY_SHERD +SCULK +SCULK_CATALYST +SCULK_SENSOR +SCULK_SHRIEKER +SCULK_VEIN +SEAGRASS +SEA_LANTERN +SEA_PICKLE +SEEK_GOAT_HORN +SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE +SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE +SHEAF_POTTERY_SHERD +SHEARS +SHEEP_SPAWN_EGG +SHELTER_POTTERY_SHERD +SHIELD +SHORT_GRASS +SHROOMLIGHT +SHULKER_BOX +SHULKER_SHELL +SHULKER_SPAWN_EGG +SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE +SILVERFISH_SPAWN_EGG +SING_GOAT_HORN +SKELETON_HORSE_SPAWN_EGG +SKELETON_SKULL +SKELETON_SPAWN_EGG +SKULL_BANNER_PATTERN +SKULL_POTTERY_SHERD +SLIME_BALL +SLIME_BLOCK +SLIME_SPAWN_EGG +SMALL_AMETHYST_BUD +SMALL_DRIPLEAF +SMITHING_TABLE +SMOKER +SMOOTH_BASALT +SMOOTH_QUARTZ +SMOOTH_QUARTZ_SLAB +SMOOTH_QUARTZ_STAIRS +SMOOTH_RED_SANDSTONE +SMOOTH_RED_SANDSTONE_SLAB +SMOOTH_RED_SANDSTONE_STAIRS +SMOOTH_SANDSTONE +SMOOTH_SANDSTONE_SLAB +SMOOTH_SANDSTONE_STAIRS +SMOOTH_STONE +SMOOTH_STONE_SLAB +SNIFFER_EGG +SNIFFER_SPAWN_EGG +SNORT_POTTERY_SHERD +SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE +SNOW +SNOWBALL +SNOW_BLOCK +SNOW_GOLEM_SPAWN_EGG +SOUL_CAMPFIRE +SOUL_LANTERN +SOUL_SAND +SOUL_SOIL +SOUL_TORCH +SPAWNER +SPECTRAL_ARROW +SPIDER_EYE +SPIDER_SPAWN_EGG +SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE +SPLASH_POTION +SPLASH_POTION_AWKWARD +SPLASH_POTION_FIRE_RESISTANCE +SPLASH_POTION_HARMING +SPLASH_POTION_HEALING +SPLASH_POTION_INFESTED +SPLASH_POTION_INVISIBILITY +SPLASH_POTION_LEAPING +SPLASH_POTION_LONG_FIRE_RESISTANCE +SPLASH_POTION_LONG_INVISIBILITY +SPLASH_POTION_LONG_LEAPING +SPLASH_POTION_LONG_NIGHT_VISION +SPLASH_POTION_LONG_POISON +SPLASH_POTION_LONG_REGENERATION +SPLASH_POTION_LONG_SLOWNESS +SPLASH_POTION_LONG_SLOW_FALLING +SPLASH_POTION_LONG_STRENGTH +SPLASH_POTION_LONG_SWIFTNESS +SPLASH_POTION_LONG_TURTLE_MASTER +SPLASH_POTION_LONG_WATER_BREATHING +SPLASH_POTION_LONG_WEAKNESS +SPLASH_POTION_LUCK +SPLASH_POTION_MUNDANE +SPLASH_POTION_NIGHT_VISION +SPLASH_POTION_OOZING +SPLASH_POTION_POISON +SPLASH_POTION_REGENERATION +SPLASH_POTION_SLOWNESS +SPLASH_POTION_SLOW_FALLING +SPLASH_POTION_STRENGTH +SPLASH_POTION_STRONG_HARMING +SPLASH_POTION_STRONG_HEALING +SPLASH_POTION_STRONG_LEAPING +SPLASH_POTION_STRONG_POISON +SPLASH_POTION_STRONG_REGENERATION +SPLASH_POTION_STRONG_SLOWNESS +SPLASH_POTION_STRONG_STRENGTH +SPLASH_POTION_STRONG_SWIFTNESS +SPLASH_POTION_STRONG_TURTLE_MASTER +SPLASH_POTION_SWIFTNESS +SPLASH_POTION_THICK +SPLASH_POTION_TURTLE_MASTER +SPLASH_POTION_WATER +SPLASH_POTION_WATER_BREATHING +SPLASH_POTION_WEAKNESS +SPLASH_POTION_WEAVING +SPLASH_POTION_WIND_CHARGED +SPONGE +SPORE_BLOSSOM +SPRUCE_BOAT +SPRUCE_BUTTON +SPRUCE_CHEST_BOAT +SPRUCE_DOOR +SPRUCE_FENCE +SPRUCE_FENCE_GATE +SPRUCE_HANGING_SIGN +SPRUCE_LEAVES +SPRUCE_LOG +SPRUCE_PLANKS +SPRUCE_PRESSURE_PLATE +SPRUCE_SAPLING +SPRUCE_SIGN +SPRUCE_SLAB +SPRUCE_STAIRS +SPRUCE_TRAPDOOR +SPRUCE_WOOD +SPYGLASS +SQUID_SPAWN_EGG +STICK +STICKY_PISTON +STONE +STONECUTTER +STONE_AXE +STONE_BRICKS +STONE_BRICK_SLAB +STONE_BRICK_STAIRS +STONE_BRICK_WALL +STONE_BUTTON +STONE_HOE +STONE_PICKAXE +STONE_PRESSURE_PLATE +STONE_SHOVEL +STONE_SLAB +STONE_STAIRS +STONE_SWORD +STRAY_SPAWN_EGG +STRIDER_SPAWN_EGG +STRING +STRIPPED_ACACIA_LOG +STRIPPED_ACACIA_WOOD +STRIPPED_BAMBOO_BLOCK +STRIPPED_BIRCH_LOG +STRIPPED_BIRCH_WOOD +STRIPPED_CHERRY_LOG +STRIPPED_CHERRY_WOOD +STRIPPED_CRIMSON_HYPHAE +STRIPPED_CRIMSON_STEM +STRIPPED_DARK_OAK_LOG +STRIPPED_DARK_OAK_WOOD +STRIPPED_JUNGLE_LOG +STRIPPED_JUNGLE_WOOD +STRIPPED_MANGROVE_LOG +STRIPPED_MANGROVE_WOOD +STRIPPED_OAK_LOG +STRIPPED_OAK_WOOD +STRIPPED_SPRUCE_LOG +STRIPPED_SPRUCE_WOOD +STRIPPED_WARPED_HYPHAE +STRIPPED_WARPED_STEM +STRUCTURE_BLOCK +STRUCTURE_VOID +SUGAR +SUGAR_CANE +SUNFLOWER +SUSPICIOUS_GRAVEL +SUSPICIOUS_SAND +SUSPICIOUS_STEW +SWEET_BERRIES +TADPOLE_BUCKET +TADPOLE_SPAWN_EGG +TALL_GRASS +TARGET +TERRACOTTA +TIDE_ARMOR_TRIM_SMITHING_TEMPLATE +TINTED_GLASS +TIPPED_ARROW +TIPPED_ARROW_AWKWARD +TIPPED_ARROW_FIRE_RESISTANCE +TIPPED_ARROW_HARMING +TIPPED_ARROW_HEALING +TIPPED_ARROW_INFESTED +TIPPED_ARROW_INVISIBILITY +TIPPED_ARROW_LEAPING +TIPPED_ARROW_LONG_FIRE_RESISTANCE +TIPPED_ARROW_LONG_INVISIBILITY +TIPPED_ARROW_LONG_LEAPING +TIPPED_ARROW_LONG_NIGHT_VISION +TIPPED_ARROW_LONG_POISON +TIPPED_ARROW_LONG_REGENERATION +TIPPED_ARROW_LONG_SLOWNESS +TIPPED_ARROW_LONG_SLOW_FALLING +TIPPED_ARROW_LONG_STRENGTH +TIPPED_ARROW_LONG_SWIFTNESS +TIPPED_ARROW_LONG_TURTLE_MASTER +TIPPED_ARROW_LONG_WATER_BREATHING +TIPPED_ARROW_LONG_WEAKNESS +TIPPED_ARROW_LUCK +TIPPED_ARROW_MUNDANE +TIPPED_ARROW_NIGHT_VISION +TIPPED_ARROW_OOZING +TIPPED_ARROW_POISON +TIPPED_ARROW_REGENERATION +TIPPED_ARROW_SLOWNESS +TIPPED_ARROW_SLOW_FALLING +TIPPED_ARROW_STRENGTH +TIPPED_ARROW_STRONG_HARMING +TIPPED_ARROW_STRONG_HEALING +TIPPED_ARROW_STRONG_LEAPING +TIPPED_ARROW_STRONG_POISON +TIPPED_ARROW_STRONG_REGENERATION +TIPPED_ARROW_STRONG_SLOWNESS +TIPPED_ARROW_STRONG_STRENGTH +TIPPED_ARROW_STRONG_SWIFTNESS +TIPPED_ARROW_STRONG_TURTLE_MASTER +TIPPED_ARROW_SWIFTNESS +TIPPED_ARROW_THICK +TIPPED_ARROW_TURTLE_MASTER +TIPPED_ARROW_WATER +TIPPED_ARROW_WATER_BREATHING +TIPPED_ARROW_WEAKNESS +TIPPED_ARROW_WEAVING +TIPPED_ARROW_WIND_CHARGED +TNT +TNT_MINECART +TORCH +TORCHFLOWER +TORCHFLOWER_SEEDS +TOTEM_OF_UNDYING +TRADER_LLAMA_SPAWN_EGG +TRAPPED_CHEST +TRIAL_KEY +TRIAL_SPAWNER +TRIDENT +TRIPWIRE_HOOK +TROPICAL_FISH +TROPICAL_FISH_BUCKET +TROPICAL_FISH_SPAWN_EGG +TUBE_CORAL +TUBE_CORAL_BLOCK +TUBE_CORAL_FAN +TUFF +TUFF_BRICKS +TUFF_BRICK_SLAB +TUFF_BRICK_STAIRS +TUFF_BRICK_WALL +TUFF_SLAB +TUFF_STAIRS +TUFF_WALL +TURTLE_EGG +TURTLE_HELMET +TURTLE_SCUTE +TURTLE_SPAWN_EGG +TWISTING_VINES +VAULT +VERDANT_FROGLIGHT +VEX_ARMOR_TRIM_SMITHING_TEMPLATE +VEX_SPAWN_EGG +VILLAGER_SPAWN_EGG +VINDICATOR_SPAWN_EGG +VINE +WANDERING_TRADER_SPAWN_EGG +WARDEN_SPAWN_EGG +WARD_ARMOR_TRIM_SMITHING_TEMPLATE +WARPED_BUTTON +WARPED_DOOR +WARPED_FENCE +WARPED_FENCE_GATE +WARPED_FUNGUS +WARPED_FUNGUS_ON_A_STICK +WARPED_HANGING_SIGN +WARPED_HYPHAE +WARPED_NYLIUM +WARPED_PLANKS +WARPED_PRESSURE_PLATE +WARPED_ROOTS +WARPED_SIGN +WARPED_SLAB +WARPED_STAIRS +WARPED_STEM +WARPED_TRAPDOOR +WARPED_WART_BLOCK +WATER_BUCKET +WAXED_CHISELED_COPPER +WAXED_COPPER_BLOCK +WAXED_COPPER_BULB +WAXED_COPPER_DOOR +WAXED_COPPER_GRATE +WAXED_COPPER_TRAPDOOR +WAXED_CUT_COPPER +WAXED_CUT_COPPER_SLAB +WAXED_CUT_COPPER_STAIRS +WAXED_EXPOSED_CHISELED_COPPER +WAXED_EXPOSED_COPPER +WAXED_EXPOSED_COPPER_BULB +WAXED_EXPOSED_COPPER_DOOR +WAXED_EXPOSED_COPPER_GRATE +WAXED_EXPOSED_COPPER_TRAPDOOR +WAXED_EXPOSED_CUT_COPPER +WAXED_EXPOSED_CUT_COPPER_SLAB +WAXED_EXPOSED_CUT_COPPER_STAIRS +WAXED_OXIDIZED_CHISELED_COPPER +WAXED_OXIDIZED_COPPER +WAXED_OXIDIZED_COPPER_BULB +WAXED_OXIDIZED_COPPER_DOOR +WAXED_OXIDIZED_COPPER_GRATE +WAXED_OXIDIZED_COPPER_TRAPDOOR +WAXED_OXIDIZED_CUT_COPPER +WAXED_OXIDIZED_CUT_COPPER_SLAB +WAXED_OXIDIZED_CUT_COPPER_STAIRS +WAXED_WEATHERED_CHISELED_COPPER +WAXED_WEATHERED_COPPER +WAXED_WEATHERED_COPPER_BULB +WAXED_WEATHERED_COPPER_DOOR +WAXED_WEATHERED_COPPER_GRATE +WAXED_WEATHERED_COPPER_TRAPDOOR +WAXED_WEATHERED_CUT_COPPER +WAXED_WEATHERED_CUT_COPPER_SLAB +WAXED_WEATHERED_CUT_COPPER_STAIRS +WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE +WEATHERED_CHISELED_COPPER +WEATHERED_COPPER +WEATHERED_COPPER_BULB +WEATHERED_COPPER_DOOR +WEATHERED_COPPER_GRATE +WEATHERED_COPPER_TRAPDOOR +WEATHERED_CUT_COPPER +WEATHERED_CUT_COPPER_SLAB +WEATHERED_CUT_COPPER_STAIRS +WEEPING_VINES +WET_SPONGE +WHEAT +WHEAT_SEEDS +WHITE_BANNER +WHITE_BED +WHITE_BUNDLE +WHITE_CANDLE +WHITE_CARPET +WHITE_CONCRETE +WHITE_CONCRETE_POWDER +WHITE_DYE +WHITE_GLAZED_TERRACOTTA +WHITE_SHULKER_BOX +WHITE_STAINED_GLASS +WHITE_STAINED_GLASS_PANE +WHITE_TERRACOTTA +WHITE_TULIP +WHITE_WOOL +WILD_ARMOR_TRIM_SMITHING_TEMPLATE +WIND_CHARGE +WITCH_SPAWN_EGG +WITHER_ROSE +WITHER_SKELETON_SKULL +WITHER_SKELETON_SPAWN_EGG +WITHER_SPAWN_EGG +WOLF_ARMOR +WOLF_SPAWN_EGG +WOODEN_AXE +WOODEN_HOE +WOODEN_PICKAXE +WOODEN_SHOVEL +WOODEN_SWORD +WRITABLE_BOOK +WRITTEN_BOOK +YEARN_GOAT_HORN +YELLOW_BANNER +YELLOW_BED +YELLOW_BUNDLE +YELLOW_CANDLE +YELLOW_CARPET +YELLOW_CONCRETE +YELLOW_CONCRETE_POWDER +YELLOW_DYE +YELLOW_GLAZED_TERRACOTTA +YELLOW_SHULKER_BOX +YELLOW_STAINED_GLASS +YELLOW_STAINED_GLASS_PANE +YELLOW_TERRACOTTA +YELLOW_WOOL +ZOGLIN_SPAWN_EGG +ZOMBIE_HEAD +ZOMBIE_HORSE_SPAWN_EGG +ZOMBIE_SPAWN_EGG +ZOMBIE_VILLAGER_SPAWN_EGG +ZOMBIFIED_PIGLIN_SPAWN_EGG diff --git a/features/category/src/main/resources/default_categories.yml b/features/category/src/main/resources/default_categories.yml index f1ed2e37cb..275840061d 100644 --- a/features/category/src/main/resources/default_categories.yml +++ b/features/category/src/main/resources/default_categories.yml @@ -701,7 +701,9 @@ wools: - RED_BANNER - WHITE_BANNER - YELLOW_BANNER + - 4082:BORDURE_INDENTED_BANNER_PATTERN - CREEPER_BANNER_PATTERN + - 4082:FIELD_MASONED_BANNER_PATTERN - FLOWER_BANNER_PATTERN - 3953:FLOW_BANNER_PATTERN - GLOBE_BANNER_PATTERN @@ -1241,6 +1243,22 @@ tools: - 3953:OMINOUS_TRIAL_KEY - 3953:MACE - BUNDLE + - 4082:BLACK_BUNDLE + - 4082:BLUE_BUNDLE + - 4082:BROWN_BUNDLE + - 4082:CYAN_BUNDLE + - 4082:GRAY_BUNDLE + - 4082:GREEN_BUNDLE + - 4082:LIGHT_BLUE_BUNDLE + - 4082:LIGHT_GRAY_BUNDLE + - 4082:LIME_BUNDLE + - 4082:MAGENTA_BUNDLE + - 4082:ORANGE_BUNDLE + - 4082:PINK_BUNDLE + - 4082:PURPLE_BUNDLE + - 4082:RED_BUNDLE + - 4082:WHITE_BUNDLE + - 4082:YELLOW_BUNDLE armors: - LEATHER_HELMET - LEATHER_CHESTPLATE From 79e1b513194aa3494c0e3de27fbc63d6fa772594 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Fri, 1 Nov 2024 02:37:23 +0900 Subject: [PATCH 11/13] build(*): update configapi to 5.0.0-beta.4 --- .../model/customdata/CustomDataManager.java | 2 +- .../box/api/transaction/DepositAllTest.java | 4 +- .../box/api/transaction/DepositTest.java | 2 +- .../box/api/transaction/WithdrawalTest.java | 2 +- .../box/api/util/InventoryUtilTest.java | 2 +- .../kotlin/box.base-conventions.gradle.kts | 1 - .../net/okocraft/box/core/config/Config.java | 16 +-- .../okocraft/box/core/config/CoreSetting.java | 4 +- .../box/core/config/StockDataSetting.java | 4 +- .../customdata/BoxCustomDataManager.java | 2 +- .../autostore/AutoStoreSettingContainer.java | 8 +- .../category/defaults/DefaultCategories.java | 4 +- .../category/defaults/DefaultCategory.java | 4 +- .../category/internal/file/CategoryFile.java | 6 +- .../internal/listener/CustomItemListener.java | 2 +- .../defaults/DefaultCategoriesTest.java | 2 +- .../feature/craft/config/CustomRecipe.java | 4 +- .../feature/craft/config/RecipeConfig.java | 4 +- .../feature/craft/loader/RecipeLoader.java | 10 +- gradle/libs.versions.toml | 6 +- .../api/model/data/CustomDataStorage.java | 2 +- .../box/storage/api/registry/StorageType.java | 6 +- storage/database/build.gradle.kts | 2 + .../database/database/mysql/MySQLSetting.java | 4 +- .../database/sqlite/SQLiteSetting.java | 2 +- .../table/AbstractCustomDataTable.java | 2 +- .../database/table/CustomDataTable.java | 4 +- .../database/table/LegacyCustomDataTable.java | 4 +- .../yaml/YamlCustomDataStorage.java | 4 +- .../yaml/YamlCustomItemStorage.java | 2 +- .../yaml/YamlDefaultItemStorage.java | 6 +- .../implementation/yaml/YamlMetaStorage.java | 2 +- .../yaml/YamlRemappedItemStorage.java | 4 +- .../implementation/yaml/YamlStorage.java | 2 +- .../yaml/YamlStoragePatches.java | 2 +- test-shared-classes/build.gradle.kts | 1 - .../mock/bukkit/inventory/InventoryInfo.java | 4 +- .../mock/bukkit/inventory/InventoryItem.java | 4 +- .../box/test/shared/model/item/ItemType.java | 2 +- .../storage/memory/MemoryStorageSetting.java | 6 +- .../storage/test/CustomDataStorageTest.java | 4 +- .../box/test/shared/util/NodeAssertion.java | 115 ++++++++++++++++++ .../box/test/shared/util/TestCaseLoader.java | 8 +- 43 files changed, 198 insertions(+), 83 deletions(-) create mode 100644 test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/NodeAssertion.java diff --git a/api/src/main/java/net/okocraft/box/api/model/customdata/CustomDataManager.java b/api/src/main/java/net/okocraft/box/api/model/customdata/CustomDataManager.java index f5ad67c7a9..273d694d5a 100644 --- a/api/src/main/java/net/okocraft/box/api/model/customdata/CustomDataManager.java +++ b/api/src/main/java/net/okocraft/box/api/model/customdata/CustomDataManager.java @@ -1,6 +1,6 @@ package net.okocraft.box.api.model.customdata; -import com.github.siroshun09.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.MapNode; import net.kyori.adventure.key.Key; import org.jetbrains.annotations.NotNull; diff --git a/api/src/test/java/net/okocraft/box/api/transaction/DepositAllTest.java b/api/src/test/java/net/okocraft/box/api/transaction/DepositAllTest.java index 5aecdf6e43..40b0fcada9 100644 --- a/api/src/test/java/net/okocraft/box/api/transaction/DepositAllTest.java +++ b/api/src/test/java/net/okocraft/box/api/transaction/DepositAllTest.java @@ -1,7 +1,7 @@ package net.okocraft.box.api.transaction; -import com.github.siroshun09.configapi.core.serialization.annotation.CollectionType; -import com.github.siroshun09.configapi.core.serialization.annotation.MapType; +import dev.siroshun.configapi.core.serialization.annotation.CollectionType; +import dev.siroshun.configapi.core.serialization.annotation.MapType; import net.okocraft.box.api.model.item.BoxItem; import net.okocraft.box.api.model.manager.ItemManager; import net.okocraft.box.api.util.ItemNameGenerator; diff --git a/api/src/test/java/net/okocraft/box/api/transaction/DepositTest.java b/api/src/test/java/net/okocraft/box/api/transaction/DepositTest.java index 909edc7e22..ea724eddbd 100644 --- a/api/src/test/java/net/okocraft/box/api/transaction/DepositTest.java +++ b/api/src/test/java/net/okocraft/box/api/transaction/DepositTest.java @@ -1,6 +1,6 @@ package net.okocraft.box.api.transaction; -import com.github.siroshun09.configapi.core.serialization.annotation.Inline; +import dev.siroshun.configapi.core.serialization.annotation.Inline; import net.okocraft.box.test.shared.event.StockEventCollector; import net.okocraft.box.test.shared.mock.bukkit.inventory.InventoryInfo; import net.okocraft.box.test.shared.model.item.ItemType; diff --git a/api/src/test/java/net/okocraft/box/api/transaction/WithdrawalTest.java b/api/src/test/java/net/okocraft/box/api/transaction/WithdrawalTest.java index 36c5fde0f5..9838363656 100644 --- a/api/src/test/java/net/okocraft/box/api/transaction/WithdrawalTest.java +++ b/api/src/test/java/net/okocraft/box/api/transaction/WithdrawalTest.java @@ -1,6 +1,6 @@ package net.okocraft.box.api.transaction; -import com.github.siroshun09.configapi.core.serialization.annotation.Inline; +import dev.siroshun.configapi.core.serialization.annotation.Inline; import net.okocraft.box.api.model.stock.StockData; import net.okocraft.box.test.shared.event.StockEventCollector; import net.okocraft.box.test.shared.mock.bukkit.inventory.InventoryInfo; diff --git a/api/src/test/java/net/okocraft/box/api/util/InventoryUtilTest.java b/api/src/test/java/net/okocraft/box/api/util/InventoryUtilTest.java index 6f1e3ea315..cf478ec083 100644 --- a/api/src/test/java/net/okocraft/box/api/util/InventoryUtilTest.java +++ b/api/src/test/java/net/okocraft/box/api/util/InventoryUtilTest.java @@ -1,6 +1,6 @@ package net.okocraft.box.api.util; -import com.github.siroshun09.configapi.core.serialization.annotation.Inline; +import dev.siroshun.configapi.core.serialization.annotation.Inline; import net.okocraft.box.test.shared.mock.bukkit.inventory.InventoryInfo; import net.okocraft.box.test.shared.model.item.ItemType; import net.okocraft.box.test.shared.util.TestCaseLoader; diff --git a/build-logic/src/main/kotlin/box.base-conventions.gradle.kts b/build-logic/src/main/kotlin/box.base-conventions.gradle.kts index 74d0440b0d..e80347889b 100644 --- a/build-logic/src/main/kotlin/box.base-conventions.gradle.kts +++ b/build-logic/src/main/kotlin/box.base-conventions.gradle.kts @@ -20,7 +20,6 @@ dependencies { testImplementation(platform(libs.junit.bom)) testImplementation(libs.junit.jupiter) testImplementation(libs.annotations) - testImplementation(libs.configapi.test.shared.classes) testImplementation(libs.fastutil) testImplementation(libs.mockito) diff --git a/core/src/main/java/net/okocraft/box/core/config/Config.java b/core/src/main/java/net/okocraft/box/core/config/Config.java index 0ebf1673dc..0fd0f9da16 100644 --- a/core/src/main/java/net/okocraft/box/core/config/Config.java +++ b/core/src/main/java/net/okocraft/box/core/config/Config.java @@ -1,13 +1,13 @@ package net.okocraft.box.core.config; -import com.github.siroshun09.configapi.core.comment.SimpleComment; -import com.github.siroshun09.configapi.core.node.CommentableNode; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.core.node.StringValue; -import com.github.siroshun09.configapi.core.serialization.key.KeyGenerator; -import com.github.siroshun09.configapi.core.serialization.record.RecordDeserializer; -import com.github.siroshun09.configapi.core.serialization.record.RecordSerializer; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.comment.SimpleComment; +import dev.siroshun.configapi.core.node.CommentableNode; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.StringValue; +import dev.siroshun.configapi.core.serialization.key.KeyGenerator; +import dev.siroshun.configapi.core.serialization.record.RecordDeserializer; +import dev.siroshun.configapi.core.serialization.record.RecordSerializer; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.util.BoxLogger; import net.okocraft.box.storage.api.model.Storage; import net.okocraft.box.storage.api.registry.StorageRegistry; diff --git a/core/src/main/java/net/okocraft/box/core/config/CoreSetting.java b/core/src/main/java/net/okocraft/box/core/config/CoreSetting.java index 51ea361060..409232c9ad 100644 --- a/core/src/main/java/net/okocraft/box/core/config/CoreSetting.java +++ b/core/src/main/java/net/okocraft/box/core/config/CoreSetting.java @@ -1,7 +1,7 @@ package net.okocraft.box.core.config; -import com.github.siroshun09.configapi.core.serialization.annotation.CollectionType; -import com.github.siroshun09.configapi.core.serialization.annotation.Comment; +import dev.siroshun.configapi.core.serialization.annotation.CollectionType; +import dev.siroshun.configapi.core.serialization.annotation.Comment; import java.util.Set; diff --git a/core/src/main/java/net/okocraft/box/core/config/StockDataSetting.java b/core/src/main/java/net/okocraft/box/core/config/StockDataSetting.java index 801af96e58..2b1e8df3bc 100644 --- a/core/src/main/java/net/okocraft/box/core/config/StockDataSetting.java +++ b/core/src/main/java/net/okocraft/box/core/config/StockDataSetting.java @@ -1,7 +1,7 @@ package net.okocraft.box.core.config; -import com.github.siroshun09.configapi.core.serialization.annotation.Comment; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultLong; +import dev.siroshun.configapi.core.serialization.annotation.Comment; +import dev.siroshun.configapi.core.serialization.annotation.DefaultLong; import net.okocraft.box.api.util.BoxLogger; import org.jetbrains.annotations.NotNull; diff --git a/core/src/main/java/net/okocraft/box/core/model/manager/customdata/BoxCustomDataManager.java b/core/src/main/java/net/okocraft/box/core/model/manager/customdata/BoxCustomDataManager.java index d76c0c085b..018f808cc9 100644 --- a/core/src/main/java/net/okocraft/box/core/model/manager/customdata/BoxCustomDataManager.java +++ b/core/src/main/java/net/okocraft/box/core/model/manager/customdata/BoxCustomDataManager.java @@ -1,6 +1,6 @@ package net.okocraft.box.core.model.manager.customdata; -import com.github.siroshun09.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.MapNode; import net.kyori.adventure.key.Key; import net.okocraft.box.api.model.customdata.CustomDataManager; import net.okocraft.box.storage.api.model.data.CustomDataStorage; diff --git a/features/autostore/src/main/java/net/okocraft/box/feature/autostore/AutoStoreSettingContainer.java b/features/autostore/src/main/java/net/okocraft/box/feature/autostore/AutoStoreSettingContainer.java index d0b6a5a0b5..c40c992954 100644 --- a/features/autostore/src/main/java/net/okocraft/box/feature/autostore/AutoStoreSettingContainer.java +++ b/features/autostore/src/main/java/net/okocraft/box/feature/autostore/AutoStoreSettingContainer.java @@ -1,9 +1,9 @@ package net.okocraft.box.feature.autostore; -import com.github.siroshun09.configapi.core.node.IntArray; -import com.github.siroshun09.configapi.core.node.ListNode; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.core.node.NumberValue; +import dev.siroshun.configapi.core.node.IntArray; +import dev.siroshun.configapi.core.node.ListNode; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.NumberValue; import com.github.siroshun09.messages.minimessage.base.MiniMessageBase; import dev.siroshun.event4j.api.priority.Priority; import it.unimi.dsi.fastutil.ints.IntArrayList; diff --git a/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategories.java b/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategories.java index 658786e82b..8dc057aa4d 100644 --- a/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategories.java +++ b/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategories.java @@ -1,7 +1,7 @@ package net.okocraft.box.feature.category.internal.category.defaults; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.util.MCDataVersion; import org.bukkit.Material; import org.jetbrains.annotations.NotNull; diff --git a/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategory.java b/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategory.java index 4cb3678e0a..8944358ae2 100644 --- a/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategory.java +++ b/features/category/src/main/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategory.java @@ -1,7 +1,7 @@ package net.okocraft.box.feature.category.internal.category.defaults; -import com.github.siroshun09.configapi.core.node.BooleanValue; -import com.github.siroshun09.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.BooleanValue; +import dev.siroshun.configapi.core.node.MapNode; import net.okocraft.box.api.model.manager.ItemManager; import net.okocraft.box.feature.category.api.category.Category; import net.okocraft.box.feature.category.internal.category.LoadedCategory; diff --git a/features/category/src/main/java/net/okocraft/box/feature/category/internal/file/CategoryFile.java b/features/category/src/main/java/net/okocraft/box/feature/category/internal/file/CategoryFile.java index a82db47515..2d3190afc8 100644 --- a/features/category/src/main/java/net/okocraft/box/feature/category/internal/file/CategoryFile.java +++ b/features/category/src/main/java/net/okocraft/box/feature/category/internal/file/CategoryFile.java @@ -1,8 +1,8 @@ package net.okocraft.box.feature.category.internal.file; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.core.node.StringRepresentable; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.StringRepresentable; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.BoxAPI; import net.okocraft.box.api.model.item.BoxItem; import net.okocraft.box.api.model.manager.ItemManager; diff --git a/features/category/src/main/java/net/okocraft/box/feature/category/internal/listener/CustomItemListener.java b/features/category/src/main/java/net/okocraft/box/feature/category/internal/listener/CustomItemListener.java index 65d4c6a04d..bf2e8dc66a 100644 --- a/features/category/src/main/java/net/okocraft/box/feature/category/internal/listener/CustomItemListener.java +++ b/features/category/src/main/java/net/okocraft/box/feature/category/internal/listener/CustomItemListener.java @@ -1,6 +1,6 @@ package net.okocraft.box.feature.category.internal.listener; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.kyori.adventure.key.Key; import net.okocraft.box.api.event.item.CustomItemRegisterEvent; import net.okocraft.box.api.event.item.CustomItemRenameEvent; diff --git a/features/category/src/test/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategoriesTest.java b/features/category/src/test/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategoriesTest.java index e0011d3ea3..22d785dd82 100644 --- a/features/category/src/test/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategoriesTest.java +++ b/features/category/src/test/java/net/okocraft/box/feature/category/internal/category/defaults/DefaultCategoriesTest.java @@ -1,6 +1,6 @@ package net.okocraft.box.feature.category.internal.category.defaults; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.util.MCDataVersion; import net.okocraft.box.feature.category.internal.category.defaults.DefaultCategories.ItemNameSet; import net.okocraft.box.feature.category.internal.category.defaults.DefaultCategories.VersionedItemName; diff --git a/features/craft/src/main/java/net/okocraft/box/feature/craft/config/CustomRecipe.java b/features/craft/src/main/java/net/okocraft/box/feature/craft/config/CustomRecipe.java index e54663fc2f..8da685387a 100644 --- a/features/craft/src/main/java/net/okocraft/box/feature/craft/config/CustomRecipe.java +++ b/features/craft/src/main/java/net/okocraft/box/feature/craft/config/CustomRecipe.java @@ -1,7 +1,7 @@ package net.okocraft.box.feature.craft.config; -import com.github.siroshun09.configapi.core.serialization.annotation.CollectionType; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultInt; +import dev.siroshun.configapi.core.serialization.annotation.CollectionType; +import dev.siroshun.configapi.core.serialization.annotation.DefaultInt; import java.util.List; diff --git a/features/craft/src/main/java/net/okocraft/box/feature/craft/config/RecipeConfig.java b/features/craft/src/main/java/net/okocraft/box/feature/craft/config/RecipeConfig.java index 7910988057..5fc575947e 100644 --- a/features/craft/src/main/java/net/okocraft/box/feature/craft/config/RecipeConfig.java +++ b/features/craft/src/main/java/net/okocraft/box/feature/craft/config/RecipeConfig.java @@ -1,7 +1,7 @@ package net.okocraft.box.feature.craft.config; -import com.github.siroshun09.configapi.core.serialization.annotation.CollectionType; -import com.github.siroshun09.configapi.core.serialization.annotation.Comment; +import dev.siroshun.configapi.core.serialization.annotation.CollectionType; +import dev.siroshun.configapi.core.serialization.annotation.Comment; import java.util.List; import java.util.Set; diff --git a/features/craft/src/main/java/net/okocraft/box/feature/craft/loader/RecipeLoader.java b/features/craft/src/main/java/net/okocraft/box/feature/craft/loader/RecipeLoader.java index a6e3017839..36d7ea5a59 100644 --- a/features/craft/src/main/java/net/okocraft/box/feature/craft/loader/RecipeLoader.java +++ b/features/craft/src/main/java/net/okocraft/box/feature/craft/loader/RecipeLoader.java @@ -1,10 +1,10 @@ package net.okocraft.box.feature.craft.loader; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.core.serialization.key.KeyGenerator; -import com.github.siroshun09.configapi.core.serialization.record.RecordDeserializer; -import com.github.siroshun09.configapi.core.serialization.record.RecordSerializer; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.serialization.key.KeyGenerator; +import dev.siroshun.configapi.core.serialization.record.RecordDeserializer; +import dev.siroshun.configapi.core.serialization.record.RecordSerializer; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.model.item.BoxItem; import net.okocraft.box.feature.craft.config.RecipeConfig; import net.okocraft.box.feature.craft.model.RecipeHolder; diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 930cdf1285..18e33a1481 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] # common libraries annotations = "26.0.1" -configapi = "5.0.0-beta.2" +configapi = "5.0.0-beta.4" event4j = "4.0.1" fastutil = "8.5.15" hikaricp = "6.0.0" @@ -34,7 +34,8 @@ worldguard = "7.0.12" # common libraries annotations = { module = "org.jetbrains:annotations", version.ref = "annotations" } -configapi-format-yaml = { module = "com.github.siroshun09.configapi:configapi-format-yaml", version.ref = "configapi" } +configapi-format-binary = { module = "dev.siroshun.configapi:configapi-format-binary", version.ref = "configapi" } +configapi-format-yaml = { module = "dev.siroshun.configapi:configapi-format-yaml", version.ref = "configapi" } event4j = { module = "dev.siroshun.event4j:event4j-tree", version.ref = "event4j" } fastutil = { module = "it.unimi.dsi:fastutil", version.ref = "fastutil" } hikaricp = { module = "com.zaxxer:HikariCP", version.ref = "hikaricp" } @@ -46,7 +47,6 @@ junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" } junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" } # test environment -configapi-test-shared-classes = { module = "com.github.siroshun09.configapi:configapi-test-shared-classes", version.ref = "configapi" } mockito = { module = "org.mockito:mockito-core", version.ref = "mockito" } slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4j" } sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite-jdbc" } diff --git a/storage/api/src/main/java/net/okocraft/box/storage/api/model/data/CustomDataStorage.java b/storage/api/src/main/java/net/okocraft/box/storage/api/model/data/CustomDataStorage.java index 717c6d885b..5c4c2dcf04 100644 --- a/storage/api/src/main/java/net/okocraft/box/storage/api/model/data/CustomDataStorage.java +++ b/storage/api/src/main/java/net/okocraft/box/storage/api/model/data/CustomDataStorage.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.api.model.data; -import com.github.siroshun09.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.MapNode; import net.kyori.adventure.key.Key; import net.kyori.adventure.key.KeyPattern; import org.jetbrains.annotations.NotNull; diff --git a/storage/api/src/main/java/net/okocraft/box/storage/api/registry/StorageType.java b/storage/api/src/main/java/net/okocraft/box/storage/api/registry/StorageType.java index 8049cc5d92..f5b52eb663 100644 --- a/storage/api/src/main/java/net/okocraft/box/storage/api/registry/StorageType.java +++ b/storage/api/src/main/java/net/okocraft/box/storage/api/registry/StorageType.java @@ -1,8 +1,8 @@ package net.okocraft.box.storage.api.registry; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.core.serialization.key.KeyGenerator; -import com.github.siroshun09.configapi.core.serialization.record.RecordDeserializer; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.serialization.key.KeyGenerator; +import dev.siroshun.configapi.core.serialization.record.RecordDeserializer; import net.okocraft.box.storage.api.model.Storage; import org.jetbrains.annotations.NotNull; diff --git a/storage/database/build.gradle.kts b/storage/database/build.gradle.kts index 6dc412b832..0979d34b47 100644 --- a/storage/database/build.gradle.kts +++ b/storage/database/build.gradle.kts @@ -6,6 +6,8 @@ dependencies { implementation(projects.boxApi) implementation(projects.boxStorageApi) + implementation(libs.configapi.format.binary) + implementation(libs.hikaricp) { exclude("org.slf4j") } diff --git a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/mysql/MySQLSetting.java b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/mysql/MySQLSetting.java index b56b8dc115..177bd6fe40 100644 --- a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/mysql/MySQLSetting.java +++ b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/mysql/MySQLSetting.java @@ -1,7 +1,7 @@ package net.okocraft.box.storage.implementation.database.database.mysql; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultInt; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultString; +import dev.siroshun.configapi.core.serialization.annotation.DefaultInt; +import dev.siroshun.configapi.core.serialization.annotation.DefaultString; public record MySQLSetting( @DefaultString("box_") String tablePrefix, diff --git a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/sqlite/SQLiteSetting.java b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/sqlite/SQLiteSetting.java index cd2c744d1a..abceff323c 100644 --- a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/sqlite/SQLiteSetting.java +++ b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/database/sqlite/SQLiteSetting.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.implementation.database.database.sqlite; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultString; +import dev.siroshun.configapi.core.serialization.annotation.DefaultString; public record SQLiteSetting( @DefaultString("box_") String tablePrefix, diff --git a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/AbstractCustomDataTable.java b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/AbstractCustomDataTable.java index 5f4ec7e414..cd379a8699 100644 --- a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/AbstractCustomDataTable.java +++ b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/AbstractCustomDataTable.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.implementation.database.table; -import com.github.siroshun09.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.MapNode; import net.kyori.adventure.key.Key; import net.kyori.adventure.key.KeyPattern; import net.okocraft.box.storage.api.model.data.CustomDataStorage; diff --git a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/CustomDataTable.java b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/CustomDataTable.java index f7567221c1..bb2ed8775d 100644 --- a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/CustomDataTable.java +++ b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/CustomDataTable.java @@ -1,7 +1,7 @@ package net.okocraft.box.storage.implementation.database.table; -import com.github.siroshun09.configapi.core.file.java.binary.BinaryFormat; -import com.github.siroshun09.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.format.binary.BinaryFormat; import net.kyori.adventure.key.Key; import net.okocraft.box.api.util.BoxLogger; import net.okocraft.box.storage.api.util.SneakyThrow; diff --git a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/LegacyCustomDataTable.java b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/LegacyCustomDataTable.java index 843b123bf8..2e78608e76 100644 --- a/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/LegacyCustomDataTable.java +++ b/storage/database/src/main/java/net/okocraft/box/storage/implementation/database/table/LegacyCustomDataTable.java @@ -1,7 +1,7 @@ package net.okocraft.box.storage.implementation.database.table; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.storage.implementation.database.database.Database; import org.jetbrains.annotations.NotNull; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomDataStorage.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomDataStorage.java index aca1551354..63e23c1b09 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomDataStorage.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomDataStorage.java @@ -1,7 +1,7 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.kyori.adventure.key.Key; import net.okocraft.box.api.util.BoxLogger; import net.okocraft.box.storage.api.model.data.CustomDataStorage; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomItemStorage.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomItemStorage.java index 91ae3e58e0..28d8b6854a 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomItemStorage.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlCustomItemStorage.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.storage.api.model.item.CustomItemStorage; import net.okocraft.box.storage.api.model.item.ItemData; import net.okocraft.box.storage.api.util.SneakyThrow; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlDefaultItemStorage.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlDefaultItemStorage.java index b619b08241..9f198fb36b 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlDefaultItemStorage.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlDefaultItemStorage.java @@ -1,8 +1,8 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.core.node.NullNode; -import com.github.siroshun09.configapi.core.node.StringRepresentable; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.NullNode; +import dev.siroshun.configapi.core.node.StringRepresentable; +import dev.siroshun.configapi.format.yaml.YamlFormat; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.IntSet; import it.unimi.dsi.fastutil.objects.Object2IntMap; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlMetaStorage.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlMetaStorage.java index 7e0a5fb2c0..18c40bab0d 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlMetaStorage.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlMetaStorage.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.util.BoxLogger; import net.okocraft.box.api.util.MCDataVersion; import net.okocraft.box.storage.api.model.version.StorageVersion; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlRemappedItemStorage.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlRemappedItemStorage.java index 0487dbd40a..11c4ad6905 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlRemappedItemStorage.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlRemappedItemStorage.java @@ -1,7 +1,7 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.format.yaml.YamlFormat; import it.unimi.dsi.fastutil.ints.Int2IntMap; import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStorage.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStorage.java index 4fa1c7e4bb..f9da7d2c45 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStorage.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStorage.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultString; +import dev.siroshun.configapi.core.serialization.annotation.DefaultString; import net.okocraft.box.api.util.MCDataVersion; import net.okocraft.box.storage.api.model.Storage; import net.okocraft.box.storage.api.model.data.CustomDataStorage; diff --git a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStoragePatches.java b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStoragePatches.java index ec52b64c7d..7c401c52af 100644 --- a/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStoragePatches.java +++ b/storage/yaml/src/main/java/net/okocraft/box/storage/implementation/yaml/YamlStoragePatches.java @@ -1,6 +1,6 @@ package net.okocraft.box.storage.implementation.yaml; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.format.yaml.YamlFormat; import net.okocraft.box.api.util.BoxLogger; import org.jetbrains.annotations.NotNull; diff --git a/test-shared-classes/build.gradle.kts b/test-shared-classes/build.gradle.kts index ff5281fce7..d616028e62 100644 --- a/test-shared-classes/build.gradle.kts +++ b/test-shared-classes/build.gradle.kts @@ -6,7 +6,6 @@ dependencies { api(projects.boxApi) api(projects.boxStorageApi) api(libs.junit.jupiter) - api(libs.configapi.test.shared.classes) api(libs.mockito) implementation(projects.boxCore) } diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryInfo.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryInfo.java index c94cf62c6a..a391fff48c 100644 --- a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryInfo.java +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryInfo.java @@ -1,7 +1,7 @@ package net.okocraft.box.test.shared.mock.bukkit.inventory; -import com.github.siroshun09.configapi.core.serialization.annotation.CollectionType; -import com.github.siroshun09.configapi.core.serialization.key.Key; +import dev.siroshun.configapi.core.serialization.annotation.CollectionType; +import dev.siroshun.configapi.core.serialization.key.Key; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryItem.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryItem.java index 7e063207ff..1513afcbe2 100644 --- a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryItem.java +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/mock/bukkit/inventory/InventoryItem.java @@ -1,7 +1,7 @@ package net.okocraft.box.test.shared.mock.bukkit.inventory; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultInt; -import com.github.siroshun09.configapi.core.serialization.annotation.Inline; +import dev.siroshun.configapi.core.serialization.annotation.DefaultInt; +import dev.siroshun.configapi.core.serialization.annotation.Inline; import net.okocraft.box.test.shared.model.item.ItemType; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/model/item/ItemType.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/model/item/ItemType.java index 487431d978..eb1e0812db 100644 --- a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/model/item/ItemType.java +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/model/item/ItemType.java @@ -1,6 +1,6 @@ package net.okocraft.box.test.shared.model.item; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultInt; +import dev.siroshun.configapi.core.serialization.annotation.DefaultInt; import net.kyori.adventure.text.Component; import net.okocraft.box.api.model.item.BoxItem; import net.okocraft.box.api.util.ItemNameGenerator; diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/memory/MemoryStorageSetting.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/memory/MemoryStorageSetting.java index 65db59ca4f..9b8e0f5f3c 100644 --- a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/memory/MemoryStorageSetting.java +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/memory/MemoryStorageSetting.java @@ -1,8 +1,8 @@ package net.okocraft.box.test.shared.storage.memory; -import com.github.siroshun09.configapi.core.serialization.annotation.Comment; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultBoolean; -import com.github.siroshun09.configapi.core.serialization.annotation.DefaultInt; +import dev.siroshun.configapi.core.serialization.annotation.Comment; +import dev.siroshun.configapi.core.serialization.annotation.DefaultBoolean; +import dev.siroshun.configapi.core.serialization.annotation.DefaultInt; // Note: When this record is changed, ConfigTest#EXPECTED_DEFAULT_CONFIG must also be updated. public record MemoryStorageSetting( diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/test/CustomDataStorageTest.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/test/CustomDataStorageTest.java index fa9ed26155..ac67da16f7 100644 --- a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/test/CustomDataStorageTest.java +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/storage/test/CustomDataStorageTest.java @@ -1,9 +1,9 @@ package net.okocraft.box.test.shared.storage.test; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.test.shared.util.NodeAssertion; +import dev.siroshun.configapi.core.node.MapNode; import net.kyori.adventure.key.Key; import net.okocraft.box.storage.api.model.data.CustomDataStorage; +import net.okocraft.box.test.shared.util.NodeAssertion; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/NodeAssertion.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/NodeAssertion.java new file mode 100644 index 0000000000..4b3f7f8d06 --- /dev/null +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/NodeAssertion.java @@ -0,0 +1,115 @@ +/* + * Copyright 2024 Siroshun09 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.okocraft.box.test.shared.util; + +import dev.siroshun.configapi.core.node.ListNode; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.node.Node; +import dev.siroshun.configapi.core.node.NumberValue; +import dev.siroshun.configapi.core.node.ValueNode; +import org.jetbrains.annotations.NotNull; +import org.junit.jupiter.api.AssertionFailureBuilder; +import org.junit.jupiter.api.Assertions; + +/** + * A utility class for asserting {@link Node}s. + */ +public final class NodeAssertion { + + /** + * Asserts that {@code a} and {@code b} {@link Node}s are equal. + * + * @param a a first {@link Node} + * @param b a second {@link Node} + */ + public static void assertEquals(@NotNull Node a, @NotNull Node b) { + if (a instanceof ListNode listNodeA && b instanceof ListNode listNodeB) { + assertEquals(listNodeA, listNodeB); + } else if (a instanceof MapNode mapNodeA && b instanceof MapNode mapNodeB) { + assertEquals(mapNodeA, mapNodeB); + } else if (a instanceof NumberValue numberA && b instanceof NumberValue numberB) { + if (numberA.compareTo(numberB) != 0) { + fail(a, b); + } + } else if (a instanceof ValueNode valueA && b instanceof ValueNode valueB) { + if (!a.value().equals(b.value())) { + fail(a, b); + } + } else { + if (!a.equals(b)) { + fail(a, b); + } + } + } + + /** + * Asserts that {@code a} and {@code b} {@link ListNode}s are equal. + * + * @param a a first {@link ListNode} + * @param b a second {@link ListNode} + */ + public static void assertEquals(@NotNull ListNode a, @NotNull ListNode b) { + var listA = a.value(); + var listB = b.value(); + + if (listA.size() != listB.size()) { + fail(a, b); + } + + for (int i = 0, mapASize = listA.size(); i < mapASize; i++) { + assertEquals(listA.get(i), listB.get(i)); + } + + Assertions.assertEquals(a.getCommentOrNull(), b.getCommentOrNull()); + } + + /** + * Asserts that {@code a} and {@code b} {@link MapNode}s are equal. + * + * @param a a first {@link MapNode} + * @param b a second {@link MapNode} + */ + public static void assertEquals(@NotNull MapNode a, @NotNull MapNode b) { + var mapA = a.value(); + var mapB = b.value(); + + if (mapA.size() != mapB.size()) { + fail(a, b); + } + + for (var key : mapA.keySet()) { + if (!mapB.containsKey(key)) { + fail(a, b); + } + + var nodeA = mapA.get(key); + var nodeB = mapB.get(key); + + assertEquals(nodeA, nodeB); + } + + Assertions.assertEquals(a.getCommentOrNull(), b.getCommentOrNull()); + } + + private static void fail(@NotNull Node a, @NotNull Node b) { + AssertionFailureBuilder.assertionFailure().expected(a).actual(b).buildAndThrow(); + } + + private NodeAssertion() { + throw new UnsupportedOperationException(); + } +} diff --git a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/TestCaseLoader.java b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/TestCaseLoader.java index 2e1a180c57..36427a1c8b 100644 --- a/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/TestCaseLoader.java +++ b/test-shared-classes/src/main/java/net/okocraft/box/test/shared/util/TestCaseLoader.java @@ -1,9 +1,9 @@ package net.okocraft.box.test.shared.util; -import com.github.siroshun09.configapi.core.node.MapNode; -import com.github.siroshun09.configapi.core.serialization.key.KeyGenerator; -import com.github.siroshun09.configapi.core.serialization.record.RecordDeserializer; -import com.github.siroshun09.configapi.format.yaml.YamlFormat; +import dev.siroshun.configapi.core.node.MapNode; +import dev.siroshun.configapi.core.serialization.key.KeyGenerator; +import dev.siroshun.configapi.core.serialization.record.RecordDeserializer; +import dev.siroshun.configapi.format.yaml.YamlFormat; import org.jetbrains.annotations.NotNull; import java.io.IOException; From 53ae37682a0c0e9f0b5bb9c84ff9725de7c8359f Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Fri, 1 Nov 2024 02:44:06 +0900 Subject: [PATCH 12/13] build(data-generator): update Minecraft version for data-generator --- data-generator/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data-generator/build.gradle.kts b/data-generator/build.gradle.kts index 5d173d22b7..d4f10c84e3 100644 --- a/data-generator/build.gradle.kts +++ b/data-generator/build.gradle.kts @@ -7,8 +7,8 @@ plugins { group = "net.okocraft.box.datagenerator" version = "1.0" -val previousMinecraftVersion = "1.20.6" -val minecraftVersion = "1.21.1" +val previousMinecraftVersion = "1.21" +val minecraftVersion = "1.21.3" val javaVersion = JavaVersion.VERSION_21 java { From a281088acc0b3a56f11ac6835b2073fe8e1dff75 Mon Sep 17 00:00:00 2001 From: Siroshun09 Date: Fri, 1 Nov 2024 02:52:44 +0900 Subject: [PATCH 13/13] build(bundle): update Minecraft version for bundle --- bundle/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundle/build.gradle.kts b/bundle/build.gradle.kts index 94a9fdf659..492db6fd09 100644 --- a/bundle/build.gradle.kts +++ b/bundle/build.gradle.kts @@ -40,7 +40,7 @@ tasks { } runServer { - minecraftVersion("1.21.1") + minecraftVersion("1.21.3") systemProperty("com.mojang.eula.agree", "true") systemProperty("paper.disablePluginRemapping", "true") }