Last active
August 23, 2023 03:30
-
-
Save PikaMug/eeb622a5c609bd00d1db3de4794b3424 to your computer and use it in GitHub Desktop.
Show translated item/entity/etc. names in client's language
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/******************************************************************************************************* | |
* MIT License | |
* | |
* Copyright (c) 2019 PikaMug | |
* | |
* Permission is hereby granted, free of charge, to any person obtaining a copy | |
* of this software and associated documentation files (the "Software"), to deal | |
* in the Software without restriction, including without limitation the rights | |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
* copies of the Software, and to permit persons to whom the Software is | |
* furnished to do so, subject to the following conditions: | |
* | |
* The above copyright notice and this permission notice shall be included in all | |
* copies or substantial portions of the Software. | |
* | |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
* SOFTWARE. | |
*******************************************************************************************************/ | |
package your.package.name; | |
import java.lang.reflect.InvocationTargetException; | |
import java.lang.reflect.Method; | |
import java.util.LinkedHashMap; | |
import java.util.Map; | |
import org.bukkit.Bukkit; | |
import org.bukkit.Material; | |
import org.bukkit.enchantments.Enchantment; | |
import org.bukkit.entity.EntityType; | |
import org.bukkit.entity.Ocelot; | |
import org.bukkit.entity.Player; | |
import org.bukkit.entity.Rabbit; | |
import org.bukkit.entity.Villager.Career; | |
import org.bukkit.inventory.ItemStack; | |
import org.bukkit.inventory.meta.PotionMeta; | |
public class LocaleQuery { | |
private static Class<?> craftMagicNumbers = null; | |
private static Class<?> itemClazz = null; | |
private static boolean oldVersion = false; | |
private static boolean hasBasePotionData = false; | |
private Map<String, String> oldBlocks = getBlockKeys(); | |
private Map<String, String> oldItems = getItemKeys(); | |
private Map<String, String> oldPotions = getPotionKeys(); | |
private Map<String, String> oldLingeringPotions = getLingeringPotionKeys(); | |
private Map<String, String> oldSplashPotions = getSplashPotionKeys(); | |
private Map<String, String> oldEntities = getEntityKeys(); | |
public LocaleQuery() { | |
oldVersion = isBelow113(); | |
if (Material.getMaterial("LINGERING_POTION") != null) { | |
// Bukkit version is 1.9+ | |
hasBasePotionData = true; | |
} | |
String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]; | |
try { | |
craftMagicNumbers = Class.forName("org.bukkit.craftbukkit.{v}.util.CraftMagicNumbers".replace("{v}", version)); | |
itemClazz = Class.forName("net.minecraft.server.{v}.Item".replace("{v}", version)); | |
} catch (ClassNotFoundException e) { | |
e.printStackTrace(); | |
} | |
} | |
/** | |
* Send message with item name translated to the client's locale. | |
* Material is required. Durability arg is arbitrary for 1.13+ | |
* and can be ignored by setting to a value less than 0. | |
* Enchantments are optional and may be left null or empty.<p> | |
* | |
* Message should contain {@code <item>} string for replacement by | |
* this method (along with applicable {@code <enchantment>} strings). | |
* | |
* @param player The player whom the message is to be sent to | |
* @param message The message to be sent to the player | |
* @param material The item to be translated | |
* @param durability Durability for the item being translated | |
* @param enchantments Enchantments for the item being translated | |
*/ | |
@SuppressWarnings("deprecation") | |
public boolean sendMessage(Player player, String message, Material material, short durability, Map<Enchantment, Integer> enchantments) { | |
if (material == null) { | |
return false; | |
} | |
String matKey = ""; | |
String[] enchKeys = enchantments != null ? new String[enchantments.size()] : null; | |
if (oldVersion) { | |
if (material.isBlock()) { | |
if (durability >= 0 && oldBlocks.containsKey(material.name() + "." + durability)) { | |
matKey = oldBlocks.get(material.name() + "." + durability); | |
} else if (oldBlocks.containsKey(material.name())) { | |
matKey = oldBlocks.get(material.name()); | |
} else { | |
Bukkit.getLogger().severe("Block not found: " + material.name() + "." + durability); | |
return false; | |
} | |
} else { | |
ItemStack i = new ItemStack(material, 1, durability); | |
if (durability >= 0 && i.getItemMeta() instanceof PotionMeta) { | |
if (hasBasePotionData) { | |
if (material.equals(Material.POTION)) { | |
matKey = oldPotions.get(((PotionMeta)i.getItemMeta()).getBasePotionData().getType().name()); | |
} else if (material.equals(Material.LINGERING_POTION)) { | |
matKey = oldLingeringPotions.get(((PotionMeta)i.getItemMeta()).getBasePotionData().getType().name()); | |
} else if (material.equals(Material.SPLASH_POTION)) { | |
matKey = oldSplashPotions.get(((PotionMeta)i.getItemMeta()).getBasePotionData().getType().name()); | |
} | |
} | |
} else if (durability >= 0 && oldItems.containsKey(material.name() + "." + durability)) { | |
matKey = oldItems.get(material.name() + "." + durability); | |
} else if (oldItems.containsKey(material.name())) { | |
matKey = oldItems.get(material.name()); | |
} else { | |
Bukkit.getLogger().severe("Item not found: " + material.name() + "." + durability); | |
return false; | |
} | |
} | |
if (enchantments != null && !enchantments.isEmpty()) { | |
int count = 0; | |
for (Enchantment e : enchantments.keySet()) { | |
enchKeys[count] = "enchantment." + e.getName().toLowerCase().replace("_", ".") | |
.replace("environmental", "all").replace("protection", "protect"); | |
count++; | |
} | |
} | |
} else { | |
try { | |
matKey = queryMaterial(material); | |
} catch (Exception ex) { | |
Bukkit.getLogger().severe("Unable to query Material: " + material.name()); | |
return false; | |
} | |
if (enchantments != null && !enchantments.isEmpty()) { | |
int count = 0; | |
for (Enchantment e : enchantments.keySet()) { | |
enchKeys[count] = "enchantment.minecraft." + e.toString().toLowerCase(); | |
count++; | |
} | |
} | |
} | |
String msg = message.replace("<item>", "\",{\"translate\":\"" + matKey + "\"},\""); | |
if (enchKeys != null && enchKeys.length > 0) { | |
for (String ek : enchKeys) { | |
msg.replaceFirst("<enchantment>", "\",{\"translate\":\"" + ek + "\"},\""); | |
} | |
} | |
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " [\"" + msg + "\"]"); | |
return true; | |
} | |
/** | |
* Send message with enchantments translated to the client's locale. | |
* Map of Enchantment+level is required. | |
* | |
* Message should contain one {@code <enchantment>} string for each | |
* replacement by this method. | |
* | |
* @param player The player whom the message is to be sent to | |
* @param message The message to be sent to the player | |
* @param enchantments Enchantments for the item being translated | |
*/ | |
@SuppressWarnings("deprecation") | |
public boolean sendMessage(Player player, String message, Map<Enchantment, Integer> enchantments) { | |
if (enchantments == null) { | |
return false; | |
} | |
String[] enchKeys = enchantments != null ? new String[enchantments.size()] : null; | |
if (oldVersion) { | |
if (enchantments != null && !enchantments.isEmpty()) { | |
int count = 0; | |
for (Enchantment e : enchantments.keySet()) { | |
enchKeys[count] = "enchantment." + e.getName().toLowerCase().replace("_", ".") | |
.replace("environmental", "all").replace("protection", "protect"); | |
count++; | |
} | |
} | |
} else { | |
if (enchantments != null && !enchantments.isEmpty()) { | |
int count = 0; | |
for (Enchantment e : enchantments.keySet()) { | |
enchKeys[count] = "enchantment.minecraft." + e.toString().toLowerCase(); | |
count++; | |
} | |
} | |
} | |
String msg = message; | |
if (enchKeys != null && enchKeys.length > 0) { | |
for (String ek : enchKeys) { | |
msg.replaceFirst("<enchantment>", "\",{\"translate\":\"" + ek + "\"},\""); | |
} | |
} | |
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " [\"" + msg + "\"]"); | |
return true; | |
} | |
/** | |
* Send message with entity name translated to the client's locale. | |
* EntityType is required.<p> | |
* | |
* Message should contain {@code <mob>} | |
* string for replacement by this method. | |
* | |
* @param player The player whom the message is to be sent to | |
* @param message The message to be sent to the player | |
* @param type The entity type to be translated | |
* @param extra Career, Ocelot, or Rabbit type if applicable | |
*/ | |
public boolean sendMessage(Player player, String message, EntityType type, String extra) { | |
if (type == null ) { | |
return false; | |
} | |
String key = ""; | |
if (oldVersion) { | |
if (type.name().equals("VILLAGER") && Career.valueOf(extra) != null) { | |
key = oldEntities.get(type.name() + "." + Career.valueOf(extra).name()); | |
} else if (type.name().equals("OCELOT") && Ocelot.Type.valueOf(extra) != null){ | |
key = oldEntities.get(type.name() + "." + Ocelot.Type.valueOf(extra).name()); | |
} else if (type.name().equals("RABBIT") && Rabbit.Type.valueOf(extra) != null) { | |
if (Rabbit.Type.valueOf(extra).equals(Rabbit.Type.THE_KILLER_BUNNY)) { | |
key = oldEntities.get(type.name() + "." + Rabbit.Type.valueOf(extra).name()); | |
} | |
} else { | |
key = oldEntities.get(type.name()); | |
} | |
} else { | |
if (type.name().equals("PIG_ZOMBIE")) { | |
key = "entity.minecraft.zombie_pigman"; | |
} else { | |
key = "entity.minecraft." + type.toString().toLowerCase(); | |
} | |
} | |
String msg = message.replace("<mob>", "\",{\"translate\":\"" + key + "\"},\""); | |
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " [\"" + msg + "\"]"); | |
return true; | |
} | |
/** | |
* Gets the key name of the specified material as it would appear in a Minecraft lang file. | |
* | |
* @param material the material to check | |
* @return the raw key | |
* @throws IllegalArgumentException if an item with that material could not be found | |
*/ | |
public String queryMaterial(Material material) throws IllegalArgumentException{ | |
try { | |
Object item = null; | |
Method m = craftMagicNumbers.getDeclaredMethod("getItem", material.getClass()); | |
m.setAccessible(true); | |
item = m.invoke(craftMagicNumbers, material); | |
if (item == null) { | |
throw new IllegalArgumentException(material.name() + " material could not be queried!"); | |
} | |
String name = (String) itemClazz.getMethod("getName").invoke(item); | |
return name; | |
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { | |
e.printStackTrace(); | |
} | |
return null; | |
} | |
/** | |
* Checks whether the server's Bukkit version supports use of the ItemMeta#getBasePotionData method. | |
* | |
* @return true if Bukkit version is at 1.9 or above | |
*/ | |
public boolean hasBasePotionData() { | |
return hasBasePotionData; | |
} | |
/** | |
* Checks whether the server's Bukkit version is below 1.13. | |
* | |
* @return true if Bukkit version is at 1.12.2 or below | |
*/ | |
public boolean isBelow113() { | |
return _isBelow113(Bukkit.getServer().getBukkitVersion().split("-")[0]); | |
} | |
private boolean _isBelow113(String bukkitVersion) { | |
if (bukkitVersion.matches("^[0-9.]+$")) { | |
switch(bukkitVersion) { | |
case "1.12.2" : | |
case "1.12.1" : | |
case "1.12" : | |
case "1.11.2" : | |
case "1.11.1" : | |
case "1.11" : | |
case "1.10.2" : | |
case "1.10.1" : | |
case "1.10" : | |
case "1.9.4" : | |
case "1.9.3" : | |
case "1.9.2" : | |
case "1.9.1" : | |
case "1.9" : | |
case "1.8.9" : | |
case "1.8.8" : | |
case "1.8.7" : | |
case "1.8.6" : | |
case "1.8.5" : | |
case "1.8.4" : | |
case "1.8.3" : | |
case "1.8.2" : | |
case "1.8.1" : | |
case "1.8" : | |
case "1.7.10" : | |
case "1.7.9" : | |
case "1.7.2" : | |
return true; | |
default: | |
// Bukkit version is 1.13+ or unsupported | |
return false; | |
} | |
} | |
Bukkit.getLogger().severe("Quests received invalid Bukkit version " + bukkitVersion); | |
return false; | |
} | |
public LinkedHashMap<String, String> getBlockKeys() { | |
LinkedHashMap<String, String> keys = new LinkedHashMap<String, String>(); | |
keys.put("AIR", "tile.air.name"); | |
keys.put("BARRIER", "tile.barrier.name"); | |
keys.put("STONE", "tile.stone.stone.name"); | |
keys.put("STONE.1", "tile.stone.granite.name"); | |
keys.put("STONE.2", "tile.stone.graniteSmooth.name"); | |
keys.put("STONE.3", "tile.stone.diorite.name"); | |
keys.put("STONE.4", "tile.stone.dioriteSmooth.name"); | |
keys.put("STONE.5", "tile.stone.andesite.name"); | |
keys.put("STONE.6", "tile.stone.andesiteSmooth.name"); | |
keys.put("HAY_BLOCK", "tile.hayBlock.name"); | |
keys.put("GRASS", "tile.grass.name"); | |
keys.put("DIRT", "tile.dirt.name"); | |
keys.put("DIRT.0", "tile.dirt.default.name"); | |
keys.put("DIRT.1", "tile.dirt.coarse.name"); | |
keys.put("DIRT.2", "tile.dirt.podzol.name"); | |
keys.put("COBBLESTONE", "tile.stonebrick.name"); | |
keys.put("WOOD", "tile.wood.name"); | |
keys.put("WOOD.0", "tile.wood.oak.name"); | |
keys.put("WOOD.1", "tile.wood.spruce.name"); | |
keys.put("WOOD.2", "tile.wood.birch.name"); | |
keys.put("WOOD.3", "tile.wood.jungle.name"); | |
keys.put("WOOD.4", "tile.wood.acacia.name"); | |
keys.put("WOOD.5", "tile.wood.big_oak.name"); | |
keys.put("SAPLING.0", "tile.sapling.oak.name"); | |
keys.put("SAPLING.1", "tile.sapling.spruce.name"); | |
keys.put("SAPLING.2", "tile.sapling.birch.name"); | |
keys.put("SAPLING.3", "tile.sapling.jungle.name"); | |
keys.put("SAPLING.3", "tile.sapling.acacia.name"); | |
keys.put("SAPLING.4", "tile.sapling.big_oak.name"); | |
keys.put("DEAD_BUSH", "tile.deadbush.name"); | |
keys.put("BEDROCK", "tile.bedrock.name"); | |
keys.put("WATER", "tile.water.name"); | |
keys.put("LAVA", "tile.lava.name"); | |
keys.put("SAND", "tile.sand.name"); | |
keys.put("SAND.0", "tile.sand.default.name"); | |
keys.put("SAND.1", "tile.sand.red.name"); | |
keys.put("SANDSTONE", "tile.sandStone.name"); | |
keys.put("SANDSTONE.0", "tile.sandStone.default.name"); | |
keys.put("SANDSTONE.1", "tile.sandStone.chiseled.name"); | |
keys.put("SANDSTONE.2", "tile.sandStone.smooth.name"); | |
keys.put("RED_SANDSTONE", "tile.redSandStone.name"); | |
keys.put("RED_SANDSTONE.0", "tile.redSandStone.default.name"); | |
keys.put("RED_SANDSTONE.1", "tile.redSandStone.chiseled.name"); | |
keys.put("RED_SANDSTONE.2", "tile.redSandStone.smooth.name"); | |
keys.put("GRAVEL", "tile.gravel.name"); | |
keys.put("GOLD_ORE", "tile.oreGold.name"); | |
keys.put("IRON_ORE", "tile.oreIron.name"); | |
keys.put("COAL_ORE", "tile.oreCoal.name"); | |
keys.put("LOG", "tile.log.name"); | |
keys.put("LOG.0", "tile.log.oak.name"); | |
keys.put("LOG.1", "tile.log.spruce.name"); | |
keys.put("LOG.2", "tile.log.birch.name"); | |
keys.put("LOG.3", "tile.log.jungle.name"); | |
keys.put("LOG_2.0", "tile.log.acacia.name"); | |
keys.put("LOG_2.1", "tile.log.big_oak.name"); | |
keys.put("LEAVES"," tile.leaves.name"); | |
keys.put("LEAVES.0", "tile.leaves.oak.name"); | |
keys.put("LEAVES.1", "tile.leaves.spruce.name"); | |
keys.put("LEAVES.2", "tile.leaves.birch.name"); | |
keys.put("LEAVES.3", "tile.leaves.jungle.name"); | |
keys.put("LEAVES_2.0", "tile.leaves.acacia.name"); | |
keys.put("LEAVES2.1", "tile.leaves.big_oak.name"); | |
keys.put("LONG_GRASS", "tile.tallgrass.name"); | |
keys.put("LONG_GRASS.2", "tile.tallgrass.shrub.name"); | |
keys.put("LONG_GRASS.0", "tile.tallgrass.grass.name"); | |
keys.put("LONG_GRASS.1", "tile.tallgrass.fern.name"); | |
keys.put("SPONGE", "tile.sponge.dry.name"); | |
keys.put("SPONGE.1", "tile.sponge.wet.name"); | |
keys.put("GLASS", "tile.glass.name"); | |
keys.put("STAINED_GLASS", "tile.stainedGlass.name"); | |
keys.put("STAINED_GLASS.15", "tile.stainedGlass.black.name"); | |
keys.put("STAINED_GLASS.14", "tile.stainedGlass.red.name"); | |
keys.put("STAINED_GLASS.13", "tile.stainedGlass.green.name"); | |
keys.put("STAINED_GLASS.12", "tile.stainedGlass.brown.name"); | |
keys.put("STAINED_GLASS.11", "tile.stainedGlass.blue.name"); | |
keys.put("STAINED_GLASS.10", "tile.stainedGlass.purple.name"); | |
keys.put("STAINED_GLASS.9", "tile.stainedGlass.cyan.name"); | |
keys.put("STAINED_GLASS.8", "tile.stainedGlass.silver.name"); | |
keys.put("STAINED_GLASS.7", "tile.stainedGlass.gray.name"); | |
keys.put("STAINED_GLASS.6", "tile.stainedGlass.pink.name"); | |
keys.put("STAINED_GLASS.5", "tile.stainedGlass.lime.name"); | |
keys.put("STAINED_GLASS.4", "tile.stainedGlass.yellow.name"); | |
keys.put("STAINED_GLASS.3", "tile.stainedGlass.lightBlue.name"); | |
keys.put("STAINED_GLASS.2", "tile.stainedGlass.magenta.name"); | |
keys.put("STAINED_GLASS.1", "tile.stainedGlass.orange.name"); | |
keys.put("STAINED_GLASS.0", "tile.stainedGlass.white.name"); | |
keys.put("STAINED_GLASS_PANE", "tile.thinStainedGlass.name"); | |
keys.put("STAINED_GLASS_PANE.15", "tile.thinStainedGlass.black.name"); | |
keys.put("STAINED_GLASS_PANE.14", "tile.thinStainedGlass.red.name"); | |
keys.put("STAINED_GLASS_PANE.13", "tile.thinStainedGlass.green.name"); | |
keys.put("STAINED_GLASS_PANE.12", "tile.thinStainedGlass.brown.name"); | |
keys.put("STAINED_GLASS_PANE.11", "tile.thinStainedGlass.blue.name"); | |
keys.put("STAINED_GLASS_PANE.10", "tile.thinStainedGlass.purple.name"); | |
keys.put("STAINED_GLASS_PANE.9", "tile.thinStainedGlass.cyan.name"); | |
keys.put("STAINED_GLASS_PANE.8", "tile.thinStainedGlass.silver.name"); | |
keys.put("STAINED_GLASS_PANE.7", "tile.thinStainedGlass.gray.name"); | |
keys.put("STAINED_GLASS_PANE.6", "tile.thinStainedGlass.pink.name"); | |
keys.put("STAINED_GLASS_PANE.5", "tile.thinStainedGlass.lime.name"); | |
keys.put("STAINED_GLASS_PANE.4", "tile.thinStainedGlass.yellow.name"); | |
keys.put("STAINED_GLASS_PANE.3", "tile.thinStainedGlass.lightBlue.name"); | |
keys.put("STAINED_GLASS_PANE.2", "tile.thinStainedGlass.magenta.name"); | |
keys.put("STAINED_GLASS_PANE.1", "tile.thinStainedGlass.orange.name"); | |
keys.put("STAINED_GLASS_PANE.0", "tile.thinStainedGlass.white.name"); | |
keys.put("THIN_GLASS", "tile.thinGlass.name"); | |
keys.put("WOOL", "tile.cloth.name"); | |
keys.put("YELLOW_FLOWER", "tile.flower1.name"); | |
keys.put("YELLOW_FLOWER.0", "tile.flower1.dandelion.name"); | |
keys.put("RED_ROSE", "tile.flower2.name"); | |
keys.put("RED_ROSE.0", "tile.flower2.poppy.name"); | |
keys.put("RED_ROSE.1", "tile.flower2.blueOrchid.name"); | |
keys.put("RED_ROSE.2", "tile.flower2.allium.name"); | |
keys.put("RED_ROSE.3", "tile.flower2.houstonia.name"); | |
keys.put("RED_ROSE.4", "tile.flower2.tulipRed.name"); | |
keys.put("RED_ROSE.5", "tile.flower2.tulipOrange.name"); | |
keys.put("RED_ROSE.6", "tile.flower2.tulipWhite.name"); | |
keys.put("RED_ROSE.7", "tile.flower2.tulipPink.name"); | |
keys.put("RED_ROSE.8", "tile.flower2.oxeyeDaisy.name"); | |
keys.put("DOUBLE_PLANT", "tile.doublePlant.name"); | |
keys.put("DOUBLE_PLANT.0", "tile.doublePlant.sunflower.name"); | |
keys.put("DOUBLE_PLANT.1", "tile.doublePlant.syringa.name"); | |
keys.put("DOUBLE_PLANT.2", "tile.doublePlant.grass.name"); | |
keys.put("DOUBLE_PLANT.3", "tile.doublePlant.fern.name"); | |
keys.put("DOUBLE_PLANT.4", "tile.doublePlant.rose.name"); | |
keys.put("DOUBLE_PLANT.5", "tile.doublePlant.paeonia.name"); | |
keys.put("BROWN_MUSHROOM", "tile.mushroom.name"); | |
keys.put("GOLD_BLOCK", "tile.blockGold.name"); | |
keys.put("IRON_BLOCK", "tile.blockIron.name"); | |
keys.put("STONE_SLAB", "tile.stoneSlab.name"); | |
keys.put("STONE_SLAB.0", "tile.stoneSlab.stone.name"); | |
keys.put("STONE_SLAB.1", "tile.stoneSlab.sand.name"); | |
keys.put("STONE_SLAB.2", "tile.stoneSlab.wood.name"); | |
keys.put("STONE_SLAB.3", "tile.stoneSlab.cobble.name"); | |
keys.put("STONE_SLAB.4", "tile.stoneSlab.brick.name"); | |
keys.put("STONE_SLAB.5", "tile.stoneSlab.smoothStoneBrick.name"); | |
keys.put("STONE_SLAB.6", "tile.stoneSlab.netherBrick.name"); | |
keys.put("STONE_SLAB.7", "tile.stoneSlab.quartz.name"); | |
keys.put("STONE_SLAB2", "tile.stoneSlab2.red_sandstone.name"); | |
keys.put("WOOD_STEP", "tile.woodSlab.name"); | |
keys.put("WOOD_STEP.0", "tile.woodSlab.oak.name"); | |
keys.put("WOOD_STEP.1", "tile.woodSlab.spruce.name"); | |
keys.put("WOOD_STEP.2", "tile.woodSlab.birch.name"); | |
keys.put("WOOD_STEP.3", "tile.woodSlab.jungle.name"); | |
keys.put("WOOD_STEP.4", "tile.woodSlab.acacia.name"); | |
keys.put("WOOD_STEP.5", "tile.woodSlab.big_oak.name"); | |
keys.put("BRICK", "tile.brick.name"); | |
keys.put("TNT", "tile.tnt.name"); | |
keys.put("BOOKSHELF", "tile.bookshelf.name"); | |
keys.put("MOSSY_COBBLESTONE", "tile.stoneMoss.name"); | |
keys.put("OBSIDIAN", "tile.obsidian.name"); | |
keys.put("TORCH", "tile.torch.name"); | |
keys.put("FIRE", "tile.fire.name"); | |
keys.put("MOB_SPAWNER", "tile.mobSpawner.name"); | |
keys.put("WOOD_STAIRS", "tile.stairsWood.name"); | |
keys.put("SPRUCE_WOOD_STAIRS", "tile.stairsWoodSpruce.name"); | |
keys.put("BIRCH_WOOD_STAIRS", "tile.stairsWoodBirch.name"); | |
keys.put("JUNGLE_WOOD_STAIRS", "tile.stairsWoodJungle.name"); | |
keys.put("ACACIA_STAIRS", "tile.stairsWoodAcacia.name"); | |
keys.put("DARK_OAK_STAIRS", "tile.stairsWoodDarkOak.name"); | |
keys.put("CHEST", "tile.chest.name"); | |
keys.put("TRAPPED_CHEST", "tile.chestTrap.name"); | |
keys.put("REDSTONE_WIRE", "tile.redstoneDust.name"); | |
keys.put("DIAMOND_ORE", "tile.oreDiamond.name"); | |
keys.put("COAL_BLOCK", "tile.blockCoal.name"); | |
keys.put("DIAMOND_BLOCK", "tile.blockDiamond.name"); | |
keys.put("WORKBENCH", "tile.workbench.name"); | |
keys.put("CROPS", "tile.crops.name"); | |
keys.put("SOIL", "tile.farmland.name"); | |
keys.put("FURNACE", "tile.furnace.name"); | |
keys.put("SIGN", "tile.sign.name"); | |
keys.put("WOODEN_DOOR", "tile.doorWood.name"); | |
keys.put("LADDER", "tile.ladder.name"); | |
keys.put("RAILS", "tile.rail.name"); | |
keys.put("POWERED_RAIL", "tile.goldenRail.name"); | |
keys.put("ACTIVATOR_RAIL", "tile.activatorRail.name"); | |
keys.put("DETECTOR_RAIL", "tile.detectorRail.name"); | |
keys.put("COBBLESTONE_STAIRS", "tile.stairsStone.name"); | |
keys.put("SANDSTONE_STAIRS", "tile.stairsSandStone.name"); | |
keys.put("RED_SANDSTONE_STAIRS", "tile.stairsRedSandStone.name"); | |
keys.put("LEVER", "tile.lever.name"); | |
keys.put("STONE_PLATE", "tile.pressurePlateStone.name"); | |
keys.put("WOOD_PLATE", "tile.pressurePlateWood.name"); | |
keys.put("GOLD_PLATE", "tile.weightedPlate_light.name"); | |
keys.put("IRON_PLATE", "tile.weightedPlate_heavy.name"); | |
keys.put("IRON_DOOR_BLOCK", "tile.doorIron.name"); | |
keys.put("REDSTONE_ORE", "tile.oreRedstone.name"); | |
keys.put("REDSTONE_TORCH_ON", "tile.notGate.name"); | |
keys.put("REDSTONE_TORCH_OFF", "tile.notGate.name"); // added | |
keys.put("STONE_BUTTON", "tile.button.name"); | |
keys.put("WOOD_BUTTON", "tile.button.name"); //added | |
keys.put("SNOW", "tile.snow.name"); | |
keys.put("SNOW_BLOCK", "tile.snow.name"); //added | |
keys.put("CARPET", "tile.woolCarpet.name"); | |
keys.put("CARPET.15", "tile.woolCarpet.black.name"); | |
keys.put("CARPET.14", "tile.woolCarpet.red.name"); | |
keys.put("CARPET.13", "tile.woolCarpet.green.name"); | |
keys.put("CARPET.12", "tile.woolCarpet.brown.name"); | |
keys.put("CARPET.11", "tile.woolCarpet.blue.name"); | |
keys.put("CARPET.10", "tile.woolCarpet.purple.name"); | |
keys.put("CARPET.9", "tile.woolCarpet.cyan.name"); | |
keys.put("CARPET.8", "tile.woolCarpet.silver.name"); | |
keys.put("CARPET.7", "tile.woolCarpet.gray.name"); | |
keys.put("CARPET.6", "tile.woolCarpet.pink.name"); | |
keys.put("CARPET.5", "tile.woolCarpet.lime.name"); | |
keys.put("CARPET.4", "tile.woolCarpet.yellow.name"); | |
keys.put("CARPET.3", "tile.woolCarpet.lightBlue.name"); | |
keys.put("CARPET.2", "tile.woolCarpet.magenta.name"); | |
keys.put("CARPET.1", "tile.woolCarpet.orange.name"); | |
keys.put("CARPET.0", "tile.woolCarpet.white.name"); | |
keys.put("ICE", "tile.ice.name"); | |
keys.put("FROSTED_ICE", "tile.frostedIce.name"); | |
keys.put("PACKED_ICE", "tile.icePacked.name"); | |
keys.put("CACTUS", "tile.cactus.name"); | |
keys.put("CLAY", "tile.clay.name"); | |
keys.put("STAINED_CLAY", "tile.clayHardenedStained.name"); | |
keys.put("STAINED_CLAY.15", "tile.clayHardenedStained.black.name"); | |
keys.put("STAINED_CLAY.14", "tile.clayHardenedStained.red.name"); | |
keys.put("STAINED_CLAY.13", "tile.clayHardenedStained.green.name"); | |
keys.put("STAINED_CLAY.12", "tile.clayHardenedStained.brown.name"); | |
keys.put("STAINED_CLAY.11", "tile.clayHardenedStained.blue.name"); | |
keys.put("STAINED_CLAY.10", "tile.clayHardenedStained.purple.name"); | |
keys.put("STAINED_CLAY.9", "tile.clayHardenedStained.cyan.name"); | |
keys.put("STAINED_CLAY.8", "tile.clayHardenedStained.silver.name"); | |
keys.put("STAINED_CLAY.7", "tile.clayHardenedStained.gray.name"); | |
keys.put("STAINED_CLAY.6", "tile.clayHardenedStained.pink.name"); | |
keys.put("STAINED_CLAY.5", "tile.clayHardenedStained.lime.name"); | |
keys.put("STAINED_CLAY.4", "tile.clayHardenedStained.yellow.name"); | |
keys.put("STAINED_CLAY.3", "tile.clayHardenedStained.lightBlue.name"); | |
keys.put("STAINED_CLAY.2", "tile.clayHardenedStained.magenta.name"); | |
keys.put("STAINED_CLAY.1", "tile.clayHardenedStained.orange.name"); | |
keys.put("STAINED_CLAY.0", "tile.clayHardenedStained.white.name"); | |
keys.put("HARD_CLAY", "tile.clayHardened.name"); | |
keys.put("SUGAR_CANE_BLOCK", "tile.reeds.name"); | |
keys.put("JUKEBOX", "tile.jukebox.name"); | |
keys.put("FENCE", "tile.fence.name"); | |
keys.put("SPRUCE_FENCE", "tile.spruceFence.name"); | |
keys.put("BIRCH_FENCE", "tile.birchFence.name"); | |
keys.put("JUNGLE_FENCE", "tile.jungleFence.name"); | |
keys.put("DARK_OAK_FENCE", "tile.darkOakFence.name"); | |
keys.put("ACACIA_FENCE", "tile.acaciaFence.name"); | |
keys.put("FENCE_GATE", "tile.fenceGate.name"); | |
keys.put("SPRUCE_FENCE_GATE", "tile.spruceFenceGate.name"); | |
keys.put("BIRCH_FENCE_GATE", "tile.birchFenceGate.name"); | |
keys.put("JUNGLE_FENCE_GATE", "tile.jungleFenceGate.name"); | |
keys.put("DARK_OAK_FENCE_GATE", "tile.darkOakFenceGate.name"); | |
keys.put("ACACIA_FENCE_GATE", "tile.acaciaFenceGate.name"); | |
keys.put("PUMPKIN_STEM", "tile.pumpkinStem.name"); | |
keys.put("PUMPKIN", "tile.pumpkin.name"); | |
keys.put("JACK_O_LANTERN", "tile.litpumpkin.name"); | |
keys.put("NETHERRACK", "tile.hellrock.name"); | |
keys.put("SOUL_SAND", "tile.hellsand.name"); | |
keys.put("GLOWSTONE", "tile.lightgem.name"); | |
keys.put("PORTAL", "tile.portal.name"); | |
keys.put("WOOL.15", "tile.cloth.black.name"); | |
keys.put("WOOL.14", "tile.cloth.red.name"); | |
keys.put("WOOL.13", "tile.cloth.green.name"); | |
keys.put("WOOL.12", "tile.cloth.brown.name"); | |
keys.put("WOOL.11", "tile.cloth.blue.name"); | |
keys.put("WOOL.10", "tile.cloth.purple.name"); | |
keys.put("WOOL.9", "tile.cloth.cyan.name"); | |
keys.put("WOOL.8", "tile.cloth.silver.name"); | |
keys.put("WOOL.7", "tile.cloth.gray.name"); | |
keys.put("WOOL.6", "tile.cloth.pink.name"); | |
keys.put("WOOL.5", "tile.cloth.lime.name"); | |
keys.put("WOOL.4", "tile.cloth.yellow.name"); | |
keys.put("WOOL.3", "tile.cloth.lightBlue.name"); | |
keys.put("WOOL.2", "tile.cloth.magenta.name"); | |
keys.put("WOOL.1", "tile.cloth.orange.name"); | |
keys.put("WOOL.0", "tile.cloth.white.name"); | |
keys.put("LAPIS_BLOCK", "tile.oreLapis.name"); | |
keys.put("LAPIS_ORE", "tile.blockLapis.name"); | |
keys.put("DISPENSER", "tile.dispenser.name"); | |
keys.put("DROPPER", "tile.dropper.name"); | |
keys.put("NOTE_BLOCK", "tile.musicBlock.name"); | |
keys.put("CAKE", "tile.cake.name"); | |
keys.put("LOCKED_CHEST", "tile.lockedchest.name"); | |
keys.put("TRAP_DOOR", "tile.trapdoor.name"); | |
keys.put("IRON_TRAPDOOR", "tile.ironTrapdoor.name"); | |
keys.put("WEB", "tile.web.name"); | |
keys.put("SMOOTH_BRICK", "tile.stonebricksmooth.name"); | |
keys.put("SMOOTH_BRICK.0", "tile.stonebricksmooth.default.name"); | |
keys.put("SMOOTH_BRICK.2", "tile.stonebricksmooth.mossy.name"); | |
keys.put("SMOOTH_BRICK.3", "tile.stonebricksmooth.cracked.name"); | |
keys.put("SMOOTH_BRICK.4", "tile.stonebricksmooth.chiseled.name"); | |
keys.put("MONSTER_EGGS", "tile.monsterStoneEgg.name"); | |
keys.put("MONSTER_EGGS.0", "tile.monsterStoneEgg.stone.name"); | |
keys.put("MONSTER_EGGS.1", "tile.monsterStoneEgg.cobble.name"); | |
keys.put("MONSTER_EGGS.2", "tile.monsterStoneEgg.brick.name"); | |
keys.put("MONSTER_EGGS.3", "tile.monsterStoneEgg.mossybrick.name"); | |
keys.put("MONSTER_EGGS.4", "tile.monsterStoneEgg.crackedbrick.name"); | |
keys.put("MONSTER_EGGS.5", "tile.monsterStoneEgg.chiseledbrick.name"); | |
keys.put("PISTON_BASE", "tile.pistonBase.name"); | |
keys.put("PISTON_STICKY_BASE", "tile.pistonStickyBase.name"); | |
keys.put("IRON_FENCE", "tile.fenceIron.name"); | |
keys.put("MELON_BLOCK", "tile.melon.name"); | |
keys.put("BRICK_STAIRS", "tile.stairsBrick.name"); | |
keys.put("SMOOTH_STAIRS", "tile.stairsStoneBrickSmooth.name"); | |
keys.put("VINE", "tile.vine.name"); | |
keys.put("NETHER_BRICK", "tile.netherBrick.name"); | |
keys.put("NETHER_FENCE", "tile.netherFence.name"); | |
keys.put("NETHER_BRICK_STAIRS", "tile.stairsNetherBrick.name"); | |
keys.put("NETHER_STALK", "tile.netherStalk.name"); | |
keys.put("CAULDRON", "tile.cauldron.name"); | |
keys.put("ENCHANTMENT_TABLE", "tile.enchantmentTable.name"); | |
keys.put("ANVIL", "tile.anvil.name"); | |
keys.put("ANVIL.0", "tile.anvil.intact.name"); | |
keys.put("ANVIL.1", "tile.anvil.slightlyDamaged.name"); | |
keys.put("ANVIL.2", "tile.anvil.veryDamaged.name"); | |
keys.put("ENDER_STONE", "tile.whiteStone.name"); | |
keys.put("ENDER_PORTAL_FRAME", "tile.endPortalFrame.name"); | |
keys.put("MYCEL", "tile.mycel.name"); | |
keys.put("WATER_LILY", "tile.waterlily.name"); | |
keys.put("DRAGON_EGG", "tile.dragonEgg.name"); | |
keys.put("REDSTONE_LAMP_OFF", "tile.redstoneLight.name"); | |
keys.put("REDSTONE_LAMP_ON", "tile.redstoneLight.name"); //added | |
keys.put("COCOA", "tile.cocoa.name"); | |
keys.put("ENDER_CHEST", "tile.enderChest.name"); | |
keys.put("EMERALD_ORE", "tile.oreEmerald.name"); | |
keys.put("EMERLAND_BLOCK", "tile.blockEmerald.name"); | |
keys.put("REDSTONE_ORE", "tile.blockRedstone.name"); | |
keys.put("TRIPWARE", "tile.tripWire.name"); | |
keys.put("TRIPWIRE_HOOK", "tile.tripWireSource.name"); | |
keys.put("COMMAND", "tile.commandBlock.name"); | |
keys.put("COMMAND_REPEATING", "tile.repeatingCommandBlock.name"); | |
keys.put("COMMAND_CHAIN", "tile.chainCommandBlock.name"); | |
keys.put("BEACON", "tile.beacon.name"); | |
keys.put("COBBLE_WALL", "tile.cobbleWall.normal.name"); | |
keys.put("COBBLE_WALL.1", "tile.cobbleWall.mossy.name"); | |
keys.put("CARROT", "tile.carrots.name"); | |
keys.put("POTATO", "tile.potatoes.name"); | |
keys.put("DAYLIGHT_DETECTOR", "tile.daylightDetector.name"); | |
keys.put("QUARTZ_ORE", "tile.netherquartz.name"); | |
keys.put("HOPPER", "tile.hopper.name"); | |
keys.put("QUARTZ_BLOCK", "tile.quartzBlock.name"); | |
keys.put("QUARTZ_BLOCK.0", "tile.quartzBlock.default.name"); | |
keys.put("QUARTZ_BLOCK.1", "tile.quartzBlock.chiseled.name"); | |
keys.put("QUARTZ_BLOCK.2", "tile.quartzBlock.lines.name"); | |
keys.put("QUARTZ_STAIRS", "tile.stairsQuartz.name"); | |
keys.put("SLIME_BLOCK", "tile.slime.name"); | |
keys.put("PRISMARINE", "tile.prismarine.rough.name"); | |
keys.put("PRISMARINE.2", "tile.prismarine.bricks.name"); | |
keys.put("PRISMARINE.1", "tile.prismarine.dark.name"); | |
keys.put("SEA_LANTERN", "tile.seaLantern.name"); | |
keys.put("END_ROD", "tile.endRod.name"); | |
keys.put("CHORUS_PLANT", "tile.chorusPlant.name"); | |
keys.put("CHORUS_FLOWER", "tile.chorusFlower.name"); | |
keys.put("PURPUR_BLOCK", "tile.purpurBlock.name"); | |
keys.put("PURPUR_PILLAR", "tile.purpurPillar.name"); | |
keys.put("PURPUR_STAIRS", "tile.stairsPurpur.name"); | |
keys.put("PURPUR_SLAB", "tile.purpurSlab.name"); | |
keys.put("END_BRICKS", "tile.endBricks.name"); | |
keys.put("BEETROOT_BLOCK", "tile.beetroots.name"); | |
keys.put("GRASS_PATH", "tile.grassPath.name"); | |
keys.put("MAGMA", "tile.magma.name"); | |
keys.put("NETHER_WART_BLOCK", "tile.netherWartBlock.name"); | |
keys.put("RED_NETHER_BRICK", "tile.redNetherBrick.name"); | |
keys.put("BONE_BLOCK", "tile.boneBlock.name"); | |
keys.put("OBSERVER", "tile.observer.name"); | |
keys.put("WHITE_SHULKER_BOX", "tile.shulkerBoxWhite.name"); | |
keys.put("ORANGE_SHULKER_BOX", "tile.shulkerBoxOrange.name"); | |
keys.put("MAGENTA_SHULKER_BOX", "tile.shulkerBoxMagenta.name"); | |
keys.put("LIGHT_BLUE_SHULKER_BOX", "tile.shulkerBoxLightBlue.name"); | |
keys.put("YELLOW_SHULKER_BOX", "tile.shulkerBoxYellow.name"); | |
keys.put("LIME_SHULKER_BOX", "tile.shulkerBoxLime.name"); | |
keys.put("PINK_SHULKER_BOX", "tile.shulkerBoxPink.name"); | |
keys.put("GRAY_SHULKER_BOX", "tile.shulkerBoxGray.name"); | |
keys.put("SILVER_SHULKER_BOX", "tile.shulkerBoxSilver.name"); | |
keys.put("CYAN_SHULKER_BOX", "tile.shulkerBoxCyan.name"); | |
keys.put("PURPLE_SHULKER_BOX", "tile.shulkerBoxPurple.name"); | |
keys.put("BLUE_SHULKER_BOX", "tile.shulkerBoxBlue.name"); | |
keys.put("BROWN_SHULKER_BOX", "tile.shulkerBoxBrown.name"); | |
keys.put("GREEN_SHULKER_BOX", "tile.shulkerBoxGreen.name"); | |
keys.put("RED_SHULKER_BOX", "tile.shulkerBoxRed.name"); | |
keys.put("BLACK_SHULKER_BOX", "tile.shulkerBoxBlack.name"); | |
keys.put("WHITE_GLAZED_TERRACOTTA", "tile.glazedTerracottaWhite.name"); | |
keys.put("ORANGE_GLAZED_TERRACOTTA", "tile.glazedTerracottaOrange.name"); | |
keys.put("MAGENTA_GLAZED_TERRACOTTA", "tile.glazedTerracottaMagenta.name"); | |
keys.put("LIGHT_BLUE_GLAZED_TERRACOTTA", "tile.glazedTerracottaLightBlue.name"); | |
keys.put("YELLOW_GLAZED_TERRACOTTA", "tile.glazedTerracottaYellow.name"); | |
keys.put("LIME_GLAZED_TERRACOTTA", "tile.glazedTerracottaLime.name"); | |
keys.put("PINK_GLAZED_TERRACOTTA", "tile.glazedTerracottaPink.name"); | |
keys.put("GRAY_GLAZED_TERRACOTTA", "tile.glazedTerracottaGray.name"); | |
keys.put("SILVER_GLAZED_TERRACOTTA", "tile.glazedTerracottaSilver.name"); | |
keys.put("CYAN_GLAZED_TERRACOTTA", "tile.glazedTerracottaCyan.name"); | |
keys.put("PURPLE_GLAZED_TERRACOTTA", "tile.glazedTerracottaPurple.name"); | |
keys.put("BLUE_GLAZED_TERRACOTTA", "tile.glazedTerracottaBlue.name"); | |
keys.put("BROWN_GLAZED_TERRACOTTA", "tile.glazedTerracottaBrown.name"); | |
keys.put("GREEN_GLAZED_TERRACOTTA", "tile.glazedTerracottaGreen.name"); | |
keys.put("RED_GLAZED_TERRACOTTA", "tile.glazedTerracottaRed.name"); | |
keys.put("BLACK_GLAZED_TERRACOTTA", "tile.glazedTerracottaBlack.name"); | |
keys.put("CONCRETE.15", "tile.concrete.black.name"); | |
keys.put("CONCRETE.14", "tile.concrete.red.name"); | |
keys.put("CONCRETE.13", "tile.concrete.green.name"); | |
keys.put("CONCRETE.12", "tile.concrete.brown.name"); | |
keys.put("CONCRETE.11", "tile.concrete.blue.name"); | |
keys.put("CONCRETE.10", "tile.concrete.purple.name"); | |
keys.put("CONCRETE.9", "tile.concrete.cyan.name"); | |
keys.put("CONCRETE.8", "tile.concrete.silver.name"); | |
keys.put("CONCRETE.7", "tile.concrete.gray.name"); | |
keys.put("CONCRETE.6", "tile.concrete.pink.name"); | |
keys.put("CONCRETE.5", "tile.concrete.lime.name"); | |
keys.put("CONCRETE.4", "tile.concrete.yellow.name"); | |
keys.put("CONCRETE.3", "tile.concrete.lightBlue.name"); | |
keys.put("CONCRETE.2", "tile.concrete.magenta.name"); | |
keys.put("CONCRETE.1", "tile.concrete.orange.name"); | |
keys.put("CONCRETE", "tile.concrete.white.name"); | |
keys.put("CONCRETE_POWER.15", "tile.concretePowder.black.name"); | |
keys.put("CONCRETE_POWER.14", "tile.concretePowder.red.name"); | |
keys.put("CONCRETE_POWER.13", "tile.concretePowder.green.name"); | |
keys.put("CONCRETE_POWER.12", "tile.concretePowder.brown.name"); | |
keys.put("CONCRETE_POWER.11", "tile.concretePowder.blue.name"); | |
keys.put("CONCRETE_POWER.10", "tile.concretePowder.purple.name"); | |
keys.put("CONCRETE_POWER.9", "tile.concretePowder.cyan.name"); | |
keys.put("CONCRETE_POWER.8", "tile.concretePowder.silver.name"); | |
keys.put("CONCRETE_POWER.7", "tile.concretePowder.gray.name"); | |
keys.put("CONCRETE_POWER.6", "tile.concretePowder.pink.name"); | |
keys.put("CONCRETE_POWER.5", "tile.concretePowder.lime.name"); | |
keys.put("CONCRETE_POWER.4", "tile.concretePowder.yellow.name"); | |
keys.put("CONCRETE_POWER.3", "tile.concretePowder.lightBlue.name"); | |
keys.put("CONCRETE_POWER.2", "tile.concretePowder.magenta.name"); | |
keys.put("CONCRETE_POWER.1", "tile.concretePowder.orange.name"); | |
keys.put("CONCRETE_POWER.0", "tile.concretePowder.white.name"); | |
keys.put("STRUCTURE_VOID", "tile.structureVoid.name"); | |
keys.put("STRUCTURE_BLOCK", "tile.structureBlock.name"); | |
keys.put("BED_BLOCK.15", "item.bed.black.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.14", "item.bed.red.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.13", "item.bed.green.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.12", "item.bed.brown.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.11", "item.bed.blue.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.10", "item.bed.purple.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.9", "item.bed.cyan.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.8", "item.bed.silver.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.7", "item.bed.gray.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.6", "item.bed.pink.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.5", "item.bed.lime.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.4", "item.bed.yellow.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.3", "item.bed.lightBlue.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.2", "item.bed.magenta.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.1", "item.bed.orange.name"); // added, 1.11+ | |
keys.put("BED_BLOCK.0", "item.bed.white.name"); // added, 1.11+ | |
keys.put("BED_BLOCK", "item.bed.name"); // added | |
keys.put("DIODE_BLOCK_OFF", "item.diode.name"); // added | |
keys.put("DIODE_BLOCK_ON", "item.diode.name"); // added | |
keys.put("REDSTONE_COMPARATOR_OFF", "item.comparator.name"); // added | |
keys.put("REDSTONE_COMPARATOR_OFF", "item.comparator.name"); // added | |
keys.put("SKULL.0", "item.skull.skeleton.name"); // added | |
keys.put("SKULL.1", "item.skull.wither.name"); // added | |
keys.put("SKULL.2", "item.skull.zombie.name"); // added | |
keys.put("SKULL.3", "item.skull.char.name"); // added | |
keys.put("SKULL.4", "item.skull.player.name"); // added | |
keys.put("SKULL.5", "item.skull.creeper.name"); // added | |
keys.put("SKULL.6", "item.skull.dragon.name"); // added | |
return keys; | |
} | |
public LinkedHashMap<String, String> getItemKeys() { | |
LinkedHashMap<String, String> keys = new LinkedHashMap<String, String>(); | |
keys.put("NAME_TAG", "item.nameTag.name"); | |
keys.put("LEASH", "item.leash.name"); | |
keys.put("IRON_SPADE", "item.shovelIron.name"); | |
keys.put("IRON_PICKAXE", "item.pickaxeIron.name"); | |
keys.put("IRON_AXE", "item.hatchetIron.name"); | |
keys.put("FLINT_AND_STEEL", "item.flintAndSteel.name"); | |
keys.put("APPLE", "item.apple.name"); | |
keys.put("COOKIE", "item.cookie.name"); | |
keys.put("BOW", "item.bow.name"); | |
keys.put("ARROW", "item.arrow.name"); | |
keys.put("SPECTRAL_ARROW", "item.spectral_arrow.name"); | |
keys.put("TIPPED_ARROW", "item.tipped_arrow.name"); | |
keys.put("COAL", "item.coal.name"); | |
keys.put("COAL.1", "item.charcoal.name"); | |
keys.put("DIAMOND", "item.diamond.name"); | |
keys.put("EMERALD", "item.emerald.name"); | |
keys.put("IRON_INGOT", "item.ingotIron.name"); | |
keys.put("GOLD_INGOT", "item.ingotGold.name"); | |
keys.put("IRON_SWORD", "item.swordIron.name"); | |
keys.put("WOOD_SWORD", "item.swordWood.name"); | |
keys.put("WOOD_SPADE", "item.shovelWood.name"); | |
keys.put("WOOD_PICKAXE", "item.pickaxeWood.name"); | |
keys.put("WOOD_AXE", "item.hatchetWood.name"); | |
keys.put("STONE_SWORD", "item.swordStone.name"); | |
keys.put("STONE_SPADE", "item.shovelStone.name"); | |
keys.put("STONE_PICKAXE", "item.pickaxeStone.name"); | |
keys.put("STONE_AXE", "item.hatchetStone.name"); | |
keys.put("DIAMOND_SWORD", "item.swordDiamond.name"); | |
keys.put("DIAMOND_SPADE", "item.shovelDiamond.name"); | |
keys.put("DIAMOND_PICKAXE", "item.pickaxeDiamond.name"); | |
keys.put("DIAMOND_AXE", "item.hatchetDiamond.name"); | |
keys.put("STICK", "item.stick.name"); | |
keys.put("BOWL", "item.bowl.name"); | |
keys.put("MUSHROOM_SOUP", "item.mushroomStew.name"); | |
keys.put("GOLD_SWORD", "item.swordGold.name"); | |
keys.put("GOLD_SPADE", "item.shovelGold.name"); | |
keys.put("GOLD_PICKAXE", "item.pickaxeGold.name"); | |
keys.put("GOLD_AXE", "item.hatchetGold.name"); | |
keys.put("STRING", "item.string.name"); | |
keys.put("FEATHER", "item.feather.name"); | |
keys.put("SULPHUR", "item.sulphur.name"); | |
keys.put("WOOD_HOE", "item.hoeWood.name"); | |
keys.put("STONE_HOE", "item.hoeStone.name"); | |
keys.put("IRON_HOE", "item.hoeIron.name"); | |
keys.put("DIAMOND_HOE", "item.hoeDiamond.name"); | |
keys.put("GOLD_HOE", "item.hoeGold.name"); | |
keys.put("SEEDS", "item.seeds.name"); | |
keys.put("PUMPKIN_SEEDS", "item.seeds_pumpkin.name"); | |
keys.put("MELON_SEEDS", "item.seeds_melon.name"); | |
keys.put("MELON", "item.melon.name"); | |
keys.put("WHEAT", "item.wheat.name"); | |
keys.put("BREAD", "item.bread.name"); | |
keys.put("LEATHER_HELMET", "item.helmetCloth.name"); | |
keys.put("LEATHER_CHESTPLATE", "item.chestplateCloth.name"); | |
keys.put("LEATHER_LEGGINGS", "item.leggingsCloth.name"); | |
keys.put("LEATHER_BOOTS", "item.bootsCloth.name"); | |
keys.put("CHAINMAIL_HELMET", "item.helmetChain.name"); | |
keys.put("CHAINMAIL_CHESTPLATE", "item.chestplateChain.name"); | |
keys.put("CHAINMAIL_LEGGINGS", "item.leggingsChain.name"); | |
keys.put("CHAINMAIL_BOOTS", "item.bootsChain.name"); | |
keys.put("IRON_HELMET", "item.helmetIron.name"); | |
keys.put("IRON_CHESTPLATE", "item.chestplateIron.name"); | |
keys.put("IRON_LEGGINGS", "item.leggingsIron.name"); | |
keys.put("IRON_BOOTS", "item.bootsIron.name"); | |
keys.put("DIAMOND_HELMET", "item.helmetDiamond.name"); | |
keys.put("DIAMOND_CHESTPLATE", "item.chestplateDiamond.name"); | |
keys.put("DIAMOND_LEGGINGS", "item.leggingsDiamond.name"); | |
keys.put("DIAMOND_BOOTS", "item.bootsDiamond.name"); | |
keys.put("GOLD_HELMET", "item.helmetGold.name"); | |
keys.put("GOLD_CHESTPLATE", "item.chestplateGold.name"); | |
keys.put("GOLD_LEGGINGS", "item.leggingsGold.name"); | |
keys.put("GOLD_BOOTS", "item.bootsGold.name"); | |
keys.put("FLINT", "item.flint.name"); | |
keys.put("PORK", "item.porkchopRaw.name"); | |
keys.put("GRILLED_PORK", "item.porkchopCooked.name"); | |
keys.put("RAW_CHICKEN", "item.chickenRaw.name"); | |
keys.put("COOKED_CHICKEN", "item.chickenCooked.name"); | |
keys.put("MUTTON", "item.muttonRaw.name"); | |
keys.put("COOKED_MUTTON", "item.muttonCooked.name"); | |
keys.put("RABBIT", "item.rabbitRaw.name"); | |
keys.put("COOKED_RABBIT", "item.rabbitCooked.name"); | |
keys.put("RABBIT_STEW", "item.rabbitStew.name"); | |
keys.put("RABBIT_FOOT", "item.rabbitFoot.name"); | |
keys.put("RABBIT_HIDE", "item.rabbitHide.name"); | |
keys.put("RAW_BEEF", "item.beefRaw.name"); | |
keys.put("COOKED_BEEF", "item.beefCooked.name"); | |
keys.put("PAINTING", "item.painting.name"); | |
keys.put("ITEM_FRAME", "item.frame.name"); | |
keys.put("GOLDEN_APPLE", "item.appleGold.name"); | |
keys.put("SIGN", "item.sign.name"); | |
keys.put("WOOD_DOOR", "item.doorOak.name"); | |
keys.put("SPRUCE_DOOR_ITEM", "item.doorSpruce.name"); | |
keys.put("BIRCH_DOOR_ITEM", "item.doorBirch.name"); | |
keys.put("JUNGLE_DOOR_ITEM", "item.doorJungle.name"); | |
keys.put("ACACIA_DOOR_ITEM", "item.doorAcacia.name"); | |
keys.put("DARK_OAK_DOOR_ITEM", "item.doorDarkOak.name"); | |
keys.put("BUCKET", "item.bucket.name"); | |
keys.put("WATER_BUCKET", "item.bucketWater.name"); | |
keys.put("LAVA_BUCKET", "item.bucketLava.name"); | |
keys.put("MINECART", "item.minecart.name"); | |
keys.put("SADDLE", "item.saddle.name"); | |
keys.put("IRON_DOOR", "item.doorIron.name"); | |
keys.put("REDSTONE", "item.redstone.name"); | |
keys.put("SNOW_BALL", "item.snowball.name"); | |
keys.put("BOAT", "item.boat.oak.name"); | |
keys.put("BOAT_SPRUCE", "item.boat.spruce.name"); | |
keys.put("BOAT_BIRCH", "item.boat.birch.name"); | |
keys.put("BOAT_JUNGLE", "item.boat.jungle.name"); | |
keys.put("BOAT_ACACIA", "item.boat.acacia.name"); | |
keys.put("BOAT_DARK_OAK", "item.boat.dark_oak.name"); | |
keys.put("LEATHER", "item.leather.name"); | |
keys.put("MILK_BUCKET", "item.milk.name"); | |
keys.put("CLAY_BRICK", "item.brick.name"); | |
keys.put("CLAY_BALL", "item.clay.name"); | |
keys.put("SUGAR_CANE", "item.reeds.name"); | |
keys.put("PAPER ", "item.paper.name"); | |
keys.put("BOOK", "item.book.name"); | |
keys.put("SLIME_BALL", "item.slimeball.name"); | |
keys.put("STORAGE_MINECART", "item.minecartChest.name"); | |
keys.put("POWERED_MINECART", "item.minecartFurnace.name"); | |
keys.put("EXPLOSIVE_MINECART", "item.minecartTnt.name"); | |
keys.put("HOPPER_MINECART", "item.minecartHopper.name"); | |
keys.put("COMMAND_MINECART", "item.minecartCommandBlock.name"); | |
keys.put("EGG", "item.egg.name"); | |
keys.put("COMPASS", "item.compass.name"); | |
keys.put("FISHING_ROD", "item.fishingRod.name"); | |
keys.put("WATCH", "item.clock.name"); | |
keys.put("GLOWSTONE_DUST", "item.yellowDust.name"); | |
keys.put("RAW_FISH", "item.fish.cod.raw.name"); | |
keys.put("RAW_FISH.1", "item.fish.salmon.raw.name"); | |
keys.put("RAW_FISH.3", "item.fish.pufferfish.raw.name"); | |
keys.put("RAW_FISH.2", "item.fish.clownfish.raw.name"); | |
keys.put("COOKED_FISH", "item.fish.cod.cooked.name"); | |
keys.put("COOKED_FISH.1", "item.fish.salmon.cooked.name"); | |
keys.put("GOLD_RECORD", "item.record.name"); // added | |
keys.put("GREEN_RECORD", "item.record.name"); // added | |
keys.put("RECORD_6", "item.record.name"); // added | |
keys.put("RECORD_4", "item.record.name"); // added | |
keys.put("RECORD_5", "item.record.name"); // added | |
keys.put("RECORD_6", "item.record.name"); // added | |
keys.put("RECORD_7", "item.record.name"); // added | |
keys.put("RECORD_8", "item.record.name"); // added | |
keys.put("RECORD_9", "item.record.name"); // added | |
keys.put("RECORD_10", "item.record.name"); // added | |
keys.put("RECORD_11", "item.record.name"); // added | |
keys.put("RECORD_12", "item.record.name"); // added | |
keys.put("BONE", "item.bone.name"); | |
keys.put("INK_SACK", "item.dyePowder.black.name"); | |
keys.put("INK_SACK.1", "item.dyePowder.red.name"); | |
keys.put("INK_SACK.2", "item.dyePowder.green.name"); | |
keys.put("INK_SACK.3", "item.dyePowder.brown.name"); | |
keys.put("INK_SACK.4", "item.dyePowder.blue.name"); | |
keys.put("INK_SACK.5", "item.dyePowder.purple.name"); | |
keys.put("INK_SACK.6", "item.dyePowder.cyan.name"); | |
keys.put("INK_SACK.7", "item.dyePowder.silver.name"); | |
keys.put("INK_SACK.8", "item.dyePowder.gray.name"); | |
keys.put("INK_SACK.9", "item.dyePowder.pink.name"); | |
keys.put("INK_SACK.10", "item.dyePowder.lime.name"); | |
keys.put("INK_SACK.11", "item.dyePowder.yellow.name"); | |
keys.put("INK_SACK.12", "item.dyePowder.lightBlue.name"); | |
keys.put("INK_SACK.13", "item.dyePowder.magenta.name"); | |
keys.put("INK_SACK.14", "item.dyePowder.orange.name"); | |
keys.put("INK_SACK.15", "item.dyePowder.white.name"); | |
keys.put("SUGAR", "item.sugar.name"); | |
keys.put("CAKE", "item.cake.name"); | |
keys.put("BED.15", "item.bed.black.name"); // 1.11+ | |
keys.put("BED.14", "item.bed.red.name"); // 1.11+ | |
keys.put("BED.13", "item.bed.green.name"); // 1.11+ | |
keys.put("BED.12", "item.bed.brown.name"); // 1.11+ | |
keys.put("BED.11", "item.bed.blue.name"); // 1.11+ | |
keys.put("BED.10", "item.bed.purple.name"); // 1.11+ | |
keys.put("BED.9", "item.bed.cyan.name"); // 1.11+ | |
keys.put("BED.8", "item.bed.silver.name"); // 1.11+ | |
keys.put("BED.7", "item.bed.gray.name"); // 1.11+ | |
keys.put("BED.6", "item.bed.pink.name"); // 1.11+ | |
keys.put("BED.5", "item.bed.lime.name"); // 1.11+ | |
keys.put("BED.4", "item.bed.yellow.name"); // 1.11+ | |
keys.put("BED.3", "item.bed.lightBlue.name"); // 1.11+ | |
keys.put("BED.2", "item.bed.magenta.name"); // 1.11+ | |
keys.put("BED.1", "item.bed.orange.name"); // 1.11+ | |
keys.put("BED.0", "item.bed.white.name"); // 1.11+ | |
keys.put("BED", "item.bed.name"); | |
keys.put("DIODE", "item.diode.name"); | |
keys.put("REDSTONE_COMPARATOR", "item.comparator.name"); | |
keys.put("MAP", "item.map.name"); | |
keys.put("LEAVES", "item.leaves.name"); | |
keys.put("LEAVES_2", "item.leaves.name"); // added | |
keys.put("SHEARS", "item.shears.name"); | |
keys.put("ROTTEN_FLESH", "item.rottenFlesh.name"); | |
keys.put("ENDER_PEARL", "item.enderPearl.name"); | |
keys.put("BLAZE_ROD", "item.blazeRod.name"); | |
keys.put("GHAST_TEAR", "item.ghastTear.name"); | |
keys.put("NETHER_WARTS", "item.netherStalkSeeds.name"); | |
keys.put("POTION", "item.potion.name"); | |
keys.put("SPLASH_POTION", "item.splash_potion.name"); | |
keys.put("LINGERING_POTION", "item.lingering_potion.name"); | |
keys.put("END_CRYSTAL", "item.end_crystal.name"); | |
keys.put("GOLD_NUGGET", "item.goldNugget.name"); | |
keys.put("GLASS_BOTTLE", "item.glassBottle.name"); | |
keys.put("SPIDER_EYE", "item.spiderEye.name"); | |
keys.put("FERMENTED_SPIDER_EYE", "item.fermentedSpiderEye.name"); | |
keys.put("BLAZE_POWDER", "item.blazePowder.name"); | |
keys.put("MAGMA_CREAM", "item.magmaCream.name"); | |
keys.put("CAULDRON_ITEM", "item.cauldron.name"); | |
keys.put("BREWING_STAND_ITEM", "item.brewingStand.name"); | |
keys.put("EYE_OF_ENDER", "item.eyeOfEnder.name"); | |
keys.put("SPECKLED_MELON", "item.speckledMelon.name"); | |
keys.put("MONSTER_EGG", "item.monsterPlacer.name"); | |
keys.put("EXP_BOTTLE", "item.expBottle.name"); | |
keys.put("FIREBALL", "item.fireball.name"); | |
keys.put("BOOK_AND_QUILL", "item.writingBook.name"); | |
keys.put("WRITTEN_BOOK", "item.writtenBook.name"); | |
keys.put("FLOWER_POT_ITEM", "item.flowerPot.name"); | |
keys.put("EMPTY_MAP", "item.emptyMap.name"); | |
keys.put("CARROT_ITEM", "item.carrots.name"); | |
keys.put("GOLDEN_CARROT", "item.carrotGolden.name"); | |
keys.put("POTATO_ITEM", "item.potato.name"); | |
keys.put("BAKED_POTATO", "item.potatoBaked.name"); | |
keys.put("POISONOUS_POTATO", "item.potatoPoisonous.name"); | |
keys.put("SKULL_ITEM.0", "item.skull.skeleton.name"); | |
keys.put("SKULL_ITEM.1", "item.skull.wither.name"); | |
keys.put("SKULL_ITEM.2", "item.skull.zombie.name"); | |
keys.put("SKULL_ITEM.3 ", "item.skull.char.name"); | |
keys.put("SKULL_ITEM.4", "item.skull.player.name"); | |
keys.put("SKULL_ITEM.5", "item.skull.creeper.name"); | |
keys.put("SKULL_ITEM.6", "item.skull.dragon.name"); | |
keys.put("CARROT_STICK", "item.carrotOnAStick.name"); | |
keys.put("NETHER_STAR", "item.netherStar.name"); | |
keys.put("PUMPKIN_PIE", "item.pumpkinPie.name"); | |
keys.put("ENCHANTED_BOOK", "item.enchantedBook.name"); | |
keys.put("FIREWORK", "item.fireworks.name"); | |
keys.put("FIREWORK_CHARGE", "item.fireworksCharge.name"); | |
keys.put("NETHER_BRICK_ITEM", "item.netherbrick.name"); | |
keys.put("QUARTZ_ORE", "item.netherquartz.name"); | |
keys.put("ARMOR_STAND", "item.armorStand.name"); | |
keys.put("IRON_BARDING", "item.horsearmormetal.name"); | |
keys.put("GOLD_BARDING", "item.horsearmorgold.name"); | |
keys.put("DIAMOND_BARDING", "item.horsearmordiamond.name"); | |
keys.put("PRISMARINE_SHARD", "item.prismarineShard.name"); | |
keys.put("PRISMARINE_CRYSTALS", "item.prismarineCrystals.name"); | |
keys.put("CHORUS_FRUIT", "item.chorusFruit.name"); | |
keys.put("CHORUS_FRUIT_POPPED", "item.chorusFruitPopped.name"); | |
keys.put("BEETROOT", "item.beetroot.name"); | |
keys.put("BEETROOT_SEEDS", "item.beetroot_seeds.name"); | |
keys.put("BEETROOT_SOUP", "item.beetroot_soup.name"); | |
keys.put("DRAGONS_BREATH", "item.dragon_breath.name"); | |
keys.put("ELYTRA", "item.elytra.name"); | |
keys.put("TOTEM", "item.totem.name"); | |
keys.put("SHULKER_SHELL", "item.shulkerShell.name"); | |
keys.put("IRON_NUGGET", "item.ironNugget.name"); | |
keys.put("KNOWLEDGE_BOOK", "item.knowledgeBook.name"); | |
keys.put("BANNER.15", "item.banner.black.name"); | |
keys.put("BANNER.14", "item.banner.red.name"); | |
keys.put("BANNER.13", "item.banner.green.name"); | |
keys.put("BANNER.12", "item.banner.brown.name"); | |
keys.put("BANNER.11", "item.banner.blue.name"); | |
keys.put("BANNER.10", "item.banner.purple.name"); | |
keys.put("BANNER.9", "item.banner.cyan.name"); | |
keys.put("BANNER.8", "item.banner.silver.name"); | |
keys.put("BANNER.7", "item.banner.gray.name"); | |
keys.put("BANNER.6", "item.banner.pink.name"); | |
keys.put("BANNER.5", "item.banner.lime.name"); | |
keys.put("BANNER.4", "item.banner.yellow.name"); | |
keys.put("BANNER.3", "item.banner.lightBlue.name"); | |
keys.put("BANNER.2", "item.banner.magenta.name"); | |
keys.put("BANNER.1", "item.banner.orange.name"); | |
keys.put("BANNER.0", "item.banner.white.name"); | |
keys.put("STANDING_BANNER.15", "item.STANDING_BANNER.black.name"); // added | |
keys.put("STANDING_BANNER.14", "item.STANDING_BANNER.red.name"); // added | |
keys.put("STANDING_BANNER.13", "item.STANDING_BANNER.green.name"); // added | |
keys.put("STANDING_BANNER.12", "item.STANDING_BANNER.brown.name"); // added | |
keys.put("STANDING_BANNER.11", "item.STANDING_BANNER.blue.name"); // added | |
keys.put("STANDING_BANNER.10", "item.STANDING_BANNER.purple.name"); // added | |
keys.put("STANDING_BANNER.9", "item.STANDING_BANNER.cyan.name"); // added | |
keys.put("STANDING_BANNER.8", "item.STANDING_BANNER.silver.name"); // added | |
keys.put("STANDING_BANNER.7", "item.STANDING_BANNER.gray.name"); // added | |
keys.put("STANDING_BANNER.6", "item.STANDING_BANNER.pink.name"); // added | |
keys.put("STANDING_BANNER.5", "item.STANDING_BANNER.lime.name"); // added | |
keys.put("STANDING_BANNER.4", "item.STANDING_BANNER.yellow.name"); // added | |
keys.put("STANDING_BANNER.3", "item.STANDING_BANNER.lightBlue.name"); // added | |
keys.put("STANDING_BANNER.2", "item.STANDING_BANNER.magenta.name"); // added | |
keys.put("STANDING_BANNER.1", "item.STANDING_BANNER.orange.name"); // added | |
keys.put("STANDING_BANNER.0", "item.STANDING_BANNER.white.name"); // added | |
keys.put("WALL_BANNER.15", "item.WALL_BANNER.black.name"); // added | |
keys.put("WALL_BANNER.14", "item.WALL_BANNER.red.name"); // added | |
keys.put("WALL_BANNER.13", "item.WALL_BANNER.green.name"); // added | |
keys.put("WALL_BANNER.12", "item.WALL_BANNER.brown.name"); // added | |
keys.put("WALL_BANNER.11", "item.WALL_BANNER.blue.name"); // added | |
keys.put("WALL_BANNER.10", "item.WALL_BANNER.purple.name"); // added | |
keys.put("WALL_BANNER.9", "item.WALL_BANNER.cyan.name"); // added | |
keys.put("WALL_BANNER.8", "item.WALL_BANNER.silver.name"); // added | |
keys.put("WALL_BANNER.7", "item.WALL_BANNER.gray.name"); // added | |
keys.put("WALL_BANNER.6", "item.WALL_BANNER.pink.name"); // added | |
keys.put("WALL_BANNER.5", "item.WALL_BANNER.lime.name"); // added | |
keys.put("WALL_BANNER.4", "item.WALL_BANNER.yellow.name"); // added | |
keys.put("WALL_BANNER.3", "item.WALL_BANNER.lightBlue.name"); // added | |
keys.put("WALL_BANNER.2", "item.WALL_BANNER.magenta.name"); // added | |
keys.put("WALL_BANNER.1", "item.WALL_BANNER.orange.name"); // added | |
keys.put("WALL_BANNER.0", "item.WALL_BANNER.white.name"); // added | |
return keys; | |
} | |
public Map<String, String> getPotionKeys() { | |
LinkedHashMap<String, String> keys = new LinkedHashMap<String, String>(); | |
keys.put("UNCRAFTABLE", "potion.effect.empty"); | |
keys.put("WATER", "potion.effect.water"); | |
keys.put("MUNDANE", "potion.effect.mundane"); | |
keys.put("THICK", "potion.effect.thick"); | |
keys.put("AWKWARD", "potion.effect.awkward"); | |
keys.put("NIGHT_VISION", "potion.effect.night_vision"); | |
keys.put("INVISIBILITY", "potion.effect.invisibility"); | |
keys.put("JUMP", "potion.effect.leaping"); | |
keys.put("FIRE_RESISTANCE", "potion.effect.fire_resistance"); | |
keys.put("SPEED", "potion.effect.swiftness"); | |
keys.put("SLOWNESS", "potion.effect.slowness"); | |
keys.put("WATER_BREATHING", "potion.effect.water_breathing"); | |
keys.put("INSTANT_HEAL", "potion.effect.healing"); | |
keys.put("INSTANT_DAMAGE", "potion.effect.harming"); | |
keys.put("POISON", "potion.effect.poison"); | |
keys.put("REGEN", "potion.effect.regeneration"); | |
keys.put("STRENGTH", "potion.effect.strength"); | |
keys.put("WEAKNESS", "potion.effect.weakness"); | |
keys.put("SLOW_FALLING", "potion.effect.levitation"); | |
keys.put("LUCK", "potion.effect.luck"); | |
return keys; | |
} | |
public Map<String, String> getSplashPotionKeys() { | |
LinkedHashMap<String, String> keys = new LinkedHashMap<String, String>(); | |
keys.put("UNCRAFTABLE", "splash_potion.effect.empty"); | |
keys.put("WATER", "splash_potion.effect.water"); | |
keys.put("MUNDANE", "splash_potion.effect.mundane"); | |
keys.put("THICK", "splash_potion.effect.thick"); | |
keys.put("AWKWARD", "splash_potion.effect.awkward"); | |
keys.put("NIGHT_VISION", "splash_potion.effect.night_vision"); | |
keys.put("INVISIBILITY", "splash_potion.effect.invisibility"); | |
keys.put("JUMP", "splash_potion.effect.leaping"); | |
keys.put("FIRE_RESISTANCE", "splash_potion.effect.fire_resistance"); | |
keys.put("SPEED", "splash_potion.effect.swiftness"); | |
keys.put("SLOWNESS", "splash_potion.effect.slowness"); | |
keys.put("WATER_BREATHING", "splash_potion.effect.water_breathing"); | |
keys.put("INSTANT_HEAL", "splash_potion.effect.healing"); | |
keys.put("INSTANT_DAMAGE", "splash_potion.effect.harming"); | |
keys.put("POISON", "splash_potion.effect.poison"); | |
keys.put("REGEN", "splash_potion.effect.regeneration"); | |
keys.put("STRENGTH", "splash_potion.effect.strength"); | |
keys.put("WEAKNESS", "splash_potion.effect.weakness"); | |
keys.put("SLOW_FALLING", "splash_potion.effect.levitation"); | |
keys.put("LUCK", "splash_potion.effect.luck"); | |
return keys; | |
} | |
public Map<String, String> getLingeringPotionKeys() { | |
LinkedHashMap<String, String> keys = new LinkedHashMap<String, String>(); | |
keys.put("UNCRAFTABLE", "lingering_potion.effect.empty"); | |
keys.put("WATER", "lingering_potion.effect.water"); | |
keys.put("MUNDANE", "lingering_potion.effect.mundane"); | |
keys.put("THICK", "lingering_potion.effect.thick"); | |
keys.put("AWKWARD", "lingering_potion.effect.awkward"); | |
keys.put("NIGHT_VISION", "lingering_potion.effect.night_vision"); | |
keys.put("INVISIBILITY", "lingering_potion.effect.invisibility"); | |
keys.put("JUMP", "lingering_potion.effect.leaping"); | |
keys.put("FIRE_RESISTANCE", "lingering_potion.effect.fire_resistance"); | |
keys.put("SPEED", "lingering_potion.effect.swiftness"); | |
keys.put("SLOWNESS", "lingering_potion.effect.slowness"); | |
keys.put("WATER_BREATHING", "lingering_potion.effect.water_breathing"); | |
keys.put("INSTANT_HEAL", "lingering_potion.effect.healing"); | |
keys.put("INSTANT_DAMAGE", "lingering_potion.effect.harming"); | |
keys.put("POISON", "lingering_potion.effect.poison"); | |
keys.put("REGEN", "lingering_potion.effect.regeneration"); | |
keys.put("STRENGTH", "lingering_potion.effect.strength"); | |
keys.put("WEAKNESS", "lingering_potion.effect.weakness"); | |
keys.put("SLOW_FALLING", "lingering_potion.effect.levitation"); | |
keys.put("LUCK", "lingering_potion.effect.luck"); | |
return keys; | |
} | |
public Map<String, String> getEntityKeys() { | |
LinkedHashMap<String, String> keys = new LinkedHashMap<String, String>(); | |
keys.put("DROPPED_ITEM", "entity.Item.name"); | |
keys.put("EXPERIENCE_ORB", "entity.XPOrb.name"); | |
keys.put("SMALL_FIREBALL", "entity.SmallFireball.name"); | |
keys.put("FIREBALL", "entity.Fireball.name"); | |
keys.put("DRAGON_FIREBALL", "entity.DragonFireball.name"); | |
keys.put("SPLASH_POTION", "item.splash_potion.name"); // added | |
keys.put("LINGERING_POTION", "item.lingering_potion.name"); // added | |
keys.put("ARROW", "entity.Arrow.name"); | |
keys.put("SNOWBALL", "entity.Snowball.name"); | |
keys.put("PAINTING", "entity.Painting.name"); | |
keys.put("ARMOR_STAND", "entity.ArmorStand.name"); | |
keys.put("CREEPER", "entity.Creeper.name"); | |
keys.put("SKELETON", "entity.Skeleton.name"); | |
keys.put("SPIDER", "entity.Spider.name"); | |
keys.put("GIANT", "entity.Giant.name"); | |
keys.put("ZOMBIE", "entity.Zombie.name"); | |
keys.put("SLIME", "entity.Slime.name"); | |
keys.put("GHAST", "entity.Ghast.name"); | |
keys.put("PIG_ZOMBIE", "entity.PigZombie.name"); | |
keys.put("ENDERMAN", "entity.Enderman.name"); | |
keys.put("ENDERMITE", "entity.Endermite.name"); | |
keys.put("SILVERFISH", "entity.Silverfish.name"); | |
keys.put("CAVE_SPIDER", "entity.CaveSpider.name"); | |
keys.put("BLAZE", "entity.Blaze.name"); | |
keys.put("MAGMA_CUBE", "entity.LavaSlime.name"); | |
keys.put("MUSHROOM_COW", "entity.MushroomCow.name"); | |
keys.put("VILLAGER", "entity.Villager.name"); | |
keys.put("ZOMBIE_VILLAGER", "entity.Villager.name"); // added | |
keys.put("IRON_GOLEM", "entity.VillagerGolem.name"); | |
keys.put("SNOWMAN", "entity.SnowMan.name"); | |
keys.put("ENDER_DRAGON", "entity.EnderDragon.name"); | |
keys.put("WITHER", "entity.WitherBoss.name"); | |
keys.put("WITCH", "entity.Witch.name"); | |
keys.put("GUARDIAN", "entity.Guardian.name"); | |
keys.put("SHULKER", "entity.Shulker.name"); | |
keys.put("POLAR_BEAR", "entity.PolarBear.name"); | |
keys.put("EVOKER", "entity.EvocationIllager.name"); | |
keys.put("EVOKER_FANGS", "entity.EvocationIllager.name"); | |
keys.put("VEX", "entity.Vex.name"); | |
keys.put("VINDICATOR", "entity.VindicationIllager.name"); | |
keys.put("PARROT", "entity.Parrot.name"); | |
keys.put("ILLUSIONER", "entity.IllusionIllager.name"); | |
keys.put("VILLAGER.FARMER", "entity.Villager.farmer"); | |
keys.put("VILLAGER.FISHERMAN", "entity.Villager.fisherman"); | |
keys.put("VILLAGER.SHEPHERD", "entity.Villager.shepherd"); | |
keys.put("VILLAGER.FLETCHER", "entity.Villager.fletcher"); | |
keys.put("VILLAGER.LIBRARIAN", "entity.Villager.librarian"); | |
keys.put("VILLAGER.CLERIC", "entity.Villager.cleric"); | |
keys.put("VILLAGER.ARMORER", "entity.Villager.armor"); | |
keys.put("VILLAGER.WEAPON_SMITH", "entity.Villager.weapon"); | |
keys.put("VILLAGER.TOOL_SMITH", "entity.Villager.tool"); | |
keys.put("VILLAGER.BUTCHER", "entity.Villager.butcher"); | |
keys.put("VILLAGER.LEATHERWORKER", "entity.Villager.leather"); | |
keys.put("VILLAGER.NITWIT", "entity.Villager.nitwit"); | |
keys.put("VILLAGER.CARTOGRAPHER", "entity.Villager.cartographer"); | |
keys.put("PIG", "entity.Pig.name"); | |
keys.put("SHEEP", "entity.Sheep.name"); | |
keys.put("COW", "entity.Cow.name"); | |
keys.put("CHICKEN", "entity.Chicken.name"); | |
keys.put("SQUID", "entity.Squid.name"); | |
keys.put("WOLF", "entity.Wolf.name"); | |
keys.put("OCELOT", "entity.Ozelot.name"); | |
keys.put("BLACK_CAT", "entity.Cat.name"); | |
keys.put("RED_CAT", "entity.Cat.name"); // added | |
keys.put("SIAMESE_CAT", "entity.Cat.name"); // added | |
keys.put("BAT", "entity.Bat.name"); | |
keys.put("HORSE", "entity.horse.name"); | |
keys.put("DONKEY", "entity.donkey.name"); | |
keys.put("MULE", "entity.mule.name"); | |
keys.put("SKELETON_HORSE", "entity.skeletonhorse.name"); | |
keys.put("ZOMBIE_HORSE", "entity.zombiehorse.name"); | |
keys.put("RABBIT", "entity.Rabbit.name"); | |
keys.put("RABBIT.THE_KILLER_BUNNY", "entity.KillerBunny.name"); | |
keys.put("LLAMA", "entity.Llama.name"); | |
keys.put("LLAMA_SPIT", "entity.Llama.name"); // added | |
keys.put("PRIMED_TNT", "entity.PrimedTnt.name"); | |
keys.put("FALLING_BLOCK", "entity.FallingSand.name"); | |
keys.put("MINECART", "entity.Minecart.name"); | |
keys.put("MINECART_HOPPER", "entity.MinecartHopper.name"); | |
keys.put("MINECART_CHEST", "entity.MinecartChest.name"); | |
keys.put("MINECART_COMMAND", "item.minecartCommandBlock.name"); // added | |
keys.put("MINECART_FURNACE", "item.minecartFurnace.name"); // added | |
keys.put("MINECART_HOPPER", "item.minecartHopper.name"); // added | |
keys.put("MINECART_MOB_SPAWNER", "entity.Minecart.name"); // added | |
keys.put("MINECART_TNT", "item.minecartTnt.name"); // added | |
keys.put("BOAT", "entity.Boat.name"); | |
keys.put("UNKNOWN", "entity.generic.name"); | |
keys.put("SPECTRAL_ARROW", "item.spectral_arrow.name"); // added | |
keys.put("TIPPED_ARROW", "item.tipped_arrow.name"); // added | |
keys.put("ENDER_CRYSTAL", "item.end_crystal.name"); // added | |
keys.put("ENDER_PEARL", "item.enderPearl.name"); // added | |
keys.put("ENDER_SIGNAL", "item.end_crystal.name"); // added | |
keys.put("LEASH_HITCH", "item.leash.name"); // added | |
keys.put("ITEM_FRAME", "item.frame.name"); // added | |
keys.put("FISHING_HOOK", "item.fishingRod.name"); // added | |
keys.put("COMPLEX_PART", "entity.EnderDragon.name"); // added | |
return keys; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Comment of "added" indicates a Material or EntityType enum existed without a dedicated locale key. As such, a closest match was made to avoid producing errors.
To request changes or submit improvements, please open an issue at https://github.com/PikaMug/LocaleLib/issues and reference this Gist.