diff --git a/pom.xml b/pom.xml
index a0f8a5b..0c8ad71 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,7 +69,7 @@
org.bukkit
bukkit
- 1.13.2-R0.1-SNAPSHOT
+ 1.14-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/de/epiceric/shopchest/ShopChest.java b/src/main/java/de/epiceric/shopchest/ShopChest.java
index 2f8fbad..1e58ab7 100644
--- a/src/main/java/de/epiceric/shopchest/ShopChest.java
+++ b/src/main/java/de/epiceric/shopchest/ShopChest.java
@@ -162,6 +162,7 @@ public class ShopChest extends JavaPlugin {
case "v1_12_R1":
case "v1_13_R1":
case "v1_13_R2":
+ case "v1_14_R1":
break;
default:
debug("Server version not officially supported: " + Utils.getServerVersion() + "!");
diff --git a/src/main/java/de/epiceric/shopchest/config/Placeholder.java b/src/main/java/de/epiceric/shopchest/config/Placeholder.java
index 3a39fe8..a2b15ce 100644
--- a/src/main/java/de/epiceric/shopchest/config/Placeholder.java
+++ b/src/main/java/de/epiceric/shopchest/config/Placeholder.java
@@ -17,6 +17,7 @@ public enum Placeholder {
PLAYER("%PLAYER%"),
POTION_EFFECT("%POTION-EFFECT%"),
MUSIC_TITLE("%MUSIC-TITLE%"),
+ BANNER_PATTERN_NAME("%BANNER-PATTERN-NAME%"),
PROPERTY("%PROPERTY%"),
VALUE("%VALUE%"),
EXTENDED("%EXTENDED%"),
diff --git a/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java b/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java
new file mode 100644
index 0000000..71ee11d
--- /dev/null
+++ b/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java
@@ -0,0 +1,29 @@
+package de.epiceric.shopchest.language;
+
+import org.bukkit.Material;
+
+public class BannerPatternName {
+
+ private Material bannerPatternMaterial;
+ private String localizedName;
+
+ public BannerPatternName(Material bannerPatternMaterial, String localizedName) {
+ this.bannerPatternMaterial = bannerPatternMaterial;
+ this.localizedName = localizedName;
+ }
+
+ /**
+ * @return Localized Name of the Banner Pattern
+ */
+ public String getLocalizedName() {
+ return localizedName;
+ }
+
+ /**
+ * @return Material of the Banner Pattern
+ */
+ public Material getBannerPatternMaterial() {
+ return bannerPatternMaterial;
+ }
+
+}
diff --git a/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java b/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java
index 0ca7e6a..1eab7fd 100644
--- a/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java
+++ b/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java
@@ -36,6 +36,7 @@ public class LanguageUtils {
private static ArrayList entityNames = new ArrayList<>();
private static ArrayList potionNames = new ArrayList<>();
private static ArrayList musicDiscNames = new ArrayList<>();
+ private static ArrayList bannerPatternNames = new ArrayList<>();
private static ArrayList generationNames = new ArrayList<>();
private static ArrayList messages = new ArrayList<>();
@@ -1199,8 +1200,6 @@ public class LanguageUtils {
itemNames.add(new ItemName(Material.WHEAT, langConfig.getString("block.minecraft.wheat", "Wheat Crops")));
itemNames.add(new ItemName(Material.FARMLAND, langConfig.getString("block.minecraft.farmland", "Farmland")));
itemNames.add(new ItemName(Material.FURNACE, langConfig.getString("block.minecraft.furnace", "Furnace")));
- itemNames.add(new ItemName(Material.SIGN, langConfig.getString("block.minecraft.sign", "Sign")));
- itemNames.add(new ItemName(Material.WALL_SIGN, langConfig.getString("block.minecraft.wall_sign", "Wall Sign")));
itemNames.add(new ItemName(Material.LADDER, langConfig.getString("block.minecraft.ladder", "Ladder")));
itemNames.add(new ItemName(Material.RAIL, langConfig.getString("block.minecraft.rail", "Rail")));
itemNames.add(new ItemName(Material.POWERED_RAIL, langConfig.getString("block.minecraft.powered_rail", "Powered Rail")));
@@ -1623,7 +1622,6 @@ public class LanguageUtils {
itemNames.add(new ItemName(Material.ITEM_FRAME, langConfig.getString("item.minecraft.item_frame", "Item Frame")));
itemNames.add(new ItemName(Material.GOLDEN_APPLE, langConfig.getString("item.minecraft.golden_apple", "Golden Apple")));
itemNames.add(new ItemName(Material.ENCHANTED_GOLDEN_APPLE, langConfig.getString("item.minecraft.enchanted_golden_apple", "Enchanted Golden Apple")));
- itemNames.add(new ItemName(Material.SIGN, langConfig.getString("item.minecraft.sign", "Sign")));
itemNames.add(new ItemName(Material.BUCKET, langConfig.getString("item.minecraft.bucket", "Bucket")));
itemNames.add(new ItemName(Material.WATER_BUCKET, langConfig.getString("item.minecraft.water_bucket", "Water Bucket")));
itemNames.add(new ItemName(Material.LAVA_BUCKET, langConfig.getString("item.minecraft.lava_bucket", "Lava Bucket")));
@@ -1678,8 +1676,6 @@ public class LanguageUtils {
itemNames.add(new ItemName(Material.MUSIC_DISC_WAIT, langConfig.getString("item.minecraft.music_disc_wait", "Music Disc")));
itemNames.add(new ItemName(Material.BONE, langConfig.getString("item.minecraft.bone", "Bone")));
itemNames.add(new ItemName(Material.INK_SAC, langConfig.getString("item.minecraft.ink_sac", "Ink Sac")));
- itemNames.add(new ItemName(Material.ROSE_RED, langConfig.getString("item.minecraft.rose_red", "Rose Red")));
- itemNames.add(new ItemName(Material.CACTUS_GREEN, langConfig.getString("item.minecraft.cactus_green", "Cactus Green")));
itemNames.add(new ItemName(Material.COCOA_BEANS, langConfig.getString("item.minecraft.cocoa_beans", "Cocoa Beans")));
itemNames.add(new ItemName(Material.LAPIS_LAZULI, langConfig.getString("item.minecraft.lapis_lazuli", "Lapis Lazuli")));
itemNames.add(new ItemName(Material.PURPLE_DYE, langConfig.getString("item.minecraft.purple_dye", "Purple Dye")));
@@ -1688,7 +1684,6 @@ public class LanguageUtils {
itemNames.add(new ItemName(Material.GRAY_DYE, langConfig.getString("item.minecraft.gray_dye", "Gray Dye")));
itemNames.add(new ItemName(Material.PINK_DYE, langConfig.getString("item.minecraft.pink_dye", "Pink Dye")));
itemNames.add(new ItemName(Material.LIME_DYE, langConfig.getString("item.minecraft.lime_dye", "Lime Dye")));
- itemNames.add(new ItemName(Material.DANDELION_YELLOW, langConfig.getString("item.minecraft.dandelion_yellow", "Dandelion Yellow")));
itemNames.add(new ItemName(Material.LIGHT_BLUE_DYE, langConfig.getString("item.minecraft.light_blue_dye", "Light Blue Dye")));
itemNames.add(new ItemName(Material.MAGENTA_DYE, langConfig.getString("item.minecraft.magenta_dye", "Magenta Dye")));
itemNames.add(new ItemName(Material.ORANGE_DYE, langConfig.getString("item.minecraft.orange_dye", "Orange Dye")));
@@ -1833,6 +1828,124 @@ public class LanguageUtils {
itemNames.add(new ItemName(Material.NAUTILUS_SHELL, langConfig.getString("item.minecraft.nautilus_shell", "Nautilus Shell")));
itemNames.add(new ItemName(Material.HEART_OF_THE_SEA, langConfig.getString("item.minecraft.heart_of_the_sea", "Heart of the Sea")));
+ if (Utils.getMajorVersion() >= 14) {
+ // Add 1.14 item names
+ itemNames.add(new ItemName(Material.ACACIA_SIGN, langConfig.getString("block.minecraft.acacia_sign", "Acacia Sign")));
+ itemNames.add(new ItemName(Material.ACACIA_WALL_SIGN, langConfig.getString("block.minecraft.acacia_wall_sign", "Acacia Wall Sign")));
+ itemNames.add(new ItemName(Material.ANDESITE_SLAB, langConfig.getString("block.minecraft.andesite_slab", "Andesite Slab")));
+ itemNames.add(new ItemName(Material.ANDESITE_STAIRS, langConfig.getString("block.minecraft.andesite_stairs", "Andesite Stairs")));
+ itemNames.add(new ItemName(Material.ANDESITE_WALL, langConfig.getString("block.minecraft.andesite_wall", "Andesite Wall")));
+ itemNames.add(new ItemName(Material.BAMBOO, langConfig.getString("block.minecraft.bamboo", "Bamboo")));
+ itemNames.add(new ItemName(Material.BAMBOO_SAPLING, langConfig.getString("block.minecraft.bamboo_sapling", "Bamboo Sapling")));
+ itemNames.add(new ItemName(Material.BARREL, langConfig.getString("block.minecraft.barrel", "Barrel")));
+ itemNames.add(new ItemName(Material.BELL, langConfig.getString("block.minecraft.bell", "Bell")));
+ itemNames.add(new ItemName(Material.BIRCH_SIGN, langConfig.getString("block.minecraft.birch_sign", "Birch Sign")));
+ itemNames.add(new ItemName(Material.BIRCH_WALL_SIGN, langConfig.getString("block.minecraft.birch_wall_sign", "Birch Wall Sign")));
+ itemNames.add(new ItemName(Material.BLACK_DYE, langConfig.getString("item.minecraft.black_dye", "Black Dye")));
+ itemNames.add(new ItemName(Material.BLAST_FURNACE, langConfig.getString("block.minecraft.blast_furnace", "Blast Furnace")));
+ itemNames.add(new ItemName(Material.BLUE_DYE, langConfig.getString("item.minecraft.blue_dye", "Blue Dye")));
+ itemNames.add(new ItemName(Material.BRICK_WALL, langConfig.getString("block.minecraft.brick_wall", "Brick Wall")));
+ itemNames.add(new ItemName(Material.BROWN_DYE, langConfig.getString("item.minecraft.brown_dye", "Brown Dye")));
+ itemNames.add(new ItemName(Material.CAMPFIRE, langConfig.getString("block.minecraft.campfire", "Campfire")));
+ itemNames.add(new ItemName(Material.CARTOGRAPHY_TABLE, langConfig.getString("block.minecraft.cartography_table", "Cartography Table")));
+ itemNames.add(new ItemName(Material.CAT_SPAWN_EGG, langConfig.getString("item.minecraft.cat_spawn_egg", "Cat Spawn Egg")));
+ itemNames.add(new ItemName(Material.COMPOSTER, langConfig.getString("block.minecraft.composter", "Composter")));
+ itemNames.add(new ItemName(Material.CORNFLOWER, langConfig.getString("block.minecraft.cornflower", "Cornflower")));
+ itemNames.add(new ItemName(Material.CREEPER_BANNER_PATTERN, langConfig.getString("item.minecraft.creeper_banner_pattern", "Banner Pattern")));
+ itemNames.add(new ItemName(Material.CROSSBOW, langConfig.getString("item.minecraft.crossbow", "Crossbow")));
+ itemNames.add(new ItemName(Material.CUT_RED_SANDSTONE_SLAB, langConfig.getString("block.minecraft.cut_red_sandstone_slab", "Cut Red Sandstone Slab")));
+ itemNames.add(new ItemName(Material.CUT_SANDSTONE_SLAB, langConfig.getString("block.minecraft.cut_sandstone_slab", "Cut Sandstone Slab")));
+ itemNames.add(new ItemName(Material.DARK_OAK_SIGN, langConfig.getString("block.minecraft.dark_oak_sign", "Dark Oak Sign")));
+ itemNames.add(new ItemName(Material.DARK_OAK_WALL_SIGN, langConfig.getString("block.minecraft.dark_oak_wall_sign", "Dark Oak Wall Sign")));
+ itemNames.add(new ItemName(Material.DEAD_BRAIN_CORAL, langConfig.getString("block.minecraft.dead_brain_coral", "Dead Brain Coral")));
+ itemNames.add(new ItemName(Material.DEAD_BUBBLE_CORAL, langConfig.getString("block.minecraft.dead_bubble_coral", "Dead Bubble Coral")));
+ itemNames.add(new ItemName(Material.DEAD_FIRE_CORAL, langConfig.getString("block.minecraft.dead_fire_coral", "Dead Fire Coral")));
+ itemNames.add(new ItemName(Material.DEAD_HORN_CORAL, langConfig.getString("block.minecraft.dead_horn_coral", "Dead Horn Coral")));
+ itemNames.add(new ItemName(Material.DEAD_TUBE_CORAL, langConfig.getString("block.minecraft.dead_tube_coral", "Dead Tube Coral")));
+ itemNames.add(new ItemName(Material.DIORITE_SLAB, langConfig.getString("block.minecraft.diorite_slab", "Diorite Slab")));
+ itemNames.add(new ItemName(Material.DIORITE_STAIRS, langConfig.getString("block.minecraft.diorite_stairs", "Diorite Stairs")));
+ itemNames.add(new ItemName(Material.DIORITE_WALL, langConfig.getString("block.minecraft.diorite_wall", "Diorite Wall")));
+ itemNames.add(new ItemName(Material.END_STONE_BRICK_SLAB, langConfig.getString("block.minecraft.end_stone_brick_slab", "End Stone Brick Slab")));
+ itemNames.add(new ItemName(Material.END_STONE_BRICK_STAIRS, langConfig.getString("block.minecraft.end_stone_brick_stairs", "End Stone Brick Stairs")));
+ itemNames.add(new ItemName(Material.END_STONE_BRICK_WALL, langConfig.getString("block.minecraft.end_stone_brick_wall", "End Stone Brick Wall")));
+ itemNames.add(new ItemName(Material.FLETCHING_TABLE, langConfig.getString("block.minecraft.fletching_table", "Fletching Table")));
+ itemNames.add(new ItemName(Material.FLOWER_BANNER_PATTERN, langConfig.getString("item.minecraft.flower_banner_pattern", "Banner Pattern")));
+ itemNames.add(new ItemName(Material.FOX_SPAWN_EGG, langConfig.getString("item.minecraft.fox_spawn_egg", "Fox Spawn Egg")));
+ itemNames.add(new ItemName(Material.GLOBE_BANNER_PATTERN, langConfig.getString("item.minecraft.globe_banner_pattern", "Banner Pattern")));
+ itemNames.add(new ItemName(Material.GRANITE_SLAB, langConfig.getString("block.minecraft.granite_slab", "Granite Slab")));
+ itemNames.add(new ItemName(Material.GRANITE_STAIRS, langConfig.getString("block.minecraft.granite_stairs", "Granite Stairs")));
+ itemNames.add(new ItemName(Material.GRANITE_WALL, langConfig.getString("block.minecraft.granite_wall", "Granite Wall")));
+ itemNames.add(new ItemName(Material.GREEN_DYE, langConfig.getString("item.minecraft.green_dye", "Green Dye")));
+ itemNames.add(new ItemName(Material.GRINDSTONE, langConfig.getString("block.minecraft.grindstone", "Grindstone")));
+ itemNames.add(new ItemName(Material.JIGSAW, langConfig.getString("block.minecraft.jigsaw", "Jigsaw")));
+ itemNames.add(new ItemName(Material.JUNGLE_SIGN, langConfig.getString("block.minecraft.jungle_sign", "Jungle Sign")));
+ itemNames.add(new ItemName(Material.JUNGLE_WALL_SIGN, langConfig.getString("block.minecraft.jungle_wall_sign", "Jungle Wall Sign")));
+ itemNames.add(new ItemName(Material.LANTERN, langConfig.getString("block.minecraft.lantern", "Lantern")));
+ itemNames.add(new ItemName(Material.LEATHER_HORSE_ARMOR, langConfig.getString("item.minecraft.leather_horse_armor", "Leather Horse Armor")));
+ itemNames.add(new ItemName(Material.LECTERN, langConfig.getString("block.minecraft.lectern", "Lectern")));
+ itemNames.add(new ItemName(Material.LILY_OF_THE_VALLEY, langConfig.getString("block.minecraft.lily_of_the_valley", "Lily of the Valley")));
+ itemNames.add(new ItemName(Material.LOOM, langConfig.getString("block.minecraft.loom", "Loom")));
+ itemNames.add(new ItemName(Material.MOJANG_BANNER_PATTERN, langConfig.getString("item.minecraft.mojang_banner_pattern", "Banner Pattern")));
+ itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE_SLAB, langConfig.getString("block.minecraft.mossy_cobblestone_slab", "Mossy Cobblestone Slab")));
+ itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE_STAIRS, langConfig.getString("block.minecraft.mossy_cobblestone_stairs", "Mossy Cobblestone Stairs")));
+ itemNames.add(new ItemName(Material.MOSSY_STONE_BRICK_SLAB, langConfig.getString("block.minecraft.mossy_stone_brick_slab", "Mossy Stone Brick Slab")));
+ itemNames.add(new ItemName(Material.MOSSY_STONE_BRICK_STAIRS, langConfig.getString("block.minecraft.mossy_stone_brick_stairs", "Mossy Stone Brick Stairs")));
+ itemNames.add(new ItemName(Material.MOSSY_STONE_BRICK_WALL, langConfig.getString("block.minecraft.mossy_stone_brick_wall", "Mossy Stone Brick Wall")));
+ itemNames.add(new ItemName(Material.NETHER_BRICK_WALL, langConfig.getString("block.minecraft.nether_brick_wall", "Nether Brick Wall")));
+ itemNames.add(new ItemName(Material.OAK_SIGN, langConfig.getString("block.minecraft.oak_sign", "Oak Sign")));
+ itemNames.add(new ItemName(Material.OAK_WALL_SIGN, langConfig.getString("block.minecraft.oak_wall_sign", "Oak Wall Sign")));
+ itemNames.add(new ItemName(Material.PANDA_SPAWN_EGG, langConfig.getString("item.minecraft.panda_spawn_egg", "Panda Spawn Egg")));
+ itemNames.add(new ItemName(Material.PILLAGER_SPAWN_EGG, langConfig.getString("item.minecraft.pillager_spawn_egg", "Pillager Spawn Egg")));
+ itemNames.add(new ItemName(Material.POLISHED_ANDESITE_SLAB, langConfig.getString("block.minecraft.polished_andesite_slab", "Polished Andesite Slab")));
+ itemNames.add(new ItemName(Material.POLISHED_ANDESITE_STAIRS, langConfig.getString("block.minecraft.polished_andesite_stairs", "Polished Andesite Stairs")));
+ itemNames.add(new ItemName(Material.POLISHED_DIORITE_SLAB, langConfig.getString("block.minecraft.polished_diorite_slab", "Polished Diorite Slab")));
+ itemNames.add(new ItemName(Material.POLISHED_DIORITE_STAIRS, langConfig.getString("block.minecraft.polished_diorite_stairs", "Polished Diorite Stairs")));
+ itemNames.add(new ItemName(Material.POLISHED_GRANITE_SLAB, langConfig.getString("block.minecraft.polished_granite_slab", "Polished Granite Slab")));
+ itemNames.add(new ItemName(Material.POLISHED_GRANITE_STAIRS, langConfig.getString("block.minecraft.polished_granite_stairs", "Polished Granite Stairs")));
+ itemNames.add(new ItemName(Material.POTTED_BAMBOO, langConfig.getString("block.minecraft.potted_bamboo", "Potted Bamboo")));
+ itemNames.add(new ItemName(Material.POTTED_CORNFLOWER, langConfig.getString("block.minecraft.potted_cornflower", "Potted Cornflower")));
+ itemNames.add(new ItemName(Material.POTTED_LILY_OF_THE_VALLEY, langConfig.getString("block.minecraft.potted_lily_of_the_valley", "Potted Lily of the Valley")));
+ itemNames.add(new ItemName(Material.POTTED_WITHER_ROSE, langConfig.getString("block.minecraft.potted_wither_rose", "Potted Wither Rose")));
+ itemNames.add(new ItemName(Material.PRISMARINE_WALL, langConfig.getString("block.minecraft.prismarine_wall", "Prismarine Wall")));
+ itemNames.add(new ItemName(Material.RAVAGER_SPAWN_EGG, langConfig.getString("item.minecraft.ravager_spawn_egg", "Ravager Spawn Egg")));
+ itemNames.add(new ItemName(Material.RED_DYE, langConfig.getString("item.minecraft.red_dye", "Red Dye")));
+ itemNames.add(new ItemName(Material.RED_NETHER_BRICK_SLAB, langConfig.getString("block.minecraft.red_nether_brick_slab", "Red Nether Brick Slab")));
+ itemNames.add(new ItemName(Material.RED_NETHER_BRICK_STAIRS, langConfig.getString("block.minecraft.red_nether_brick_stairs", "Red Nether Brick Stairs")));
+ itemNames.add(new ItemName(Material.RED_NETHER_BRICK_WALL, langConfig.getString("block.minecraft.red_nether_brick_wall", "Red Nether Brick Wall")));
+ itemNames.add(new ItemName(Material.RED_SANDSTONE_WALL, langConfig.getString("block.minecraft.red_sandstone_wall", "Red Sandstone Wall")));
+ itemNames.add(new ItemName(Material.SANDSTONE_WALL, langConfig.getString("block.minecraft.sandstone_wall", "Sandstone Wall")));
+ itemNames.add(new ItemName(Material.SCAFFOLDING, langConfig.getString("block.minecraft.scaffolding", "Scaffolding")));
+ itemNames.add(new ItemName(Material.SKULL_BANNER_PATTERN, langConfig.getString("item.minecraft.skull_banner_pattern", "Banner Pattern")));
+ itemNames.add(new ItemName(Material.SMITHING_TABLE, langConfig.getString("block.minecraft.smithing_table", "Smithing Table")));
+ itemNames.add(new ItemName(Material.SMOKER, langConfig.getString("block.minecraft.smoker", "Smoker")));
+ itemNames.add(new ItemName(Material.SMOOTH_QUARTZ_SLAB, langConfig.getString("block.minecraft.smooth_quartz_slab", "Smooth Quartz Slab")));
+ itemNames.add(new ItemName(Material.SMOOTH_QUARTZ_STAIRS, langConfig.getString("block.minecraft.smooth_quartz_stairs", "Smooth Quartz Stairs")));
+ itemNames.add(new ItemName(Material.SMOOTH_RED_SANDSTONE_SLAB, langConfig.getString("block.minecraft.smooth_red_sandstone_slab", "Smooth Red Sandstone Slab")));
+ itemNames.add(new ItemName(Material.SMOOTH_RED_SANDSTONE_STAIRS, langConfig.getString("block.minecraft.smooth_red_sandstone_stairs", "Smooth Red Sandstone Stairs")));
+ itemNames.add(new ItemName(Material.SMOOTH_SANDSTONE_SLAB, langConfig.getString("block.minecraft.smooth_sandstone_slab", "Smooth Sandstone Slab")));
+ itemNames.add(new ItemName(Material.SMOOTH_SANDSTONE_STAIRS, langConfig.getString("block.minecraft.smooth_sandstone_stairs", "Smooth Sandstone Stairs")));
+ itemNames.add(new ItemName(Material.SMOOTH_STONE_SLAB, langConfig.getString("block.minecraft.smooth_stone_slab", "Smooth Stone Slab")));
+ itemNames.add(new ItemName(Material.SPRUCE_SIGN, langConfig.getString("block.minecraft.spruce_sign", "Spruce Sign")));
+ itemNames.add(new ItemName(Material.SPRUCE_WALL_SIGN, langConfig.getString("block.minecraft.spruce_wall_sign", "Spruce Wall Sign")));
+ itemNames.add(new ItemName(Material.STONE_BRICK_WALL, langConfig.getString("block.minecraft.stone_brick_wall", "Stone Brick Wall")));
+ itemNames.add(new ItemName(Material.STONECUTTER, langConfig.getString("block.minecraft.stonecutter", "Stonecutter")));
+ itemNames.add(new ItemName(Material.SUSPICIOUS_STEW, langConfig.getString("item.minecraft.suspicious_stew", "Suspicious Stew")));
+ itemNames.add(new ItemName(Material.SWEET_BERRIES, langConfig.getString("item.minecraft.sweet_berries", "Sweet Berries")));
+ itemNames.add(new ItemName(Material.SWEET_BERRY_BUSH, langConfig.getString("block.minecraft.sweet_berry_bush", "Sweet Berry Bush")));
+ itemNames.add(new ItemName(Material.TRADER_LLAMA_SPAWN_EGG, langConfig.getString("item.minecraft.trader_llama_spawn_egg", "Trader Llama Spawn Egg")));
+ itemNames.add(new ItemName(Material.WANDERING_TRADER_SPAWN_EGG, langConfig.getString("item.minecraft.wandering_trader_spawn_egg", "Wandering Trader Spawn Egg")));
+ itemNames.add(new ItemName(Material.WHITE_DYE, langConfig.getString("item.minecraft.white_dye", "White Dye")));
+ itemNames.add(new ItemName(Material.WITHER_ROSE, langConfig.getString("item.minecraft.wither_rose", "Wither Rose")));
+ itemNames.add(new ItemName(Material.YELLOW_DYE, langConfig.getString("item.minecraft.yellow_dye", "Yellow Dye")));
+ } else {
+ // Add pre-1.14 item names that don't exist anymore
+ itemNames.add(new ItemName(Material.valueOf("CACTUS_GREEN"), langConfig.getString("item.minecraft.cactus_green", "Cactus Green")));
+ itemNames.add(new ItemName(Material.valueOf("DANDELION_YELLOW"), langConfig.getString("item.minecraft.dandelion_yellow", "Dandelion Yellow")));
+ itemNames.add(new ItemName(Material.valueOf("ROSE_RED"), langConfig.getString("item.minecraft.rose_red", "Rose Red")));
+ itemNames.add(new ItemName(Material.valueOf("SIGN"), langConfig.getString("item.minecraft.sign", "Sign")));
+ itemNames.add(new ItemName(Material.valueOf("WALL_SIGN"), langConfig.getString("item.minecraft.wall_sign", "Wall Sign")));
+ }
+
// Add Enchantment Names
enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_ALL, langConfig.getString("enchantment.minecraft.sharpness", "Sharpness")));
enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_UNDEAD, langConfig.getString("enchantment.minecraft.smite", "Smite")));
@@ -1869,6 +1982,13 @@ public class LanguageUtils {
enchantmentNames.add(new EnchantmentName(Enchantment.RIPTIDE, langConfig.getString("enchantment.minecraft.riptide", "Riptide")));
enchantmentNames.add(new EnchantmentName(Enchantment.CHANNELING, langConfig.getString("enchantment.minecraft.channeling", "Channeling")));
+ if (Utils.getMajorVersion() >= 14) {
+ // Add 1.14 enchantment names
+ enchantmentNames.add(new EnchantmentName(Enchantment.MULTISHOT, langConfig.getString("enchantment.minecraft.multishot", "Multishot")));
+ enchantmentNames.add(new EnchantmentName(Enchantment.QUICK_CHARGE, langConfig.getString("enchantment.minecraft.quick_charge", "Quick Charge")));
+ enchantmentNames.add(new EnchantmentName(Enchantment.PIERCING, langConfig.getString("enchantment.minecraft.piercing", "Piercing")));
+ }
+
// Add Enchantment Level Names
enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(1, langConfig.getString("enchantment.level.1", "I")));
enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(2, langConfig.getString("enchantment.level.2", "II")));
@@ -1913,6 +2033,14 @@ public class LanguageUtils {
potionEffectNames.add(new PotionEffectName(PotionEffectType.CONDUIT_POWER, langConfig.getString("effect.minecraft.conduit_power", "Conduit Power")));
potionEffectNames.add(new PotionEffectName(PotionEffectType.DOLPHINS_GRACE, langConfig.getString("effect.minecraft.dolphins_grace", "Dolphin's Grace")));
+
+ if (Utils.getMajorVersion() >= 14) {
+ // Add 1.14 potion effect names
+ potionEffectNames.add(new PotionEffectName(PotionEffectType.BAD_OMEN, langConfig.getString("effect.minecraft.bad_omen", "Bad Omen")));
+ potionEffectNames.add(new PotionEffectName(PotionEffectType.HERO_OF_THE_VILLAGE, langConfig.getString("effect.minecraft.hero_of_the_village", "Hero of the Village")));
+
+ }
+
// Add Potion Names
potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.UNCRAFTABLE, langConfig.getString("item.minecraft.potion.effect.empty", "Uncraftable Potion")));
potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WATER, langConfig.getString("item.minecraft.potion.effect.water", "Water Bottle")));
@@ -2023,6 +2151,15 @@ public class LanguageUtils {
musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_11, langConfig.getString("item.minecraft.music_disc_11.desc", "C418 - 11")));
musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_WAIT, langConfig.getString("item.minecraft.music_disc_wait.desc", "C418 - wait")));
+ if (Utils.getMajorVersion() >= 14) {
+ // Add Banner Pattern Names
+ bannerPatternNames.add(new BannerPatternName(Material.CREEPER_BANNER_PATTERN, langConfig.getString("item.minecraft.creeper_banner_pattern.desc", "Creeper Charge")));
+ bannerPatternNames.add(new BannerPatternName(Material.SKULL_BANNER_PATTERN, langConfig.getString("item.minecraft.skull_banner_pattern.desc", "Skull Charge")));
+ bannerPatternNames.add(new BannerPatternName(Material.FLOWER_BANNER_PATTERN, langConfig.getString("item.minecraft.flower_banner_pattern.desc", "Flower Charge")));
+ bannerPatternNames.add(new BannerPatternName(Material.MOJANG_BANNER_PATTERN, langConfig.getString("item.minecraft.mojang_banner_pattern.desc", "Thing")));
+ bannerPatternNames.add(new BannerPatternName(Material.GLOBE_BANNER_PATTERN, langConfig.getString("item.minecraft.globe_banner_pattern.desc", "Globe")));
+ }
+
// Add Book Generation Names
generationNames.add(new BookGenerationName(CustomBookMeta.Generation.ORIGINAL, langConfig.getString("book.generation.0", "Original")));
generationNames.add(new BookGenerationName(CustomBookMeta.Generation.COPY_OF_ORIGINAL, langConfig.getString("book.generation.1", "Copy of original")));
@@ -2329,6 +2466,21 @@ public class LanguageUtils {
return "";
}
+ /**
+ * @param bannerPatternMaterial Material of the Music Disc whose name should be looked up
+ * @return Localized title of the Music Disc
+ */
+ public static String getBannerPatternName(Material bannerPatternMaterial) {
+ if (bannerPatternMaterial == null) return null;
+ for (BannerPatternName bannerPatternName : bannerPatternNames) {
+ if (bannerPatternMaterial == bannerPatternName.getBannerPatternMaterial()) {
+ return bannerPatternName.getLocalizedName();
+ }
+ }
+
+ return "";
+ }
+
/**
* @param is ItemStack that should be of type {@link Material#WRITTEN_BOOK}
* @return Localized name of the generation or {@code null} if the item is not a written book
diff --git a/src/main/java/de/epiceric/shopchest/shop/Shop.java b/src/main/java/de/epiceric/shopchest/shop/Shop.java
index 4f41c93..2c863ba 100644
--- a/src/main/java/de/epiceric/shopchest/shop/Shop.java
+++ b/src/main/java/de/epiceric/shopchest/shop/Shop.java
@@ -286,6 +286,7 @@ public class Shop {
placeholders.put(Placeholder.SELL_PRICE, getSellPrice());
placeholders.put(Placeholder.POTION_EFFECT, LanguageUtils.getPotionEffectName(itemStack));
placeholders.put(Placeholder.MUSIC_TITLE, LanguageUtils.getMusicDiscName(itemStack.getType()));
+ placeholders.put(Placeholder.BANNER_PATTERN_NAME, LanguageUtils.getBannerPatternName(itemStack.getType()));
placeholders.put(Placeholder.GENERATION, LanguageUtils.getBookGenerationName(itemStack));
placeholders.put(Placeholder.STOCK, Utils.getAmount(inventory, itemStack));
placeholders.put(Placeholder.MAX_STACK, itemStack.getMaxStackSize());
diff --git a/src/main/resources/hologram-format.yml b/src/main/resources/hologram-format.yml
index 54dc3c0..c12806c 100644
--- a/src/main/resources/hologram-format.yml
+++ b/src/main/resources/hologram-format.yml
@@ -24,8 +24,8 @@
#
# Valid placeholders are:
# %VENDOR%, %AMOUNT%, %ITEM-NAME%, %ENCHANTMENT%, %BUY-PRICE%,
-# %SELL-PRICE%, %POTION-EFFECT%, %MUSIC-TITLE%, %GENERATION%,
-# %STOCK%, %MAX-STACK%, %CHEST-SPACE%, %DURABILITY%
+# %SELL-PRICE%, %POTION-EFFECT%, %MUSIC-TITLE%, %BANNER-PATTERN-NAME%,
+# %GENERATION%, %STOCK%, %MAX-STACK%, %CHEST-SPACE%, %DURABILITY%
#
# In the format, placeholders can also be used for scripts.
# Examples:
diff --git a/src/main/resources/item_names.txt b/src/main/resources/item_names.txt
index 5c19b8a..061a8ab 100644
--- a/src/main/resources/item_names.txt
+++ b/src/main/resources/item_names.txt
@@ -1,868 +1,971 @@
-Item names for Bukkit 1.13
+Item names for Bukkit 1.14
(Source: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html)
-ACACIA_BOAT
-ACACIA_BUTTON
-ACACIA_DOOR
-ACACIA_FENCE
-ACACIA_FENCE_GATE
-ACACIA_LEAVES
-ACACIA_LOG
-ACACIA_PLANKS
-ACACIA_PRESSURE_PLATE
-ACACIA_SAPLING
-ACACIA_SLAB
-ACACIA_STAIRS
-ACACIA_TRAPDOOR
-ACACIA_WOOD
-ACTIVATOR_RAIL
-AIR
-ALLIUM
-ANDESITE
-ANVIL
-APPLE
-ARMOR_STAND
-ARROW
-ATTACHED_MELON_STEM
-ATTACHED_PUMPKIN_STEM
-AZURE_BLUET
-BAKED_POTATO
-BARRIER
-BAT_SPAWN_EGG
-BEACON
-BEDROCK
-BEEF
-BEETROOT
-BEETROOT_SEEDS
-BEETROOT_SOUP
-BEETROOTS
-BIRCH_BOAT
-BIRCH_BUTTON
-BIRCH_DOOR
-BIRCH_FENCE
-BIRCH_FENCE_GATE
-BIRCH_LEAVES
-BIRCH_LOG
-BIRCH_PLANKS
-BIRCH_PRESSURE_PLATE
-BIRCH_SAPLING
-BIRCH_SLAB
-BIRCH_STAIRS
-BIRCH_TRAPDOOR
-BIRCH_WOOD
-BLACK_BANNER
-BLACK_BED
-BLACK_CARPET
-BLACK_CONCRETE
-BLACK_CONCRETE_POWDER
-BLACK_GLAZED_TERRACOTTA
-BLACK_SHULKER_BOX
-BLACK_STAINED_GLASS
-BLACK_STAINED_GLASS_PANE
-BLACK_TERRACOTTA
-BLACK_WALL_BANNER
-BLACK_WOOL
-BLAZE_POWDER
-BLAZE_ROD
-BLAZE_SPAWN_EGG
-BLUE_BANNER
-BLUE_BED
-BLUE_CARPET
-BLUE_CONCRETE
-BLUE_CONCRETE_POWDER
-BLUE_GLAZED_TERRACOTTA
-BLUE_ICE
-BLUE_ORCHID
-BLUE_SHULKER_BOX
-BLUE_STAINED_GLASS
-BLUE_STAINED_GLASS_PANE
-BLUE_TERRACOTTA
-BLUE_WALL_BANNER
-BLUE_WOOL
-BONE
-BONE_BLOCK
-BONE_MEAL
-BOOK
-BOOKSHELF
-BOW
-BOWL
-BRAIN_CORAL
-BRAIN_CORAL_BLOCK
-BRAIN_CORAL_FAN
-BRAIN_CORAL_WALL_FAN
-BREAD
-BREWING_STAND
-BRICK
-BRICK_SLAB
-BRICK_STAIRS
-BRICKS
-BROWN_BANNER
-BROWN_BED
-BROWN_CARPET
-BROWN_CONCRETE
-BROWN_CONCRETE_POWDER
-BROWN_GLAZED_TERRACOTTA
-BROWN_MUSHROOM
-BROWN_MUSHROOM_BLOCK
-BROWN_SHULKER_BOX
-BROWN_STAINED_GLASS
-BROWN_STAINED_GLASS_PANE
-BROWN_TERRACOTTA
-BROWN_WALL_BANNER
-BROWN_WOOL
-BUBBLE_COLUMN
-BUBBLE_CORAL
-BUBBLE_CORAL_BLOCK
-BUBBLE_CORAL_FAN
-BUBBLE_CORAL_WALL_FAN
-BUCKET
-CACTUS
-CACTUS_GREEN
-CAKE
-CARROT
-CARROT_ON_A_STICK
-CARROTS
-CARVED_PUMPKIN
-CAULDRON
-CAVE_AIR
-CAVE_SPIDER_SPAWN_EGG
-CHAIN_COMMAND_BLOCK
-CHAINMAIL_BOOTS
-CHAINMAIL_CHESTPLATE
-CHAINMAIL_HELMET
-CHAINMAIL_LEGGINGS
-CHARCOAL
-CHEST
-CHEST_MINECART
-CHICKEN
-CHICKEN_SPAWN_EGG
-CHIPPED_ANVIL
-CHISELED_QUARTZ_BLOCK
-CHISELED_RED_SANDSTONE
-CHISELED_SANDSTONE
-CHISELED_STONE_BRICKS
-CHORUS_FLOWER
-CHORUS_FRUIT
-CHORUS_PLANT
-CLAY
-CLAY_BALL
-CLOCK
-COAL
-COAL_BLOCK
-COAL_ORE
-COARSE_DIRT
-COBBLESTONE
-COBBLESTONE_SLAB
-COBBLESTONE_STAIRS
-COBBLESTONE_WALL
-COBWEB
-COCOA
-COCOA_BEANS
-COD
-COD_BUCKET
-COD_SPAWN_EGG
-COMMAND_BLOCK
-COMMAND_BLOCK_MINECART
-COMPARATOR
-COMPASS
-CONDUIT
-COOKED_BEEF
-COOKED_CHICKEN
-COOKED_COD
-COOKED_MUTTON
-COOKED_PORKCHOP
-COOKED_RABBIT
-COOKED_SALMON
-COOKIE
-COW_SPAWN_EGG
-CRACKED_STONE_BRICKS
-CRAFTING_TABLE
-CREEPER_HEAD
-CREEPER_SPAWN_EGG
-CREEPER_WALL_HEAD
-CUT_RED_SANDSTONE
-CUT_SANDSTONE
-CYAN_BANNER
-CYAN_BED
-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_WALL_BANNER
-CYAN_WOOL
-DAMAGED_ANVIL
-DANDELION
-DANDELION_YELLOW
-DARK_OAK_BOAT
-DARK_OAK_BUTTON
-DARK_OAK_DOOR
-DARK_OAK_FENCE
-DARK_OAK_FENCE_GATE
-DARK_OAK_LEAVES
-DARK_OAK_LOG
-DARK_OAK_PLANKS
-DARK_OAK_PRESSURE_PLATE
-DARK_OAK_SAPLING
-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_BLOCK
-DEAD_BRAIN_CORAL_FAN
-DEAD_BRAIN_CORAL_WALL_FAN
-DEAD_BUBBLE_CORAL_BLOCK
-DEAD_BUBBLE_CORAL_FAN
-DEAD_BUBBLE_CORAL_WALL_FAN
-DEAD_BUSH
-DEAD_FIRE_CORAL_BLOCK
-DEAD_FIRE_CORAL_FAN
-DEAD_FIRE_CORAL_WALL_FAN
-DEAD_HORN_CORAL_BLOCK
-DEAD_HORN_CORAL_FAN
-DEAD_HORN_CORAL_WALL_FAN
-DEAD_TUBE_CORAL_BLOCK
-DEAD_TUBE_CORAL_FAN
-DEAD_TUBE_CORAL_WALL_FAN
-DEBUG_STICK
-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
-DIRT
-DISPENSER
-DOLPHIN_SPAWN_EGG
-DONKEY_SPAWN_EGG
-DRAGON_BREATH
-DRAGON_EGG
-DRAGON_HEAD
-DRAGON_WALL_HEAD
-DRIED_KELP
-DRIED_KELP_BLOCK
-DROPPER
-DROWNED_SPAWN_EGG
-EGG
-ELDER_GUARDIAN_SPAWN_EGG
-ELYTRA
-EMERALD
-EMERALD_BLOCK
-EMERALD_ORE
-ENCHANTED_BOOK
-ENCHANTED_GOLDEN_APPLE
-ENCHANTING_TABLE
-END_CRYSTAL
-END_GATEWAY
-END_PORTAL
-END_PORTAL_FRAME
-END_ROD
-END_STONE
-END_STONE_BRICKS
-ENDER_CHEST
-ENDER_EYE
-ENDER_PEARL
-ENDERMAN_SPAWN_EGG
-ENDERMITE_SPAWN_EGG
-EVOKER_SPAWN_EGG
-EXPERIENCE_BOTTLE
-FARMLAND
-FEATHER
-FERMENTED_SPIDER_EYE
-FERN
-FILLED_MAP
-FIRE
-FIRE_CHARGE
-FIRE_CORAL
-FIRE_CORAL_BLOCK
-FIRE_CORAL_FAN
-FIRE_CORAL_WALL_FAN
-FIREWORK_ROCKET
-FIREWORK_STAR
-FISHING_ROD
-FLINT
-FLINT_AND_STEEL
-FLOWER_POT
-FROSTED_ICE
-FURNACE
-FURNACE_MINECART
-GHAST_SPAWN_EGG
-GHAST_TEAR
-GLASS
-GLASS_BOTTLE
-GLASS_PANE
-GLISTERING_MELON_SLICE
-GLOWSTONE
-GLOWSTONE_DUST
-GOLD_BLOCK
-GOLD_INGOT
-GOLD_NUGGET
-GOLD_ORE
-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
-GRANITE
-GRASS
-GRASS_BLOCK
-GRASS_PATH
-GRAVEL
-GRAY_BANNER
-GRAY_BED
-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_WALL_BANNER
-GRAY_WOOL
-GREEN_BANNER
-GREEN_BED
-GREEN_CARPET
-GREEN_CONCRETE
-GREEN_CONCRETE_POWDER
-GREEN_GLAZED_TERRACOTTA
-GREEN_SHULKER_BOX
-GREEN_STAINED_GLASS
-GREEN_STAINED_GLASS_PANE
-GREEN_TERRACOTTA
-GREEN_WALL_BANNER
-GREEN_WOOL
-GUARDIAN_SPAWN_EGG
-GUNPOWDER
-HAY_BLOCK
-HEART_OF_THE_SEA
-HEAVY_WEIGHTED_PRESSURE_PLATE
-HOPPER
-HOPPER_MINECART
-HORN_CORAL
-HORN_CORAL_BLOCK
-HORN_CORAL_FAN
-HORN_CORAL_WALL_FAN
-HORSE_SPAWN_EGG
-HUSK_SPAWN_EGG
-ICE
-INFESTED_CHISELED_STONE_BRICKS
-INFESTED_COBBLESTONE
-INFESTED_CRACKED_STONE_BRICKS
-INFESTED_MOSSY_STONE_BRICKS
-INFESTED_STONE
-INFESTED_STONE_BRICKS
-INK_SAC
-IRON_AXE
-IRON_BARS
-IRON_BLOCK
-IRON_BOOTS
-IRON_CHESTPLATE
-IRON_DOOR
-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
-JUKEBOX
-JUNGLE_BOAT
-JUNGLE_BUTTON
-JUNGLE_DOOR
-JUNGLE_FENCE
-JUNGLE_FENCE_GATE
-JUNGLE_LEAVES
-JUNGLE_LOG
-JUNGLE_PLANKS
-JUNGLE_PRESSURE_PLATE
-JUNGLE_SAPLING
-JUNGLE_SLAB
-JUNGLE_STAIRS
-JUNGLE_TRAPDOOR
-JUNGLE_WOOD
-KELP
-KELP_PLANT
-KNOWLEDGE_BOOK
-LADDER
-LAPIS_BLOCK
-LAPIS_LAZULI
-LAPIS_ORE
-LARGE_FERN
-LAVA
-LAVA_BUCKET
-LEAD
-LEATHER
-LEATHER_BOOTS
-LEATHER_CHESTPLATE
-LEATHER_HELMET
+ACACIA_BOAT
+ACACIA_BUTTON
+ACACIA_DOOR
+ACACIA_FENCE
+ACACIA_FENCE_GATE
+ACACIA_LEAVES
+ACACIA_LOG
+ACACIA_PLANKS
+ACACIA_PRESSURE_PLATE
+ACACIA_SAPLING
+ACACIA_SIGN
+ACACIA_SLAB
+ACACIA_STAIRS
+ACACIA_TRAPDOOR
+ACACIA_WALL_SIGN
+ACACIA_WOOD
+ACTIVATOR_RAIL
+AIR
+ALLIUM
+ANDESITE
+ANDESITE_SLAB
+ANDESITE_STAIRS
+ANDESITE_WALL
+ANVIL
+APPLE
+ARMOR_STAND
+ARROW
+ATTACHED_MELON_STEM
+ATTACHED_PUMPKIN_STEM
+AZURE_BLUET
+BAKED_POTATO
+BAMBOO
+BAMBOO_SAPLING
+BARREL
+BARRIER
+BAT_SPAWN_EGG
+BEACON
+BEDROCK
+BEEF
+BEETROOT
+BEETROOT_SEEDS
+BEETROOT_SOUP
+BEETROOTS
+BELL
+BIRCH_BOAT
+BIRCH_BUTTON
+BIRCH_DOOR
+BIRCH_FENCE
+BIRCH_FENCE_GATE
+BIRCH_LEAVES
+BIRCH_LOG
+BIRCH_PLANKS
+BIRCH_PRESSURE_PLATE
+BIRCH_SAPLING
+BIRCH_SIGN
+BIRCH_SLAB
+BIRCH_STAIRS
+BIRCH_TRAPDOOR
+BIRCH_WALL_SIGN
+BIRCH_WOOD
+BLACK_BANNER
+BLACK_BED
+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_WALL_BANNER
+BLACK_WOOL
+BLAST_FURNACE
+BLAZE_POWDER
+BLAZE_ROD
+BLAZE_SPAWN_EGG
+BLUE_BANNER
+BLUE_BED
+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_WALL_BANNER
+BLUE_WOOL
+BONE
+BONE_BLOCK
+BONE_MEAL
+BOOK
+BOOKSHELF
+BOW
+BOWL
+BRAIN_CORAL
+BRAIN_CORAL_BLOCK
+BRAIN_CORAL_FAN
+BRAIN_CORAL_WALL_FAN
+BREAD
+BREWING_STAND
+BRICK
+BRICK_SLAB
+BRICK_STAIRS
+BRICK_WALL
+BRICKS
+BROWN_BANNER
+BROWN_BED
+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_WALL_BANNER
+BROWN_WOOL
+BUBBLE_COLUMN
+BUBBLE_CORAL
+BUBBLE_CORAL_BLOCK
+BUBBLE_CORAL_FAN
+BUBBLE_CORAL_WALL_FAN
+BUCKET
+CACTUS
+CAKE
+CAMPFIRE
+CARROT
+CARROT_ON_A_STICK
+CARROTS
+CARTOGRAPHY_TABLE
+CARVED_PUMPKIN
+CAT_SPAWN_EGG
+CAULDRON
+CAVE_AIR
+CAVE_SPIDER_SPAWN_EGG
+CHAIN_COMMAND_BLOCK
+CHAINMAIL_BOOTS
+CHAINMAIL_CHESTPLATE
+CHAINMAIL_HELMET
+CHAINMAIL_LEGGINGS
+CHARCOAL
+CHEST
+CHEST_MINECART
+CHICKEN
+CHICKEN_SPAWN_EGG
+CHIPPED_ANVIL
+CHISELED_QUARTZ_BLOCK
+CHISELED_RED_SANDSTONE
+CHISELED_SANDSTONE
+CHISELED_STONE_BRICKS
+CHORUS_FLOWER
+CHORUS_FRUIT
+CHORUS_PLANT
+CLAY
+CLAY_BALL
+CLOCK
+COAL
+COAL_BLOCK
+COAL_ORE
+COARSE_DIRT
+COBBLESTONE
+COBBLESTONE_SLAB
+COBBLESTONE_STAIRS
+COBBLESTONE_WALL
+COBWEB
+COCOA
+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
+CORNFLOWER
+COW_SPAWN_EGG
+CRACKED_STONE_BRICKS
+CRAFTING_TABLE
+CREEPER_BANNER_PATTERN
+CREEPER_HEAD
+CREEPER_SPAWN_EGG
+CREEPER_WALL_HEAD
+CROSSBOW
+CUT_RED_SANDSTONE
+CUT_RED_SANDSTONE_SLAB
+CUT_SANDSTONE
+CUT_SANDSTONE_SLAB
+CYAN_BANNER
+CYAN_BED
+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_WALL_BANNER
+CYAN_WOOL
+DAMAGED_ANVIL
+DANDELION
+DARK_OAK_BOAT
+DARK_OAK_BUTTON
+DARK_OAK_DOOR
+DARK_OAK_FENCE
+DARK_OAK_FENCE_GATE
+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_WALL_SIGN
+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_BRAIN_CORAL_WALL_FAN
+DEAD_BUBBLE_CORAL
+DEAD_BUBBLE_CORAL_BLOCK
+DEAD_BUBBLE_CORAL_FAN
+DEAD_BUBBLE_CORAL_WALL_FAN
+DEAD_BUSH
+DEAD_FIRE_CORAL
+DEAD_FIRE_CORAL_BLOCK
+DEAD_FIRE_CORAL_FAN
+DEAD_FIRE_CORAL_WALL_FAN
+DEAD_HORN_CORAL
+DEAD_HORN_CORAL_BLOCK
+DEAD_HORN_CORAL_FAN
+DEAD_HORN_CORAL_WALL_FAN
+DEAD_TUBE_CORAL
+DEAD_TUBE_CORAL_BLOCK
+DEAD_TUBE_CORAL_FAN
+DEAD_TUBE_CORAL_WALL_FAN
+DEBUG_STICK
+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
+DISPENSER
+DOLPHIN_SPAWN_EGG
+DONKEY_SPAWN_EGG
+DRAGON_BREATH
+DRAGON_EGG
+DRAGON_HEAD
+DRAGON_WALL_HEAD
+DRIED_KELP
+DRIED_KELP_BLOCK
+DROPPER
+DROWNED_SPAWN_EGG
+EGG
+ELDER_GUARDIAN_SPAWN_EGG
+ELYTRA
+EMERALD
+EMERALD_BLOCK
+EMERALD_ORE
+ENCHANTED_BOOK
+ENCHANTED_GOLDEN_APPLE
+ENCHANTING_TABLE
+END_CRYSTAL
+END_GATEWAY
+END_PORTAL
+END_PORTAL_FRAME
+END_ROD
+END_STONE
+END_STONE_BRICK_SLAB
+END_STONE_BRICK_STAIRS
+END_STONE_BRICK_WALL
+END_STONE_BRICKS
+ENDER_CHEST
+ENDER_EYE
+ENDER_PEARL
+ENDERMAN_SPAWN_EGG
+ENDERMITE_SPAWN_EGG
+EVOKER_SPAWN_EGG
+EXPERIENCE_BOTTLE
+FARMLAND
+FEATHER
+FERMENTED_SPIDER_EYE
+FERN
+FILLED_MAP
+FIRE
+FIRE_CHARGE
+FIRE_CORAL
+FIRE_CORAL_BLOCK
+FIRE_CORAL_FAN
+FIRE_CORAL_WALL_FAN
+FIREWORK_ROCKET
+FIREWORK_STAR
+FISHING_ROD
+FLETCHING_TABLE
+FLINT
+FLINT_AND_STEEL
+FLOWER_BANNER_PATTERN
+FLOWER_POT
+FOX_SPAWN_EGG
+FROSTED_ICE
+FURNACE
+FURNACE_MINECART
+GHAST_SPAWN_EGG
+GHAST_TEAR
+GLASS
+GLASS_BOTTLE
+GLASS_PANE
+GLISTERING_MELON_SLICE
+GLOBE_BANNER_PATTERN
+GLOWSTONE
+GLOWSTONE_DUST
+GOLD_BLOCK
+GOLD_INGOT
+GOLD_NUGGET
+GOLD_ORE
+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
+GRANITE
+GRANITE_SLAB
+GRANITE_STAIRS
+GRANITE_WALL
+GRASS
+GRASS_BLOCK
+GRASS_PATH
+GRAVEL
+GRAY_BANNER
+GRAY_BED
+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_WALL_BANNER
+GRAY_WOOL
+GREEN_BANNER
+GREEN_BED
+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_WALL_BANNER
+GREEN_WOOL
+GRINDSTONE
+GUARDIAN_SPAWN_EGG
+GUNPOWDER
+HAY_BLOCK
+HEART_OF_THE_SEA
+HEAVY_WEIGHTED_PRESSURE_PLATE
+HOPPER
+HOPPER_MINECART
+HORN_CORAL
+HORN_CORAL_BLOCK
+HORN_CORAL_FAN
+HORN_CORAL_WALL_FAN
+HORSE_SPAWN_EGG
+HUSK_SPAWN_EGG
+ICE
+INFESTED_CHISELED_STONE_BRICKS
+INFESTED_COBBLESTONE
+INFESTED_CRACKED_STONE_BRICKS
+INFESTED_MOSSY_STONE_BRICKS
+INFESTED_STONE
+INFESTED_STONE_BRICKS
+INK_SAC
+IRON_AXE
+IRON_BARS
+IRON_BLOCK
+IRON_BOOTS
+IRON_CHESTPLATE
+IRON_DOOR
+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_DOOR
+JUNGLE_FENCE
+JUNGLE_FENCE_GATE
+JUNGLE_LEAVES
+JUNGLE_LOG
+JUNGLE_PLANKS
+JUNGLE_PRESSURE_PLATE
+JUNGLE_SAPLING
+JUNGLE_SIGN
+JUNGLE_SLAB
+JUNGLE_STAIRS
+JUNGLE_TRAPDOOR
+JUNGLE_WALL_SIGN
+JUNGLE_WOOD
+KELP
+KELP_PLANT
+KNOWLEDGE_BOOK
+LADDER
+LANTERN
+LAPIS_BLOCK
+LAPIS_LAZULI
+LAPIS_ORE
+LARGE_FERN
+LAVA
+LAVA_BUCKET
+LEAD
+LEATHER
+LEATHER_BOOTS
+LEATHER_CHESTPLATE
+LEATHER_HELMET
+LEATHER_HORSE_ARMOR
LEATHER_LEGGINGS
-LEVER
-LIGHT_BLUE_BANNER
-LIGHT_BLUE_BED
-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_WALL_BANNER
-LIGHT_BLUE_WOOL
-LIGHT_GRAY_BANNER
-LIGHT_GRAY_BED
-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_WALL_BANNER
-LIGHT_GRAY_WOOL
-LIGHT_WEIGHTED_PRESSURE_PLATE
-LILAC
-LILY_PAD
-LIME_BANNER
-LIME_BED
-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_WALL_BANNER
-LIME_WOOL
-LINGERING_POTION
-LLAMA_SPAWN_EGG
-MAGENTA_BANNER
-MAGENTA_BED
-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_WALL_BANNER
-MAGENTA_WOOL
-MAGMA_BLOCK
-MAGMA_CREAM
-MAGMA_CUBE_SPAWN_EGG
-MAP
-MELON
-MELON_SEEDS
-MELON_SLICE
-MELON_STEM
-MILK_BUCKET
-MINECART
-MOOSHROOM_SPAWN_EGG
-MOSSY_COBBLESTONE
-MOSSY_COBBLESTONE_WALL
-MOSSY_STONE_BRICKS
-MOVING_PISTON
-MULE_SPAWN_EGG
-MUSHROOM_STEM
-MUSHROOM_STEW
-MUSIC_DISC_11
-MUSIC_DISC_13
-MUSIC_DISC_BLOCKS
-MUSIC_DISC_CAT
-MUSIC_DISC_CHIRP
-MUSIC_DISC_FAR
-MUSIC_DISC_MALL
-MUSIC_DISC_MELLOHI
-MUSIC_DISC_STAL
-MUSIC_DISC_STRAD
-MUSIC_DISC_WAIT
-MUSIC_DISC_WARD
-MUTTON
-MYCELIUM
-NAME_TAG
-NAUTILUS_SHELL
-NETHER_BRICK
-NETHER_BRICK_FENCE
-NETHER_BRICK_SLAB
-NETHER_BRICK_STAIRS
-NETHER_BRICKS
-NETHER_PORTAL
-NETHER_QUARTZ_ORE
-NETHER_STAR
-NETHER_WART
-NETHER_WART_BLOCK
-NETHERRACK
-NOTE_BLOCK
-OAK_BOAT
-OAK_BUTTON
-OAK_DOOR
-OAK_FENCE
-OAK_FENCE_GATE
-OAK_LEAVES
-OAK_LOG
-OAK_PLANKS
-OAK_PRESSURE_PLATE
-OAK_SAPLING
-OAK_SLAB
-OAK_STAIRS
-OAK_TRAPDOOR
-OAK_WOOD
-OBSERVER
-OBSIDIAN
-OCELOT_SPAWN_EGG
-ORANGE_BANNER
-ORANGE_BED
-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_WALL_BANNER
-ORANGE_WOOL
-OXEYE_DAISY
-PACKED_ICE
-PAINTING
-PAPER
-PARROT_SPAWN_EGG
-PEONY
-PETRIFIED_OAK_SLAB
-PHANTOM_MEMBRANE
-PHANTOM_SPAWN_EGG
-PIG_SPAWN_EGG
-PINK_BANNER
-PINK_BED
-PINK_CARPET
-PINK_CONCRETE
-PINK_CONCRETE_POWDER
-PINK_DYE
-PINK_GLAZED_TERRACOTTA
-PINK_SHULKER_BOX
-PINK_STAINED_GLASS
-PINK_STAINED_GLASS_PANE
-PINK_TERRACOTTA
-PINK_TULIP
-PINK_WALL_BANNER
-PINK_WOOL
-PISTON
-PISTON_HEAD
-PLAYER_HEAD
-PLAYER_WALL_HEAD
-PODZOL
-POISONOUS_POTATO
-POLAR_BEAR_SPAWN_EGG
-POLISHED_ANDESITE
-POLISHED_DIORITE
-POLISHED_GRANITE
-POPPED_CHORUS_FRUIT
-POPPY
-PORKCHOP
-POTATO
-POTATOES
-POTION
-POTTED_ACACIA_SAPLING
-POTTED_ALLIUM
-POTTED_AZURE_BLUET
-POTTED_BIRCH_SAPLING
-POTTED_BLUE_ORCHID
-POTTED_BROWN_MUSHROOM
-POTTED_CACTUS
-POTTED_DANDELION
-POTTED_DARK_OAK_SAPLING
-POTTED_DEAD_BUSH
-POTTED_FERN
-POTTED_JUNGLE_SAPLING
-POTTED_OAK_SAPLING
-POTTED_ORANGE_TULIP
-POTTED_OXEYE_DAISY
-POTTED_PINK_TULIP
-POTTED_POPPY
-POTTED_RED_MUSHROOM
-POTTED_RED_TULIP
-POTTED_SPRUCE_SAPLING
-POTTED_WHITE_TULIP
-POWERED_RAIL
-PRISMARINE
-PRISMARINE_BRICK_SLAB
-PRISMARINE_BRICK_STAIRS
-PRISMARINE_BRICKS
-PRISMARINE_CRYSTALS
-PRISMARINE_SHARD
-PRISMARINE_SLAB
-PRISMARINE_STAIRS
-PUFFERFISH
-PUFFERFISH_BUCKET
-PUFFERFISH_SPAWN_EGG
-PUMPKIN
-PUMPKIN_PIE
-PUMPKIN_SEEDS
-PUMPKIN_STEM
-PURPLE_BANNER
-PURPLE_BED
-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_WALL_BANNER
-PURPLE_WOOL
-PURPUR_BLOCK
-PURPUR_PILLAR
-PURPUR_SLAB
-PURPUR_STAIRS
-QUARTZ
-QUARTZ_BLOCK
-QUARTZ_PILLAR
-QUARTZ_SLAB
-QUARTZ_STAIRS
-RABBIT
-RABBIT_FOOT
-RABBIT_HIDE
-RABBIT_SPAWN_EGG
-RABBIT_STEW
-RAIL
-RED_BANNER
-RED_BED
-RED_CARPET
-RED_CONCRETE
-RED_CONCRETE_POWDER
-RED_GLAZED_TERRACOTTA
-RED_MUSHROOM
-RED_MUSHROOM_BLOCK
-RED_NETHER_BRICKS
-RED_SAND
-RED_SANDSTONE
-RED_SANDSTONE_SLAB
-RED_SANDSTONE_STAIRS
-RED_SHULKER_BOX
-RED_STAINED_GLASS
-RED_STAINED_GLASS_PANE
-RED_TERRACOTTA
-RED_TULIP
-RED_WALL_BANNER
-RED_WOOL
-REDSTONE
-REDSTONE_BLOCK
-REDSTONE_LAMP
-REDSTONE_ORE
-REDSTONE_TORCH
-REDSTONE_WALL_TORCH
-REDSTONE_WIRE
-REPEATER
-REPEATING_COMMAND_BLOCK
-ROSE_BUSH
-ROSE_RED
-ROTTEN_FLESH
-SADDLE
-SALMON
-SALMON_BUCKET
-SALMON_SPAWN_EGG
-SAND
-SANDSTONE
-SANDSTONE_SLAB
-SANDSTONE_STAIRS
-SCUTE
-SEA_LANTERN
-SEA_PICKLE
-SEAGRASS
-SHEARS
-SHEEP_SPAWN_EGG
-SHIELD
-SHULKER_BOX
-SHULKER_SHELL
-SHULKER_SPAWN_EGG
-SIGN
-SILVERFISH_SPAWN_EGG
-SKELETON_HORSE_SPAWN_EGG
-SKELETON_SKULL
-SKELETON_SPAWN_EGG
-SKELETON_WALL_SKULL
-SLIME_BALL
-SLIME_BLOCK
-SLIME_SPAWN_EGG
-SMOOTH_QUARTZ
-SMOOTH_RED_SANDSTONE
-SMOOTH_SANDSTONE
-SMOOTH_STONE
-SNOW
-SNOW_BLOCK
-SNOWBALL
-SOUL_SAND
-SPAWNER
-SPECTRAL_ARROW
-SPIDER_EYE
-SPIDER_SPAWN_EGG
-SPLASH_POTION
-SPONGE
-SPRUCE_BOAT
-SPRUCE_BUTTON
-SPRUCE_DOOR
-SPRUCE_FENCE
-SPRUCE_FENCE_GATE
-SPRUCE_LEAVES
-SPRUCE_LOG
-SPRUCE_PLANKS
-SPRUCE_PRESSURE_PLATE
-SPRUCE_SAPLING
-SPRUCE_SLAB
-SPRUCE_STAIRS
-SPRUCE_TRAPDOOR
-SPRUCE_WOOD
-SQUID_SPAWN_EGG
-STICK
-STICKY_PISTON
-STONE
-STONE_AXE
-STONE_BRICK_SLAB
-STONE_BRICK_STAIRS
-STONE_BRICKS
-STONE_BUTTON
-STONE_HOE
-STONE_PICKAXE
-STONE_PRESSURE_PLATE
-STONE_SHOVEL
-STONE_SLAB
-STONE_SWORD
-STRAY_SPAWN_EGG
-STRING
-STRIPPED_ACACIA_LOG
-STRIPPED_ACACIA_WOOD
-STRIPPED_BIRCH_LOG
-STRIPPED_BIRCH_WOOD
-STRIPPED_DARK_OAK_LOG
-STRIPPED_DARK_OAK_WOOD
-STRIPPED_JUNGLE_LOG
-STRIPPED_JUNGLE_WOOD
-STRIPPED_OAK_LOG
-STRIPPED_OAK_WOOD
-STRIPPED_SPRUCE_LOG
-STRIPPED_SPRUCE_WOOD
-STRUCTURE_BLOCK
-STRUCTURE_VOID
-SUGAR
-SUGAR_CANE
-SUNFLOWER
-TALL_GRASS
-TALL_SEAGRASS
-TERRACOTTA
-TIPPED_ARROW
-TNT
-TNT_MINECART
-TORCH
-TOTEM_OF_UNDYING
-TRAPPED_CHEST
-TRIDENT
-TRIPWIRE
-TRIPWIRE_HOOK
-TROPICAL_FISH
-TROPICAL_FISH_BUCKET
-TROPICAL_FISH_SPAWN_EGG
-TUBE_CORAL
-TUBE_CORAL_BLOCK
-TUBE_CORAL_FAN
-TUBE_CORAL_WALL_FAN
-TURTLE_EGG
-TURTLE_HELMET
-TURTLE_SPAWN_EGG
-VEX_SPAWN_EGG
-VILLAGER_SPAWN_EGG
-VINDICATOR_SPAWN_EGG
-VINE
-VOID_AIR
-WALL_SIGN
-WALL_TORCH
-WATER
-WATER_BUCKET
-WET_SPONGE
-WHEAT
-WHEAT_SEEDS
-WHITE_BANNER
-WHITE_BED
-WHITE_CARPET
-WHITE_CONCRETE
-WHITE_CONCRETE_POWDER
-WHITE_GLAZED_TERRACOTTA
-WHITE_SHULKER_BOX
-WHITE_STAINED_GLASS
-WHITE_STAINED_GLASS_PANE
-WHITE_TERRACOTTA
-WHITE_TULIP
-WHITE_WALL_BANNER
-WHITE_WOOL
-WITCH_SPAWN_EGG
-WITHER_SKELETON_SKULL
-WITHER_SKELETON_SPAWN_EGG
-WITHER_SKELETON_WALL_SKULL
-WOLF_SPAWN_EGG
-WOODEN_AXE
-WOODEN_HOE
-WOODEN_PICKAXE
-WOODEN_SHOVEL
-WOODEN_SWORD
-WRITABLE_BOOK
-WRITTEN_BOOK
-YELLOW_BANNER
-YELLOW_BED
-YELLOW_CARPET
-YELLOW_CONCRETE
-YELLOW_CONCRETE_POWDER
-YELLOW_GLAZED_TERRACOTTA
-YELLOW_SHULKER_BOX
-YELLOW_STAINED_GLASS
-YELLOW_STAINED_GLASS_PANE
-YELLOW_TERRACOTTA
-YELLOW_WALL_BANNER
-YELLOW_WOOL
-ZOMBIE_HEAD
-ZOMBIE_HORSE_SPAWN_EGG
-ZOMBIE_PIGMAN_SPAWN_EGG
-ZOMBIE_SPAWN_EGG
-ZOMBIE_VILLAGER_SPAWN_EGG
+LECTERN
+LEVER
+LIGHT_BLUE_BANNER
+LIGHT_BLUE_BED
+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_WALL_BANNER
+LIGHT_BLUE_WOOL
+LIGHT_GRAY_BANNER
+LIGHT_GRAY_BED
+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_WALL_BANNER
+LIGHT_GRAY_WOOL
+LIGHT_WEIGHTED_PRESSURE_PLATE
+LILAC
+LILY_OF_THE_VALLEY
+LILY_PAD
+LIME_BANNER
+LIME_BED
+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_WALL_BANNER
+LIME_WOOL
+LINGERING_POTION
+LLAMA_SPAWN_EGG
+LOOM
+MAGENTA_BANNER
+MAGENTA_BED
+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_WALL_BANNER
+MAGENTA_WOOL
+MAGMA_BLOCK
+MAGMA_CREAM
+MAGMA_CUBE_SPAWN_EGG
+MAP
+MELON
+MELON_SEEDS
+MELON_SLICE
+MELON_STEM
+MILK_BUCKET
+MINECART
+MOJANG_BANNER_PATTERN
+MOOSHROOM_SPAWN_EGG
+MOSSY_COBBLESTONE
+MOSSY_COBBLESTONE_SLAB
+MOSSY_COBBLESTONE_STAIRS
+MOSSY_COBBLESTONE_WALL
+MOSSY_STONE_BRICK_SLAB
+MOSSY_STONE_BRICK_STAIRS
+MOSSY_STONE_BRICK_WALL
+MOSSY_STONE_BRICKS
+MOVING_PISTON
+MULE_SPAWN_EGG
+MUSHROOM_STEM
+MUSHROOM_STEW
+MUSIC_DISC_11
+MUSIC_DISC_13
+MUSIC_DISC_BLOCKS
+MUSIC_DISC_CAT
+MUSIC_DISC_CHIRP
+MUSIC_DISC_FAR
+MUSIC_DISC_MALL
+MUSIC_DISC_MELLOHI
+MUSIC_DISC_STAL
+MUSIC_DISC_STRAD
+MUSIC_DISC_WAIT
+MUSIC_DISC_WARD
+MUTTON
+MYCELIUM
+NAME_TAG
+NAUTILUS_SHELL
+NETHER_BRICK
+NETHER_BRICK_FENCE
+NETHER_BRICK_SLAB
+NETHER_BRICK_STAIRS
+NETHER_BRICK_WALL
+NETHER_BRICKS
+NETHER_PORTAL
+NETHER_QUARTZ_ORE
+NETHER_STAR
+NETHER_WART
+NETHER_WART_BLOCK
+NETHERRACK
+NOTE_BLOCK
+OAK_BOAT
+OAK_BUTTON
+OAK_DOOR
+OAK_FENCE
+OAK_FENCE_GATE
+OAK_LEAVES
+OAK_LOG
+OAK_PLANKS
+OAK_PRESSURE_PLATE
+OAK_SAPLING
+OAK_SIGN
+OAK_SLAB
+OAK_STAIRS
+OAK_TRAPDOOR
+OAK_WALL_SIGN
+OAK_WOOD
+OBSERVER
+OBSIDIAN
+OCELOT_SPAWN_EGG
+ORANGE_BANNER
+ORANGE_BED
+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_WALL_BANNER
+ORANGE_WOOL
+OXEYE_DAISY
+PACKED_ICE
+PAINTING
+PANDA_SPAWN_EGG
+PAPER
+PARROT_SPAWN_EGG
+PEONY
+PETRIFIED_OAK_SLAB
+PHANTOM_MEMBRANE
+PHANTOM_SPAWN_EGG
+PIG_SPAWN_EGG
+PILLAGER_SPAWN_EGG
+PINK_BANNER
+PINK_BED
+PINK_CARPET
+PINK_CONCRETE
+PINK_CONCRETE_POWDER
+PINK_DYE
+PINK_GLAZED_TERRACOTTA
+PINK_SHULKER_BOX
+PINK_STAINED_GLASS
+PINK_STAINED_GLASS_PANE
+PINK_TERRACOTTA
+PINK_TULIP
+PINK_WALL_BANNER
+PINK_WOOL
+PISTON
+PISTON_HEAD
+PLAYER_HEAD
+PLAYER_WALL_HEAD
+PODZOL
+POISONOUS_POTATO
+POLAR_BEAR_SPAWN_EGG
+POLISHED_ANDESITE
+POLISHED_ANDESITE_SLAB
+POLISHED_ANDESITE_STAIRS
+POLISHED_DIORITE
+POLISHED_DIORITE_SLAB
+POLISHED_DIORITE_STAIRS
+POLISHED_GRANITE
+POLISHED_GRANITE_SLAB
+POLISHED_GRANITE_STAIRS
+POPPED_CHORUS_FRUIT
+POPPY
+PORKCHOP
+POTATO
+POTATOES
+POTION
+POTTED_ACACIA_SAPLING
+POTTED_ALLIUM
+POTTED_AZURE_BLUET
+POTTED_BAMBOO
+POTTED_BIRCH_SAPLING
+POTTED_BLUE_ORCHID
+POTTED_BROWN_MUSHROOM
+POTTED_CACTUS
+POTTED_CORNFLOWER
+POTTED_DANDELION
+POTTED_DARK_OAK_SAPLING
+POTTED_DEAD_BUSH
+POTTED_FERN
+POTTED_JUNGLE_SAPLING
+POTTED_LILY_OF_THE_VALLEY
+POTTED_OAK_SAPLING
+POTTED_ORANGE_TULIP
+POTTED_OXEYE_DAISY
+POTTED_PINK_TULIP
+POTTED_POPPY
+POTTED_RED_MUSHROOM
+POTTED_RED_TULIP
+POTTED_SPRUCE_SAPLING
+POTTED_WHITE_TULIP
+POTTED_WITHER_ROSE
+POWERED_RAIL
+PRISMARINE
+PRISMARINE_BRICK_SLAB
+PRISMARINE_BRICK_STAIRS
+PRISMARINE_BRICKS
+PRISMARINE_CRYSTALS
+PRISMARINE_SHARD
+PRISMARINE_SLAB
+PRISMARINE_STAIRS
+PRISMARINE_WALL
+PUFFERFISH
+PUFFERFISH_BUCKET
+PUFFERFISH_SPAWN_EGG
+PUMPKIN
+PUMPKIN_PIE
+PUMPKIN_SEEDS
+PUMPKIN_STEM
+PURPLE_BANNER
+PURPLE_BED
+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_WALL_BANNER
+PURPLE_WOOL
+PURPUR_BLOCK
+PURPUR_PILLAR
+PURPUR_SLAB
+PURPUR_STAIRS
+QUARTZ
+QUARTZ_BLOCK
+QUARTZ_PILLAR
+QUARTZ_SLAB
+QUARTZ_STAIRS
+RABBIT
+RABBIT_FOOT
+RABBIT_HIDE
+RABBIT_SPAWN_EGG
+RABBIT_STEW
+RAIL
+RAVAGER_SPAWN_EGG
+RED_BANNER
+RED_BED
+RED_CARPET
+RED_CONCRETE
+RED_CONCRETE_POWDER
+RED_DYE
+RED_GLAZED_TERRACOTTA
+RED_MUSHROOM
+RED_MUSHROOM_BLOCK
+RED_NETHER_BRICK_SLAB
+RED_NETHER_BRICK_STAIRS
+RED_NETHER_BRICK_WALL
+RED_NETHER_BRICKS
+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_WALL_BANNER
+RED_WOOL
+REDSTONE
+REDSTONE_BLOCK
+REDSTONE_LAMP
+REDSTONE_ORE
+REDSTONE_TORCH
+REDSTONE_WALL_TORCH
+REDSTONE_WIRE
+REPEATER
+REPEATING_COMMAND_BLOCK
+ROSE_BUSH
+ROTTEN_FLESH
+SADDLE
+SALMON
+SALMON_BUCKET
+SALMON_SPAWN_EGG
+SAND
+SANDSTONE
+SANDSTONE_SLAB
+SANDSTONE_STAIRS
+SANDSTONE_WALL
+SCAFFOLDING
+SCUTE
+SEA_LANTERN
+SEA_PICKLE
+SEAGRASS
+SHEARS
+SHEEP_SPAWN_EGG
+SHIELD
+SHULKER_BOX
+SHULKER_SHELL
+SHULKER_SPAWN_EGG
+SILVERFISH_SPAWN_EGG
+SKELETON_HORSE_SPAWN_EGG
+SKELETON_SKULL
+SKELETON_SPAWN_EGG
+SKELETON_WALL_SKULL
+SKULL_BANNER_PATTERN
+SLIME_BALL
+SLIME_BLOCK
+SLIME_SPAWN_EGG
+SMITHING_TABLE
+SMOKER
+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
+SNOW
+SNOW_BLOCK
+SNOWBALL
+SOUL_SAND
+SPAWNER
+SPECTRAL_ARROW
+SPIDER_EYE
+SPIDER_SPAWN_EGG
+SPLASH_POTION
+SPONGE
+SPRUCE_BOAT
+SPRUCE_BUTTON
+SPRUCE_DOOR
+SPRUCE_FENCE
+SPRUCE_FENCE_GATE
+SPRUCE_LEAVES
+SPRUCE_LOG
+SPRUCE_PLANKS
+SPRUCE_PRESSURE_PLATE
+SPRUCE_SAPLING
+SPRUCE_SIGN
+SPRUCE_SLAB
+SPRUCE_STAIRS
+SPRUCE_TRAPDOOR
+SPRUCE_WALL_SIGN
+SPRUCE_WOOD
+SQUID_SPAWN_EGG
+STICK
+STICKY_PISTON
+STONE
+STONE_AXE
+STONE_BRICK_SLAB
+STONE_BRICK_STAIRS
+STONE_BRICK_WALL
+STONE_BRICKS
+STONE_BUTTON
+STONE_HOE
+STONE_PICKAXE
+STONE_PRESSURE_PLATE
+STONE_SHOVEL
+STONE_SLAB
+STONE_STAIRS
+STONE_SWORD
+STONECUTTER
+STRAY_SPAWN_EGG
+STRING
+STRIPPED_ACACIA_LOG
+STRIPPED_ACACIA_WOOD
+STRIPPED_BIRCH_LOG
+STRIPPED_BIRCH_WOOD
+STRIPPED_DARK_OAK_LOG
+STRIPPED_DARK_OAK_WOOD
+STRIPPED_JUNGLE_LOG
+STRIPPED_JUNGLE_WOOD
+STRIPPED_OAK_LOG
+STRIPPED_OAK_WOOD
+STRIPPED_SPRUCE_LOG
+STRIPPED_SPRUCE_WOOD
+STRUCTURE_BLOCK
+STRUCTURE_VOID
+SUGAR
+SUGAR_CANE
+SUNFLOWER
+SUSPICIOUS_STEW
+SWEET_BERRIES
+SWEET_BERRY_BUSH
+TALL_GRASS
+TALL_SEAGRASS
+TERRACOTTA
+TIPPED_ARROW
+TNT
+TNT_MINECART
+TORCH
+TOTEM_OF_UNDYING
+TRADER_LLAMA_SPAWN_EGG
+TRAPPED_CHEST
+TRIDENT
+TRIPWIRE
+TRIPWIRE_HOOK
+TROPICAL_FISH
+TROPICAL_FISH_BUCKET
+TROPICAL_FISH_SPAWN_EGG
+TUBE_CORAL
+TUBE_CORAL_BLOCK
+TUBE_CORAL_FAN
+TUBE_CORAL_WALL_FAN
+TURTLE_EGG
+TURTLE_HELMET
+TURTLE_SPAWN_EGG
+VEX_SPAWN_EGG
+VILLAGER_SPAWN_EGG
+VINDICATOR_SPAWN_EGG
+VINE
+VOID_AIR
+WALL_TORCH
+WANDERING_TRADER_SPAWN_EGG
+WATER
+WATER_BUCKET
+WET_SPONGE
+WHEAT
+WHEAT_SEEDS
+WHITE_BANNER
+WHITE_BED
+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_WALL_BANNER
+WHITE_WOOL
+WITCH_SPAWN_EGG
+WITHER_ROSE
+WITHER_SKELETON_SKULL
+WITHER_SKELETON_SPAWN_EGG
+WITHER_SKELETON_WALL_SKULL
+WOLF_SPAWN_EGG
+WOODEN_AXE
+WOODEN_HOE
+WOODEN_PICKAXE
+WOODEN_SHOVEL
+WOODEN_SWORD
+WRITABLE_BOOK
+WRITTEN_BOOK
+YELLOW_BANNER
+YELLOW_BED
+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_WALL_BANNER
+YELLOW_WOOL
+ZOMBIE_HEAD
+ZOMBIE_HORSE_SPAWN_EGG
+ZOMBIE_PIGMAN_SPAWN_EGG
+ZOMBIE_SPAWN_EGG
+ZOMBIE_VILLAGER_SPAWN_EGG
ZOMBIE_WALL_HEAD
\ No newline at end of file