/*
* This file is part of Spoutcraft (http://wiki.getspout.org/).
*
* Spoutcraft is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Spoutcraft is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.getspout.spout.inventory;
import java.util.HashMap;
public class SimpleItemManager implements ItemManager{
private final HashMap<ItemData, String> itemNames;
private final HashMap<ItemData, String> customNames;
public SimpleItemManager() {
itemNames = new HashMap<ItemData, String>(500);
customNames = new HashMap<ItemData, String>(100);
itemNames.put(new ItemData(1), "Stone");
itemNames.put(new ItemData(2), "Grass");
itemNames.put(new ItemData(3), "Dirt");
itemNames.put(new ItemData(4), "Cobblestone");
itemNames.put(new ItemData(5), "Wooden Planks");
itemNames.put(new ItemData(6, 0), "Sapling");
itemNames.put(new ItemData(6, 1), "Spruce Sapling");
itemNames.put(new ItemData(6, 2), "Birch Sapling");
itemNames.put(new ItemData(7), "Bedrock");
itemNames.put(new ItemData(8), "Water");
itemNames.put(new ItemData(9), "Stationary Water");
itemNames.put(new ItemData(10), "Lava");
itemNames.put(new ItemData(11), "Stationary Lava");
itemNames.put(new ItemData(12), "Sand");
itemNames.put(new ItemData(13), "Gravel");
itemNames.put(new ItemData(14), "Gold Ore");
itemNames.put(new ItemData(15), "Iron Ore");
itemNames.put(new ItemData(16), "Coal Ore");
itemNames.put(new ItemData(17), "Wood");
itemNames.put(new ItemData(18), "Leaves");
itemNames.put(new ItemData(19), "Spone");
itemNames.put(new ItemData(20), "Glass");
itemNames.put(new ItemData(21), "Lapis Lazuli Ore");
itemNames.put(new ItemData(22), "Lapis Lazuli Block");
itemNames.put(new ItemData(23), "Dispenser");
itemNames.put(new ItemData(24), "SandStone");
itemNames.put(new ItemData(25), "Note Block");
itemNames.put(new ItemData(26), "Bed");
itemNames.put(new ItemData(27), "Powered Rail");
itemNames.put(new ItemData(28), "Detector Rail");
itemNames.put(new ItemData(29), "Sticky Piston");
itemNames.put(new ItemData(30), "Cobweb");
itemNames.put(new ItemData(31), "Tall Grass");
itemNames.put(new ItemData(32), "Dead Shrubs");
itemNames.put(new ItemData(33), "Piston");
itemNames.put(new ItemData(34), "Piston (Head)");
itemNames.put(new ItemData(35, 0), "Wool");
itemNames.put(new ItemData(35, 1), "Orange Wool");
itemNames.put(new ItemData(35, 2), "Magenta Wool");
itemNames.put(new ItemData(35, 3), "Light Blue Wool");
itemNames.put(new ItemData(35, 4), "Yellow Wool");
itemNames.put(new ItemData(35, 5), "Light Green Wool");
itemNames.put(new ItemData(35, 6), "Pink Wool");
itemNames.put(new ItemData(35, 7), "Gray Wool");
itemNames.put(new ItemData(35, 8), "Light Gray Wool");
itemNames.put(new ItemData(35, 9), "Cyan Wool");
itemNames.put(new ItemData(35, 10), "Purple Wool");
itemNames.put(new ItemData(35, 11), "Blue Wool");
itemNames.put(new ItemData(35, 12), "Brown Wool");
itemNames.put(new ItemData(35, 13), "Dark Green Wool");
itemNames.put(new ItemData(35, 14), "Red Wool");
itemNames.put(new ItemData(35, 15), "Black Wool");
itemNames.put(new ItemData(37), "Dandelion");
itemNames.put(new ItemData(38), "Rose");
itemNames.put(new ItemData(39), "Brown Mushroom");
itemNames.put(new ItemData(40), "Red Mushroom");
itemNames.put(new ItemData(41), "Gold Block");
itemNames.put(new ItemData(42), "Iron Block");
itemNames.put(new ItemData(43, 0), "Stone Double Slab");
itemNames.put(new ItemData(43, 1), "Sandstone Double Slabs");
itemNames.put(new ItemData(43, 2), "Wooden Double Slab");
itemNames.put(new ItemData(43, 3), "Stone Double Slab");
itemNames.put(new ItemData(44, 0), "Stone Slab");
itemNames.put(new ItemData(44, 1), "Sandstone Slab");
itemNames.put(new ItemData(44, 2), "Wooden Slab");
itemNames.put(new ItemData(44, 3), "Stone Slab");
itemNames.put(new ItemData(45), "Brick Block");
itemNames.put(new ItemData(46), "TNT");
itemNames.put(new ItemData(47), "Bookshelf");
itemNames.put(new ItemData(48), "Moss Stone");
itemNames.put(new ItemData(49), "Obsidian");
itemNames.put(new ItemData(50), "Torch");
itemNames.put(new ItemData(51), "Fire");
itemNames.put(new ItemData(52), "Monster Spawner");
itemNames.put(new ItemData(53), "Wooden Stairs");
itemNames.put(new ItemData(54), "Chest");
itemNames.put(new ItemData(55), "Redstone Wire");
itemNames.put(new ItemData(56), "Diamond Ore");
itemNames.put(new ItemData(57), "Diamond Block");
itemNames.put(new ItemData(58), "Crafting Table");
itemNames.put(new ItemData(59), "Seeds");
itemNames.put(new ItemData(60), "Farmland");
itemNames.put(new ItemData(61), "Furnace");
itemNames.put(new ItemData(62), "Burning Furnace");
itemNames.put(new ItemData(63), "Sign Post");
itemNames.put(new ItemData(64), "Wooden Door");
itemNames.put(new ItemData(65), "Ladders");
itemNames.put(new ItemData(66), "Rails");
itemNames.put(new ItemData(67), "Cobblestone Stairs");
itemNames.put(new ItemData(68), "Wall Sign");
itemNames.put(new ItemData(69), "Lever");
itemNames.put(new ItemData(70), "Stone Pressure Plate");
itemNames.put(new ItemData(71), "Iron Door");
itemNames.put(new ItemData(72), "Wooden Pressure Plate");
itemNames.put(new ItemData(73), "Redstone Ore");
itemNames.put(new ItemData(74), "Glowing Redstone Ore");
itemNames.put(new ItemData(75), "Redstone Torch");
itemNames.put(new ItemData(76), "Redstone Torch (On)");
itemNames.put(new ItemData(77), "Stone Button");
itemNames.put(new ItemData(78), "Snow");
itemNames.put(new ItemData(79), "Ice");
itemNames.put(new ItemData(80), "Snow Block");
itemNames.put(new ItemData(81), "Cactus");
itemNames.put(new ItemData(82), "Clay Block");
itemNames.put(new ItemData(83), "Sugar Cane");
itemNames.put(new ItemData(84), "Jukebox");
itemNames.put(new ItemData(85), "Fence");
itemNames.put(new ItemData(86), "Pumpkin");
itemNames.put(new ItemData(87), "Netherrack");
itemNames.put(new ItemData(88), "Soul Sand");
itemNames.put(new ItemData(89), "Glowstone Block");
itemNames.put(new ItemData(90), "Portal");
itemNames.put(new ItemData(91), "Jack 'o' Lantern");
itemNames.put(new ItemData(92), "Cake Block");
itemNames.put(new ItemData(93), "Redstone Repeater");
itemNames.put(new ItemData(94), "Redstone Repeater (On)");
itemNames.put(new ItemData(95), "Locked Chest");
itemNames.put(new ItemData(96), "Trapdoor");
itemNames.put(new ItemData(256), "Iron Shovel");
itemNames.put(new ItemData(257), "Iron Pickaxe");
itemNames.put(new ItemData(258), "Iron Axe");
itemNames.put(new ItemData(259), "Flint and Steel");
itemNames.put(new ItemData(260), "Apple");
itemNames.put(new ItemData(261), "Bow");
itemNames.put(new ItemData(262), "Arrow");
itemNames.put(new ItemData(263, 0), "Coal");
itemNames.put(new ItemData(263, 1), "Charcoal");
itemNames.put(new ItemData(264), "Diamond");
itemNames.put(new ItemData(265), "Iron Ingot");
itemNames.put(new ItemData(266), "Gold Ingot");
itemNames.put(new ItemData(267), "Iron Sword");
itemNames.put(new ItemData(268), "Wooden Sword");
itemNames.put(new ItemData(269), "Wooden Shovel");
itemNames.put(new ItemData(270), "Wooden Pickaxe");
itemNames.put(new ItemData(271), "Wooden Axe");
itemNames.put(new ItemData(272), "Stone Sword");
itemNames.put(new ItemData(273), "Stone Shovel");
itemNames.put(new ItemData(274), "Stone Pickaxe");
itemNames.put(new ItemData(275), "Stone Axe");
itemNames.put(new ItemData(276), "Diamond Sword");
itemNames.put(new ItemData(277), "Diamond Shovel");
itemNames.put(new ItemData(278), "Diamond Pickaxe");
itemNames.put(new ItemData(279), "Diamond Axe");
itemNames.put(new ItemData(280), "Stick");
itemNames.put(new ItemData(281), "Bowl");
itemNames.put(new ItemData(282), "Mushroom Soup");
itemNames.put(new ItemData(283), "Gold Sword");
itemNames.put(new ItemData(284), "Gold Shovel");
itemNames.put(new ItemData(285), "Gold Pickaxe");
itemNames.put(new ItemData(286), "Gold Axe");
itemNames.put(new ItemData(287), "String");
itemNames.put(new ItemData(288), "Feather");
itemNames.put(new ItemData(289), "Gunpowder");
itemNames.put(new ItemData(290), "Wooden Hoe");
itemNames.put(new ItemData(291), "Stone Hoe");
itemNames.put(new ItemData(292), "Iron Hoe");
itemNames.put(new ItemData(293), "Diamond Hoe");
itemNames.put(new ItemData(294), "Gold Hoe");
itemNames.put(new ItemData(295), "Seeds");
itemNames.put(new ItemData(296), "Wheat");
itemNames.put(new ItemData(297), "Bread");
itemNames.put(new ItemData(298), "Leather Cap");
itemNames.put(new ItemData(299), "Leather Tunic");
itemNames.put(new ItemData(300), "Leather Boots");
itemNames.put(new ItemData(301), "Leather Boots");
itemNames.put(new ItemData(302), "Chain Helmet");
itemNames.put(new ItemData(303), "Chain Chestplate");
itemNames.put(new ItemData(304), "Chain Leggings");
itemNames.put(new ItemData(305), "Chain Boots");
itemNames.put(new ItemData(306), "Iron Helmet");
itemNames.put(new ItemData(307), "Iron Chestplate");
itemNames.put(new ItemData(308), "Iron Leggings");
itemNames.put(new ItemData(309), "Iron Boots");
itemNames.put(new ItemData(310), "Diamond Helmet");
itemNames.put(new ItemData(311), "Diamond Chestplate");
itemNames.put(new ItemData(312), "Diamond Leggings");
itemNames.put(new ItemData(313), "Diamond Boots");
itemNames.put(new ItemData(314), "Gold Helmet");
itemNames.put(new ItemData(315), "Gold Chestplate");
itemNames.put(new ItemData(316), "Gold Leggings");
itemNames.put(new ItemData(317), "Gold Boots");
itemNames.put(new ItemData(318), "Flint");
itemNames.put(new ItemData(319), "Raw Porkchop");
itemNames.put(new ItemData(320), "Cooked Porkchop");
itemNames.put(new ItemData(321), "Paintings");
itemNames.put(new ItemData(322), "Golden Apple");
itemNames.put(new ItemData(323), "Sign");
itemNames.put(new ItemData(324), "Wooden Door");
itemNames.put(new ItemData(325), "Bucket");
itemNames.put(new ItemData(326), "Water Bucket");
itemNames.put(new ItemData(327), "Lava Bucket");
itemNames.put(new ItemData(328), "Minecart");
itemNames.put(new ItemData(329), "Saddle");
itemNames.put(new ItemData(330), "Iron Door");
itemNames.put(new ItemData(331), "Redstone");
itemNames.put(new ItemData(332), "Snowball");
itemNames.put(new ItemData(333), "Boat");
itemNames.put(new ItemData(334), "Leather");
itemNames.put(new ItemData(335), "Milk");
itemNames.put(new ItemData(336), "Brick");
itemNames.put(new ItemData(337), "Clay");
itemNames.put(new ItemData(338), "Sugar Canes");
itemNames.put(new ItemData(339), "Paper");
itemNames.put(new ItemData(340), "Book");
itemNames.put(new ItemData(341), "Slimeball");
itemNames.put(new ItemData(342), "Minecart with Chest");
itemNames.put(new ItemData(343), "Minecart with Furnace");
itemNames.put(new ItemData(344), "Egg");
itemNames.put(new ItemData(345), "Compass");
itemNames.put(new ItemData(346), "Fishing Rod");
itemNames.put(new ItemData(347), "Clock");
itemNames.put(new ItemData(348), "Glowstone Dust");
itemNames.put(new ItemData(349), "Raw Fish");
itemNames.put(new ItemData(350), "Cooked Fish");
itemNames.put(new ItemData(351, 0), "Ink Sac");
itemNames.put(new ItemData(351, 1), "Rose Red");
itemNames.put(new ItemData(351, 2), "Cactus Green");
itemNames.put(new ItemData(351, 3), "Cocoa Beans");
itemNames.put(new ItemData(351, 4), "Lapis Lazuli");
itemNames.put(new ItemData(351, 5), "Purple Dye");
itemNames.put(new ItemData(351, 6), "Cyan Dye");
itemNames.put(new ItemData(351, 7), "Light Gray Dye");
itemNames.put(new ItemData(351, 8), "Gray Dye");
itemNames.put(new ItemData(351, 9), "Pink Dye");
itemNames.put(new ItemData(351, 10), "Lime Dye");
itemNames.put(new ItemData(351, 11), "Dandelion Yellow");
itemNames.put(new ItemData(351, 12), "Light Blue Dye");
itemNames.put(new ItemData(351, 13), "Magenta Dye");
itemNames.put(new ItemData(351, 14), "Orange Dye");
itemNames.put(new ItemData(351, 15), "Bone Meal");
itemNames.put(new ItemData(352), "Bone");
itemNames.put(new ItemData(353), "Sugar");
itemNames.put(new ItemData(354), "Cake");
itemNames.put(new ItemData(355), "Bed");
itemNames.put(new ItemData(356), "Redstone Repeater");
itemNames.put(new ItemData(357), "Cookie");
itemNames.put(new ItemData(358), "Map");
itemNames.put(new ItemData(359), "Shears");
itemNames.put(new ItemData(2256), "Music Disc");
itemNames.put(new ItemData(2257), "Music Disc");
}
@Override
public String getItemName(int item) {
return getItemName(item, (short)0);
}
@Override
public String getItemName(int item, short data) {
ItemData info = new ItemData(item, data);
if (customNames.containsKey(info)) {
return customNames.get(info);
}
return itemNames.get(info);
}
@Override
public void setItemName(int item, String name) {
setItemName(item, (short)0, name);
}
@Override
public void setItemName(int item, short data, String name) {
customNames.put(new ItemData(item, data), name);
}
@Override
public void resetName(int item) {
resetName(item,(byte) 0);
}
@Override
public void resetName(int item, short data) {
ItemData info = new ItemData(item, data);
if (customNames.containsKey(info)) {
customNames.remove(info);
}
}
@Override
public void reset() {
customNames.clear();
}
@Override
public String getCustomItemName(int item) {
return getCustomItemName(item, (short)0);
}
@Override
public String getCustomItemName(int item, short data) {
ItemData info = new ItemData(item, data);
if (customNames.containsKey(info)) {
return customNames.get(info);
}
return null;
}
}