Add support for 1.14 (untested)

This commit is contained in:
Eric 2019-04-27 16:56:28 +02:00
parent e532e9c095
commit 8581622a57
8 changed files with 1160 additions and 873 deletions

View File

@ -69,7 +69,7 @@
<dependency> <dependency>
<groupId>org.bukkit</groupId> <groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId> <artifactId>bukkit</artifactId>
<version>1.13.2-R0.1-SNAPSHOT</version> <version>1.14-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -162,6 +162,7 @@ public class ShopChest extends JavaPlugin {
case "v1_12_R1": case "v1_12_R1":
case "v1_13_R1": case "v1_13_R1":
case "v1_13_R2": case "v1_13_R2":
case "v1_14_R1":
break; break;
default: default:
debug("Server version not officially supported: " + Utils.getServerVersion() + "!"); debug("Server version not officially supported: " + Utils.getServerVersion() + "!");

View File

@ -17,6 +17,7 @@ public enum Placeholder {
PLAYER("%PLAYER%"), PLAYER("%PLAYER%"),
POTION_EFFECT("%POTION-EFFECT%"), POTION_EFFECT("%POTION-EFFECT%"),
MUSIC_TITLE("%MUSIC-TITLE%"), MUSIC_TITLE("%MUSIC-TITLE%"),
BANNER_PATTERN_NAME("%BANNER-PATTERN-NAME%"),
PROPERTY("%PROPERTY%"), PROPERTY("%PROPERTY%"),
VALUE("%VALUE%"), VALUE("%VALUE%"),
EXTENDED("%EXTENDED%"), EXTENDED("%EXTENDED%"),

View File

@ -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;
}
}

View File

@ -36,6 +36,7 @@ public class LanguageUtils {
private static ArrayList<EntityName> entityNames = new ArrayList<>(); private static ArrayList<EntityName> entityNames = new ArrayList<>();
private static ArrayList<PotionName> potionNames = new ArrayList<>(); private static ArrayList<PotionName> potionNames = new ArrayList<>();
private static ArrayList<MusicDiscName> musicDiscNames = new ArrayList<>(); private static ArrayList<MusicDiscName> musicDiscNames = new ArrayList<>();
private static ArrayList<BannerPatternName> bannerPatternNames = new ArrayList<>();
private static ArrayList<BookGenerationName> generationNames = new ArrayList<>(); private static ArrayList<BookGenerationName> generationNames = new ArrayList<>();
private static ArrayList<LocalizedMessage> messages = new ArrayList<>(); private static ArrayList<LocalizedMessage> 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.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.FARMLAND, langConfig.getString("block.minecraft.farmland", "Farmland")));
itemNames.add(new ItemName(Material.FURNACE, langConfig.getString("block.minecraft.furnace", "Furnace"))); 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.LADDER, langConfig.getString("block.minecraft.ladder", "Ladder")));
itemNames.add(new ItemName(Material.RAIL, langConfig.getString("block.minecraft.rail", "Rail"))); 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"))); 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.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.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.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.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.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"))); 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.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.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.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.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.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"))); 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.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.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.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.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.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"))); 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.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"))); 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 // Add Enchantment Names
enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_ALL, langConfig.getString("enchantment.minecraft.sharpness", "Sharpness"))); 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"))); 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.RIPTIDE, langConfig.getString("enchantment.minecraft.riptide", "Riptide")));
enchantmentNames.add(new EnchantmentName(Enchantment.CHANNELING, langConfig.getString("enchantment.minecraft.channeling", "Channeling"))); 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 // Add Enchantment Level Names
enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(1, langConfig.getString("enchantment.level.1", "I"))); enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(1, langConfig.getString("enchantment.level.1", "I")));
enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(2, langConfig.getString("enchantment.level.2", "II"))); 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.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"))); 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 // 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.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"))); 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_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"))); 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 // Add Book Generation Names
generationNames.add(new BookGenerationName(CustomBookMeta.Generation.ORIGINAL, langConfig.getString("book.generation.0", "Original"))); 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"))); 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 ""; 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} * @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 * @return Localized name of the generation or {@code null} if the item is not a written book

View File

@ -286,6 +286,7 @@ public class Shop {
placeholders.put(Placeholder.SELL_PRICE, getSellPrice()); placeholders.put(Placeholder.SELL_PRICE, getSellPrice());
placeholders.put(Placeholder.POTION_EFFECT, LanguageUtils.getPotionEffectName(itemStack)); placeholders.put(Placeholder.POTION_EFFECT, LanguageUtils.getPotionEffectName(itemStack));
placeholders.put(Placeholder.MUSIC_TITLE, LanguageUtils.getMusicDiscName(itemStack.getType())); 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.GENERATION, LanguageUtils.getBookGenerationName(itemStack));
placeholders.put(Placeholder.STOCK, Utils.getAmount(inventory, itemStack)); placeholders.put(Placeholder.STOCK, Utils.getAmount(inventory, itemStack));
placeholders.put(Placeholder.MAX_STACK, itemStack.getMaxStackSize()); placeholders.put(Placeholder.MAX_STACK, itemStack.getMaxStackSize());

View File

@ -24,8 +24,8 @@
# #
# Valid placeholders are: # Valid placeholders are:
# %VENDOR%, %AMOUNT%, %ITEM-NAME%, %ENCHANTMENT%, %BUY-PRICE%, # %VENDOR%, %AMOUNT%, %ITEM-NAME%, %ENCHANTMENT%, %BUY-PRICE%,
# %SELL-PRICE%, %POTION-EFFECT%, %MUSIC-TITLE%, %GENERATION%, # %SELL-PRICE%, %POTION-EFFECT%, %MUSIC-TITLE%, %BANNER-PATTERN-NAME%,
# %STOCK%, %MAX-STACK%, %CHEST-SPACE%, %DURABILITY% # %GENERATION%, %STOCK%, %MAX-STACK%, %CHEST-SPACE%, %DURABILITY%
# #
# In the format, placeholders can also be used for scripts. # In the format, placeholders can also be used for scripts.
# Examples: # Examples:

View File

@ -1,4 +1,4 @@
Item names for Bukkit 1.13 Item names for Bukkit 1.14
(Source: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) (Source: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html)
ACACIA_BOAT ACACIA_BOAT
@ -11,14 +11,19 @@ ACACIA_LOG
ACACIA_PLANKS ACACIA_PLANKS
ACACIA_PRESSURE_PLATE ACACIA_PRESSURE_PLATE
ACACIA_SAPLING ACACIA_SAPLING
ACACIA_SIGN
ACACIA_SLAB ACACIA_SLAB
ACACIA_STAIRS ACACIA_STAIRS
ACACIA_TRAPDOOR ACACIA_TRAPDOOR
ACACIA_WALL_SIGN
ACACIA_WOOD ACACIA_WOOD
ACTIVATOR_RAIL ACTIVATOR_RAIL
AIR AIR
ALLIUM ALLIUM
ANDESITE ANDESITE
ANDESITE_SLAB
ANDESITE_STAIRS
ANDESITE_WALL
ANVIL ANVIL
APPLE APPLE
ARMOR_STAND ARMOR_STAND
@ -27,6 +32,9 @@ ATTACHED_MELON_STEM
ATTACHED_PUMPKIN_STEM ATTACHED_PUMPKIN_STEM
AZURE_BLUET AZURE_BLUET
BAKED_POTATO BAKED_POTATO
BAMBOO
BAMBOO_SAPLING
BARREL
BARRIER BARRIER
BAT_SPAWN_EGG BAT_SPAWN_EGG
BEACON BEACON
@ -36,6 +44,7 @@ BEETROOT
BEETROOT_SEEDS BEETROOT_SEEDS
BEETROOT_SOUP BEETROOT_SOUP
BEETROOTS BEETROOTS
BELL
BIRCH_BOAT BIRCH_BOAT
BIRCH_BUTTON BIRCH_BUTTON
BIRCH_DOOR BIRCH_DOOR
@ -46,15 +55,18 @@ BIRCH_LOG
BIRCH_PLANKS BIRCH_PLANKS
BIRCH_PRESSURE_PLATE BIRCH_PRESSURE_PLATE
BIRCH_SAPLING BIRCH_SAPLING
BIRCH_SIGN
BIRCH_SLAB BIRCH_SLAB
BIRCH_STAIRS BIRCH_STAIRS
BIRCH_TRAPDOOR BIRCH_TRAPDOOR
BIRCH_WALL_SIGN
BIRCH_WOOD BIRCH_WOOD
BLACK_BANNER BLACK_BANNER
BLACK_BED BLACK_BED
BLACK_CARPET BLACK_CARPET
BLACK_CONCRETE BLACK_CONCRETE
BLACK_CONCRETE_POWDER BLACK_CONCRETE_POWDER
BLACK_DYE
BLACK_GLAZED_TERRACOTTA BLACK_GLAZED_TERRACOTTA
BLACK_SHULKER_BOX BLACK_SHULKER_BOX
BLACK_STAINED_GLASS BLACK_STAINED_GLASS
@ -62,6 +74,7 @@ BLACK_STAINED_GLASS_PANE
BLACK_TERRACOTTA BLACK_TERRACOTTA
BLACK_WALL_BANNER BLACK_WALL_BANNER
BLACK_WOOL BLACK_WOOL
BLAST_FURNACE
BLAZE_POWDER BLAZE_POWDER
BLAZE_ROD BLAZE_ROD
BLAZE_SPAWN_EGG BLAZE_SPAWN_EGG
@ -70,6 +83,7 @@ BLUE_BED
BLUE_CARPET BLUE_CARPET
BLUE_CONCRETE BLUE_CONCRETE
BLUE_CONCRETE_POWDER BLUE_CONCRETE_POWDER
BLUE_DYE
BLUE_GLAZED_TERRACOTTA BLUE_GLAZED_TERRACOTTA
BLUE_ICE BLUE_ICE
BLUE_ORCHID BLUE_ORCHID
@ -95,12 +109,14 @@ BREWING_STAND
BRICK BRICK
BRICK_SLAB BRICK_SLAB
BRICK_STAIRS BRICK_STAIRS
BRICK_WALL
BRICKS BRICKS
BROWN_BANNER BROWN_BANNER
BROWN_BED BROWN_BED
BROWN_CARPET BROWN_CARPET
BROWN_CONCRETE BROWN_CONCRETE
BROWN_CONCRETE_POWDER BROWN_CONCRETE_POWDER
BROWN_DYE
BROWN_GLAZED_TERRACOTTA BROWN_GLAZED_TERRACOTTA
BROWN_MUSHROOM BROWN_MUSHROOM
BROWN_MUSHROOM_BLOCK BROWN_MUSHROOM_BLOCK
@ -117,12 +133,14 @@ BUBBLE_CORAL_FAN
BUBBLE_CORAL_WALL_FAN BUBBLE_CORAL_WALL_FAN
BUCKET BUCKET
CACTUS CACTUS
CACTUS_GREEN
CAKE CAKE
CAMPFIRE
CARROT CARROT
CARROT_ON_A_STICK CARROT_ON_A_STICK
CARROTS CARROTS
CARTOGRAPHY_TABLE
CARVED_PUMPKIN CARVED_PUMPKIN
CAT_SPAWN_EGG
CAULDRON CAULDRON
CAVE_AIR CAVE_AIR
CAVE_SPIDER_SPAWN_EGG CAVE_SPIDER_SPAWN_EGG
@ -165,6 +183,7 @@ COMMAND_BLOCK
COMMAND_BLOCK_MINECART COMMAND_BLOCK_MINECART
COMPARATOR COMPARATOR
COMPASS COMPASS
COMPOSTER
CONDUIT CONDUIT
COOKED_BEEF COOKED_BEEF
COOKED_CHICKEN COOKED_CHICKEN
@ -174,14 +193,19 @@ COOKED_PORKCHOP
COOKED_RABBIT COOKED_RABBIT
COOKED_SALMON COOKED_SALMON
COOKIE COOKIE
CORNFLOWER
COW_SPAWN_EGG COW_SPAWN_EGG
CRACKED_STONE_BRICKS CRACKED_STONE_BRICKS
CRAFTING_TABLE CRAFTING_TABLE
CREEPER_BANNER_PATTERN
CREEPER_HEAD CREEPER_HEAD
CREEPER_SPAWN_EGG CREEPER_SPAWN_EGG
CREEPER_WALL_HEAD CREEPER_WALL_HEAD
CROSSBOW
CUT_RED_SANDSTONE CUT_RED_SANDSTONE
CUT_RED_SANDSTONE_SLAB
CUT_SANDSTONE CUT_SANDSTONE
CUT_SANDSTONE_SLAB
CYAN_BANNER CYAN_BANNER
CYAN_BED CYAN_BED
CYAN_CARPET CYAN_CARPET
@ -197,7 +221,6 @@ CYAN_WALL_BANNER
CYAN_WOOL CYAN_WOOL
DAMAGED_ANVIL DAMAGED_ANVIL
DANDELION DANDELION
DANDELION_YELLOW
DARK_OAK_BOAT DARK_OAK_BOAT
DARK_OAK_BUTTON DARK_OAK_BUTTON
DARK_OAK_DOOR DARK_OAK_DOOR
@ -208,27 +231,34 @@ DARK_OAK_LOG
DARK_OAK_PLANKS DARK_OAK_PLANKS
DARK_OAK_PRESSURE_PLATE DARK_OAK_PRESSURE_PLATE
DARK_OAK_SAPLING DARK_OAK_SAPLING
DARK_OAK_SIGN
DARK_OAK_SLAB DARK_OAK_SLAB
DARK_OAK_STAIRS DARK_OAK_STAIRS
DARK_OAK_TRAPDOOR DARK_OAK_TRAPDOOR
DARK_OAK_WALL_SIGN
DARK_OAK_WOOD DARK_OAK_WOOD
DARK_PRISMARINE DARK_PRISMARINE
DARK_PRISMARINE_SLAB DARK_PRISMARINE_SLAB
DARK_PRISMARINE_STAIRS DARK_PRISMARINE_STAIRS
DAYLIGHT_DETECTOR DAYLIGHT_DETECTOR
DEAD_BRAIN_CORAL
DEAD_BRAIN_CORAL_BLOCK DEAD_BRAIN_CORAL_BLOCK
DEAD_BRAIN_CORAL_FAN DEAD_BRAIN_CORAL_FAN
DEAD_BRAIN_CORAL_WALL_FAN DEAD_BRAIN_CORAL_WALL_FAN
DEAD_BUBBLE_CORAL
DEAD_BUBBLE_CORAL_BLOCK DEAD_BUBBLE_CORAL_BLOCK
DEAD_BUBBLE_CORAL_FAN DEAD_BUBBLE_CORAL_FAN
DEAD_BUBBLE_CORAL_WALL_FAN DEAD_BUBBLE_CORAL_WALL_FAN
DEAD_BUSH DEAD_BUSH
DEAD_FIRE_CORAL
DEAD_FIRE_CORAL_BLOCK DEAD_FIRE_CORAL_BLOCK
DEAD_FIRE_CORAL_FAN DEAD_FIRE_CORAL_FAN
DEAD_FIRE_CORAL_WALL_FAN DEAD_FIRE_CORAL_WALL_FAN
DEAD_HORN_CORAL
DEAD_HORN_CORAL_BLOCK DEAD_HORN_CORAL_BLOCK
DEAD_HORN_CORAL_FAN DEAD_HORN_CORAL_FAN
DEAD_HORN_CORAL_WALL_FAN DEAD_HORN_CORAL_WALL_FAN
DEAD_TUBE_CORAL
DEAD_TUBE_CORAL_BLOCK DEAD_TUBE_CORAL_BLOCK
DEAD_TUBE_CORAL_FAN DEAD_TUBE_CORAL_FAN
DEAD_TUBE_CORAL_WALL_FAN DEAD_TUBE_CORAL_WALL_FAN
@ -248,6 +278,9 @@ DIAMOND_PICKAXE
DIAMOND_SHOVEL DIAMOND_SHOVEL
DIAMOND_SWORD DIAMOND_SWORD
DIORITE DIORITE
DIORITE_SLAB
DIORITE_STAIRS
DIORITE_WALL
DIRT DIRT
DISPENSER DISPENSER
DOLPHIN_SPAWN_EGG DOLPHIN_SPAWN_EGG
@ -275,6 +308,9 @@ END_PORTAL
END_PORTAL_FRAME END_PORTAL_FRAME
END_ROD END_ROD
END_STONE END_STONE
END_STONE_BRICK_SLAB
END_STONE_BRICK_STAIRS
END_STONE_BRICK_WALL
END_STONE_BRICKS END_STONE_BRICKS
ENDER_CHEST ENDER_CHEST
ENDER_EYE ENDER_EYE
@ -297,9 +333,12 @@ FIRE_CORAL_WALL_FAN
FIREWORK_ROCKET FIREWORK_ROCKET
FIREWORK_STAR FIREWORK_STAR
FISHING_ROD FISHING_ROD
FLETCHING_TABLE
FLINT FLINT
FLINT_AND_STEEL FLINT_AND_STEEL
FLOWER_BANNER_PATTERN
FLOWER_POT FLOWER_POT
FOX_SPAWN_EGG
FROSTED_ICE FROSTED_ICE
FURNACE FURNACE
FURNACE_MINECART FURNACE_MINECART
@ -309,6 +348,7 @@ GLASS
GLASS_BOTTLE GLASS_BOTTLE
GLASS_PANE GLASS_PANE
GLISTERING_MELON_SLICE GLISTERING_MELON_SLICE
GLOBE_BANNER_PATTERN
GLOWSTONE GLOWSTONE
GLOWSTONE_DUST GLOWSTONE_DUST
GOLD_BLOCK GOLD_BLOCK
@ -328,6 +368,9 @@ GOLDEN_PICKAXE
GOLDEN_SHOVEL GOLDEN_SHOVEL
GOLDEN_SWORD GOLDEN_SWORD
GRANITE GRANITE
GRANITE_SLAB
GRANITE_STAIRS
GRANITE_WALL
GRASS GRASS
GRASS_BLOCK GRASS_BLOCK
GRASS_PATH GRASS_PATH
@ -350,6 +393,7 @@ GREEN_BED
GREEN_CARPET GREEN_CARPET
GREEN_CONCRETE GREEN_CONCRETE
GREEN_CONCRETE_POWDER GREEN_CONCRETE_POWDER
GREEN_DYE
GREEN_GLAZED_TERRACOTTA GREEN_GLAZED_TERRACOTTA
GREEN_SHULKER_BOX GREEN_SHULKER_BOX
GREEN_STAINED_GLASS GREEN_STAINED_GLASS
@ -357,6 +401,7 @@ GREEN_STAINED_GLASS_PANE
GREEN_TERRACOTTA GREEN_TERRACOTTA
GREEN_WALL_BANNER GREEN_WALL_BANNER
GREEN_WOOL GREEN_WOOL
GRINDSTONE
GUARDIAN_SPAWN_EGG GUARDIAN_SPAWN_EGG
GUNPOWDER GUNPOWDER
HAY_BLOCK HAY_BLOCK
@ -397,6 +442,7 @@ IRON_SWORD
IRON_TRAPDOOR IRON_TRAPDOOR
ITEM_FRAME ITEM_FRAME
JACK_O_LANTERN JACK_O_LANTERN
JIGSAW
JUKEBOX JUKEBOX
JUNGLE_BOAT JUNGLE_BOAT
JUNGLE_BUTTON JUNGLE_BUTTON
@ -408,14 +454,17 @@ JUNGLE_LOG
JUNGLE_PLANKS JUNGLE_PLANKS
JUNGLE_PRESSURE_PLATE JUNGLE_PRESSURE_PLATE
JUNGLE_SAPLING JUNGLE_SAPLING
JUNGLE_SIGN
JUNGLE_SLAB JUNGLE_SLAB
JUNGLE_STAIRS JUNGLE_STAIRS
JUNGLE_TRAPDOOR JUNGLE_TRAPDOOR
JUNGLE_WALL_SIGN
JUNGLE_WOOD JUNGLE_WOOD
KELP KELP
KELP_PLANT KELP_PLANT
KNOWLEDGE_BOOK KNOWLEDGE_BOOK
LADDER LADDER
LANTERN
LAPIS_BLOCK LAPIS_BLOCK
LAPIS_LAZULI LAPIS_LAZULI
LAPIS_ORE LAPIS_ORE
@ -427,7 +476,9 @@ LEATHER
LEATHER_BOOTS LEATHER_BOOTS
LEATHER_CHESTPLATE LEATHER_CHESTPLATE
LEATHER_HELMET LEATHER_HELMET
LEATHER_HORSE_ARMOR
LEATHER_LEGGINGS LEATHER_LEGGINGS
LECTERN
LEVER LEVER
LIGHT_BLUE_BANNER LIGHT_BLUE_BANNER
LIGHT_BLUE_BED LIGHT_BLUE_BED
@ -457,6 +508,7 @@ LIGHT_GRAY_WALL_BANNER
LIGHT_GRAY_WOOL LIGHT_GRAY_WOOL
LIGHT_WEIGHTED_PRESSURE_PLATE LIGHT_WEIGHTED_PRESSURE_PLATE
LILAC LILAC
LILY_OF_THE_VALLEY
LILY_PAD LILY_PAD
LIME_BANNER LIME_BANNER
LIME_BED LIME_BED
@ -473,6 +525,7 @@ LIME_WALL_BANNER
LIME_WOOL LIME_WOOL
LINGERING_POTION LINGERING_POTION
LLAMA_SPAWN_EGG LLAMA_SPAWN_EGG
LOOM
MAGENTA_BANNER MAGENTA_BANNER
MAGENTA_BED MAGENTA_BED
MAGENTA_CARPET MAGENTA_CARPET
@ -496,9 +549,15 @@ MELON_SLICE
MELON_STEM MELON_STEM
MILK_BUCKET MILK_BUCKET
MINECART MINECART
MOJANG_BANNER_PATTERN
MOOSHROOM_SPAWN_EGG MOOSHROOM_SPAWN_EGG
MOSSY_COBBLESTONE MOSSY_COBBLESTONE
MOSSY_COBBLESTONE_SLAB
MOSSY_COBBLESTONE_STAIRS
MOSSY_COBBLESTONE_WALL MOSSY_COBBLESTONE_WALL
MOSSY_STONE_BRICK_SLAB
MOSSY_STONE_BRICK_STAIRS
MOSSY_STONE_BRICK_WALL
MOSSY_STONE_BRICKS MOSSY_STONE_BRICKS
MOVING_PISTON MOVING_PISTON
MULE_SPAWN_EGG MULE_SPAWN_EGG
@ -524,6 +583,7 @@ NETHER_BRICK
NETHER_BRICK_FENCE NETHER_BRICK_FENCE
NETHER_BRICK_SLAB NETHER_BRICK_SLAB
NETHER_BRICK_STAIRS NETHER_BRICK_STAIRS
NETHER_BRICK_WALL
NETHER_BRICKS NETHER_BRICKS
NETHER_PORTAL NETHER_PORTAL
NETHER_QUARTZ_ORE NETHER_QUARTZ_ORE
@ -542,9 +602,11 @@ OAK_LOG
OAK_PLANKS OAK_PLANKS
OAK_PRESSURE_PLATE OAK_PRESSURE_PLATE
OAK_SAPLING OAK_SAPLING
OAK_SIGN
OAK_SLAB OAK_SLAB
OAK_STAIRS OAK_STAIRS
OAK_TRAPDOOR OAK_TRAPDOOR
OAK_WALL_SIGN
OAK_WOOD OAK_WOOD
OBSERVER OBSERVER
OBSIDIAN OBSIDIAN
@ -566,6 +628,7 @@ ORANGE_WOOL
OXEYE_DAISY OXEYE_DAISY
PACKED_ICE PACKED_ICE
PAINTING PAINTING
PANDA_SPAWN_EGG
PAPER PAPER
PARROT_SPAWN_EGG PARROT_SPAWN_EGG
PEONY PEONY
@ -573,6 +636,7 @@ PETRIFIED_OAK_SLAB
PHANTOM_MEMBRANE PHANTOM_MEMBRANE
PHANTOM_SPAWN_EGG PHANTOM_SPAWN_EGG
PIG_SPAWN_EGG PIG_SPAWN_EGG
PILLAGER_SPAWN_EGG
PINK_BANNER PINK_BANNER
PINK_BED PINK_BED
PINK_CARPET PINK_CARPET
@ -595,8 +659,14 @@ PODZOL
POISONOUS_POTATO POISONOUS_POTATO
POLAR_BEAR_SPAWN_EGG POLAR_BEAR_SPAWN_EGG
POLISHED_ANDESITE POLISHED_ANDESITE
POLISHED_ANDESITE_SLAB
POLISHED_ANDESITE_STAIRS
POLISHED_DIORITE POLISHED_DIORITE
POLISHED_DIORITE_SLAB
POLISHED_DIORITE_STAIRS
POLISHED_GRANITE POLISHED_GRANITE
POLISHED_GRANITE_SLAB
POLISHED_GRANITE_STAIRS
POPPED_CHORUS_FRUIT POPPED_CHORUS_FRUIT
POPPY POPPY
PORKCHOP PORKCHOP
@ -606,15 +676,18 @@ POTION
POTTED_ACACIA_SAPLING POTTED_ACACIA_SAPLING
POTTED_ALLIUM POTTED_ALLIUM
POTTED_AZURE_BLUET POTTED_AZURE_BLUET
POTTED_BAMBOO
POTTED_BIRCH_SAPLING POTTED_BIRCH_SAPLING
POTTED_BLUE_ORCHID POTTED_BLUE_ORCHID
POTTED_BROWN_MUSHROOM POTTED_BROWN_MUSHROOM
POTTED_CACTUS POTTED_CACTUS
POTTED_CORNFLOWER
POTTED_DANDELION POTTED_DANDELION
POTTED_DARK_OAK_SAPLING POTTED_DARK_OAK_SAPLING
POTTED_DEAD_BUSH POTTED_DEAD_BUSH
POTTED_FERN POTTED_FERN
POTTED_JUNGLE_SAPLING POTTED_JUNGLE_SAPLING
POTTED_LILY_OF_THE_VALLEY
POTTED_OAK_SAPLING POTTED_OAK_SAPLING
POTTED_ORANGE_TULIP POTTED_ORANGE_TULIP
POTTED_OXEYE_DAISY POTTED_OXEYE_DAISY
@ -624,6 +697,7 @@ POTTED_RED_MUSHROOM
POTTED_RED_TULIP POTTED_RED_TULIP
POTTED_SPRUCE_SAPLING POTTED_SPRUCE_SAPLING
POTTED_WHITE_TULIP POTTED_WHITE_TULIP
POTTED_WITHER_ROSE
POWERED_RAIL POWERED_RAIL
PRISMARINE PRISMARINE
PRISMARINE_BRICK_SLAB PRISMARINE_BRICK_SLAB
@ -633,6 +707,7 @@ PRISMARINE_CRYSTALS
PRISMARINE_SHARD PRISMARINE_SHARD
PRISMARINE_SLAB PRISMARINE_SLAB
PRISMARINE_STAIRS PRISMARINE_STAIRS
PRISMARINE_WALL
PUFFERFISH PUFFERFISH
PUFFERFISH_BUCKET PUFFERFISH_BUCKET
PUFFERFISH_SPAWN_EGG PUFFERFISH_SPAWN_EGG
@ -668,19 +743,25 @@ RABBIT_HIDE
RABBIT_SPAWN_EGG RABBIT_SPAWN_EGG
RABBIT_STEW RABBIT_STEW
RAIL RAIL
RAVAGER_SPAWN_EGG
RED_BANNER RED_BANNER
RED_BED RED_BED
RED_CARPET RED_CARPET
RED_CONCRETE RED_CONCRETE
RED_CONCRETE_POWDER RED_CONCRETE_POWDER
RED_DYE
RED_GLAZED_TERRACOTTA RED_GLAZED_TERRACOTTA
RED_MUSHROOM RED_MUSHROOM
RED_MUSHROOM_BLOCK RED_MUSHROOM_BLOCK
RED_NETHER_BRICK_SLAB
RED_NETHER_BRICK_STAIRS
RED_NETHER_BRICK_WALL
RED_NETHER_BRICKS RED_NETHER_BRICKS
RED_SAND RED_SAND
RED_SANDSTONE RED_SANDSTONE
RED_SANDSTONE_SLAB RED_SANDSTONE_SLAB
RED_SANDSTONE_STAIRS RED_SANDSTONE_STAIRS
RED_SANDSTONE_WALL
RED_SHULKER_BOX RED_SHULKER_BOX
RED_STAINED_GLASS RED_STAINED_GLASS
RED_STAINED_GLASS_PANE RED_STAINED_GLASS_PANE
@ -698,7 +779,6 @@ REDSTONE_WIRE
REPEATER REPEATER
REPEATING_COMMAND_BLOCK REPEATING_COMMAND_BLOCK
ROSE_BUSH ROSE_BUSH
ROSE_RED
ROTTEN_FLESH ROTTEN_FLESH
SADDLE SADDLE
SALMON SALMON
@ -708,6 +788,8 @@ SAND
SANDSTONE SANDSTONE
SANDSTONE_SLAB SANDSTONE_SLAB
SANDSTONE_STAIRS SANDSTONE_STAIRS
SANDSTONE_WALL
SCAFFOLDING
SCUTE SCUTE
SEA_LANTERN SEA_LANTERN
SEA_PICKLE SEA_PICKLE
@ -718,19 +800,28 @@ SHIELD
SHULKER_BOX SHULKER_BOX
SHULKER_SHELL SHULKER_SHELL
SHULKER_SPAWN_EGG SHULKER_SPAWN_EGG
SIGN
SILVERFISH_SPAWN_EGG SILVERFISH_SPAWN_EGG
SKELETON_HORSE_SPAWN_EGG SKELETON_HORSE_SPAWN_EGG
SKELETON_SKULL SKELETON_SKULL
SKELETON_SPAWN_EGG SKELETON_SPAWN_EGG
SKELETON_WALL_SKULL SKELETON_WALL_SKULL
SKULL_BANNER_PATTERN
SLIME_BALL SLIME_BALL
SLIME_BLOCK SLIME_BLOCK
SLIME_SPAWN_EGG SLIME_SPAWN_EGG
SMITHING_TABLE
SMOKER
SMOOTH_QUARTZ SMOOTH_QUARTZ
SMOOTH_QUARTZ_SLAB
SMOOTH_QUARTZ_STAIRS
SMOOTH_RED_SANDSTONE SMOOTH_RED_SANDSTONE
SMOOTH_RED_SANDSTONE_SLAB
SMOOTH_RED_SANDSTONE_STAIRS
SMOOTH_SANDSTONE SMOOTH_SANDSTONE
SMOOTH_SANDSTONE_SLAB
SMOOTH_SANDSTONE_STAIRS
SMOOTH_STONE SMOOTH_STONE
SMOOTH_STONE_SLAB
SNOW SNOW
SNOW_BLOCK SNOW_BLOCK
SNOWBALL SNOWBALL
@ -751,9 +842,11 @@ SPRUCE_LOG
SPRUCE_PLANKS SPRUCE_PLANKS
SPRUCE_PRESSURE_PLATE SPRUCE_PRESSURE_PLATE
SPRUCE_SAPLING SPRUCE_SAPLING
SPRUCE_SIGN
SPRUCE_SLAB SPRUCE_SLAB
SPRUCE_STAIRS SPRUCE_STAIRS
SPRUCE_TRAPDOOR SPRUCE_TRAPDOOR
SPRUCE_WALL_SIGN
SPRUCE_WOOD SPRUCE_WOOD
SQUID_SPAWN_EGG SQUID_SPAWN_EGG
STICK STICK
@ -762,6 +855,7 @@ STONE
STONE_AXE STONE_AXE
STONE_BRICK_SLAB STONE_BRICK_SLAB
STONE_BRICK_STAIRS STONE_BRICK_STAIRS
STONE_BRICK_WALL
STONE_BRICKS STONE_BRICKS
STONE_BUTTON STONE_BUTTON
STONE_HOE STONE_HOE
@ -769,7 +863,9 @@ STONE_PICKAXE
STONE_PRESSURE_PLATE STONE_PRESSURE_PLATE
STONE_SHOVEL STONE_SHOVEL
STONE_SLAB STONE_SLAB
STONE_STAIRS
STONE_SWORD STONE_SWORD
STONECUTTER
STRAY_SPAWN_EGG STRAY_SPAWN_EGG
STRING STRING
STRIPPED_ACACIA_LOG STRIPPED_ACACIA_LOG
@ -789,6 +885,9 @@ STRUCTURE_VOID
SUGAR SUGAR
SUGAR_CANE SUGAR_CANE
SUNFLOWER SUNFLOWER
SUSPICIOUS_STEW
SWEET_BERRIES
SWEET_BERRY_BUSH
TALL_GRASS TALL_GRASS
TALL_SEAGRASS TALL_SEAGRASS
TERRACOTTA TERRACOTTA
@ -797,6 +896,7 @@ TNT
TNT_MINECART TNT_MINECART
TORCH TORCH
TOTEM_OF_UNDYING TOTEM_OF_UNDYING
TRADER_LLAMA_SPAWN_EGG
TRAPPED_CHEST TRAPPED_CHEST
TRIDENT TRIDENT
TRIPWIRE TRIPWIRE
@ -816,8 +916,8 @@ VILLAGER_SPAWN_EGG
VINDICATOR_SPAWN_EGG VINDICATOR_SPAWN_EGG
VINE VINE
VOID_AIR VOID_AIR
WALL_SIGN
WALL_TORCH WALL_TORCH
WANDERING_TRADER_SPAWN_EGG
WATER WATER
WATER_BUCKET WATER_BUCKET
WET_SPONGE WET_SPONGE
@ -828,6 +928,7 @@ WHITE_BED
WHITE_CARPET WHITE_CARPET
WHITE_CONCRETE WHITE_CONCRETE
WHITE_CONCRETE_POWDER WHITE_CONCRETE_POWDER
WHITE_DYE
WHITE_GLAZED_TERRACOTTA WHITE_GLAZED_TERRACOTTA
WHITE_SHULKER_BOX WHITE_SHULKER_BOX
WHITE_STAINED_GLASS WHITE_STAINED_GLASS
@ -837,6 +938,7 @@ WHITE_TULIP
WHITE_WALL_BANNER WHITE_WALL_BANNER
WHITE_WOOL WHITE_WOOL
WITCH_SPAWN_EGG WITCH_SPAWN_EGG
WITHER_ROSE
WITHER_SKELETON_SKULL WITHER_SKELETON_SKULL
WITHER_SKELETON_SPAWN_EGG WITHER_SKELETON_SPAWN_EGG
WITHER_SKELETON_WALL_SKULL WITHER_SKELETON_WALL_SKULL
@ -853,6 +955,7 @@ YELLOW_BED
YELLOW_CARPET YELLOW_CARPET
YELLOW_CONCRETE YELLOW_CONCRETE
YELLOW_CONCRETE_POWDER YELLOW_CONCRETE_POWDER
YELLOW_DYE
YELLOW_GLAZED_TERRACOTTA YELLOW_GLAZED_TERRACOTTA
YELLOW_SHULKER_BOX YELLOW_SHULKER_BOX
YELLOW_STAINED_GLASS YELLOW_STAINED_GLASS