PageRenderTime 30ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 0ms

/src/com/aehdev/commandshops/Search.java

https://github.com/aeheathc/CommandShops
Java | 527 lines | 506 code | 12 blank | 9 comment | 9 complexity | f3614105836cc49c0fdb0103792c2c57 MD5 | raw file
  1. package com.aehdev.commandshops;
  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.lang.reflect.Field;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. import java.util.Locale;
  9. import java.util.logging.Logger;
  10. import org.bukkit.configuration.ConfigurationSection;
  11. import org.bukkit.configuration.file.FileConfiguration;
  12. import org.bukkit.configuration.file.YamlConfiguration;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.Material;
  15. import com.google.common.collect.HashBiMap;
  16. /**
  17. * Provides a search engine for items.
  18. */
  19. public class Search
  20. {
  21. /** Table of information about all items we can deal in. */
  22. private static ArrayList<ItemInfo> items = new ArrayList<ItemInfo>(600);
  23. /** Map of Materials known by Bukkit, indexed by their ID.
  24. * This is built by using reflection to get the real id of each material despite it being set private.
  25. * We need this because it will be the only way to convert between numeric ID and Material once bukkit removes the normal methods to do this (morons).
  26. * Note that Materials do not correlate to items, only to IDs. Different items with the same id but different sub-id have the same Material.*/
  27. public static final HashBiMap<Integer,Material> materials = HashBiMap.create();
  28. static{
  29. Field enumId = null;
  30. try{
  31. enumId = Material.class.getDeclaredField("id");
  32. enumId.setAccessible(true);
  33. for(Material mat : Material.values())
  34. {
  35. int id = (int)enumId.get(mat);
  36. materials.put(id, mat);
  37. }
  38. }catch(NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e){
  39. materials.clear();
  40. Logger log = Logger.getLogger("Minecraft");
  41. log.severe(String.format((Locale)null, "[%s] Error using reflection to get material IDs. CS will not be able to even start up. Exception: %s", CommandShops.pdfFile.getName(), e.toString()));
  42. }
  43. }
  44. public static void reload(CommandShops plugin)
  45. {
  46. Logger log = Logger.getLogger("Minecraft");
  47. if(!items.isEmpty()) items.clear();
  48. File itemsyml = new File(plugin.getDataFolder(), "items.yml");
  49. if(itemsyml.exists() && Config.CUSTOM_ITEMS)
  50. {
  51. FileConfiguration custom = YamlConfiguration.loadConfiguration(itemsyml);
  52. ConfigurationSection data = custom.getConfigurationSection("items");
  53. if(data == null)
  54. {
  55. log.info(String.format((Locale)null,
  56. "[%s] Custom items enabled, but nothing found in items.yml",
  57. CommandShops.pdfFile.getName()));
  58. }else{
  59. for(String key : data.getKeys(false))
  60. {
  61. String[] locText = key.split(",");
  62. int id = Integer.parseInt(locText[1]);
  63. short subtype = Short.parseShort(locText[2]);
  64. String name = data.getString(key + ".name");
  65. ArrayList<String> wordforms = new ArrayList<String>();
  66. for(Object o : data.getList(key + ".wordforms"))
  67. {
  68. wordforms.add(o.toString());
  69. }
  70. String[][] dictionary = new String[wordforms.size()][];
  71. int index = -1;
  72. for(String form : wordforms) dictionary[++index] = form.split(" ");
  73. items.add(new ItemInfo(name,dictionary, id, subtype));
  74. }
  75. log.info(String.format((Locale)null,
  76. "[%s] Loaded custom item set from items.yml",
  77. CommandShops.pdfFile.getName()));
  78. return;
  79. }
  80. }
  81. //name, search, typeId, subTypeId
  82. items.add(new ItemInfo("Stone", new String[][] {{"stone"}}, 1, (short) 0 ));
  83. items.add(new ItemInfo("Granite", new String[][] {{"grani"}}, 1, (short) 1 ));
  84. items.add(new ItemInfo("Polished Granite", new String[][] {{"grani","pol"}}, 1, (short) 2 ));
  85. items.add(new ItemInfo("Diorite", new String[][] {{"dior"}}, 1, (short) 3 ));
  86. items.add(new ItemInfo("Polished Diorite", new String[][] {{"dior","pol"}}, 1, (short) 4 ));
  87. items.add(new ItemInfo("Andesite", new String[][] {{"andes"}}, 1, (short) 5 ));
  88. items.add(new ItemInfo("Polished Andesite", new String[][] {{"andes","pol"}}, 1, (short) 6 ));
  89. items.add(new ItemInfo("Grass", new String[][] {{"gras"}}, 2, (short) 0 ));
  90. items.add(new ItemInfo("Dirt", new String[][] {{"dirt"}}, 3, (short) 0 ));
  91. items.add(new ItemInfo("Grassless Dirt", new String[][] {{"grassless"}}, 3, (short) 1 ));
  92. items.add(new ItemInfo("Podzol", new String[][] {{"podz"}}, 3, (short) 2 ));
  93. items.add(new ItemInfo("Cobblestone", new String[][] {{"cobb","sto"},{"cobb"}}, 4, (short) 0 ));
  94. items.add(new ItemInfo("Oak Planks", new String[][] {{"plank"},{"plank","oak"}}, 5, (short) 0 ));
  95. items.add(new ItemInfo("Spruce Planks", new String[][] {{"plank","spr"}}, 5, (short) 1 ));
  96. items.add(new ItemInfo("Birch Planks", new String[][] {{"plank","birch"}}, 5, (short) 2 ));
  97. items.add(new ItemInfo("Jungle Planks", new String[][] {{"plank","jung"}}, 5, (short) 3 ));
  98. items.add(new ItemInfo("Acacia Planks", new String[][] {{"plank","aca"}}, 5, (short) 4 ));
  99. items.add(new ItemInfo("Dark Oak Planks", new String[][] {{"plank","dark"},{"plank","dark","oak"}}, 5, (short) 5 ));
  100. items.add(new ItemInfo("Oak Sapling", new String[][] {{"sapling"},{"sapling","oak"}}, 6, (short) 0 ));
  101. items.add(new ItemInfo("Spruce Sapling", new String[][] {{"sapling","spr"}}, 6, (short) 1 ));
  102. items.add(new ItemInfo("Birch Sapling", new String[][] {{"sapling","birch"}}, 6, (short) 2 ));
  103. items.add(new ItemInfo("Jungle Sapling", new String[][] {{"sapling","jung"}}, 6, (short) 3 ));
  104. items.add(new ItemInfo("Acacia Sapling", new String[][] {{"sapling","aca"}}, 6, (short) 4 ));
  105. items.add(new ItemInfo("Dark Oak Sapling", new String[][] {{"sapling","dark"},{"sapling","dark","oak"}}, 6, (short) 5 ));
  106. items.add(new ItemInfo("Bedrock", new String[][] {{"rock"}}, 7, (short) 0 ));
  107. items.add(new ItemInfo("Water Block", new String[][] {{"water","blo"}}, 9, (short) 0 ));
  108. items.add(new ItemInfo("Lava Block", new String[][] {{"lava","blo"}}, 11, (short) 0 ));
  109. items.add(new ItemInfo("Sand", new String[][] {{"sand"}}, 12, (short) 0 ));
  110. items.add(new ItemInfo("Red Sand", new String[][] {{"red","sand"}}, 12, (short) 1 ));
  111. items.add(new ItemInfo("Gravel", new String[][] {{"gravel"}}, 13, (short) 0 ));
  112. items.add(new ItemInfo("Gold Ore", new String[][] {{"ore","gold"}}, 14, (short) 0 ));
  113. items.add(new ItemInfo("Iron Ore", new String[][] {{"ore","iron"}}, 15, (short) 0 ));
  114. items.add(new ItemInfo("Coal Ore", new String[][] {{"ore","coal"}}, 16, (short) 0 ));
  115. items.add(new ItemInfo("Oak Log", new String[][] {{"log"},{"log","oak"}}, 17, (short) 0 ));
  116. items.add(new ItemInfo("Spruce Log", new String[][] {{"log","spr"}}, 17, (short) 1 ));
  117. items.add(new ItemInfo("Birch Log", new String[][] {{"log","birch"}}, 17, (short) 2 ));
  118. items.add(new ItemInfo("Jungle Log", new String[][] {{"log","jung"}}, 17, (short) 3 ));
  119. items.add(new ItemInfo("Oak Leaves Block", new String[][] {{"blo","lea"},{"blo","leaves","oak"}}, 18, (short) 0 ));
  120. items.add(new ItemInfo("Spruce Leaves Block", new String[][] {{"blo","lea","spr"}}, 18, (short) 1 ));
  121. items.add(new ItemInfo("Birch Leaves Block", new String[][] {{"blo","lea","birch"}}, 18, (short) 2 ));
  122. items.add(new ItemInfo("Jungle Leaves Block", new String[][] {{"blo","lea","jung"}}, 18, (short) 3 ));
  123. items.add(new ItemInfo("Oak Leaves", new String[][] {{"lea"},{"lea","oak"}}, 18, (short) 4 ));
  124. items.add(new ItemInfo("Spruce Leaves", new String[][] {{"lea","spr"}}, 18, (short) 5 ));
  125. items.add(new ItemInfo("Birch Leaves", new String[][] {{"lea","birch"}}, 18, (short) 6 ));
  126. items.add(new ItemInfo("Jungle Leaves", new String[][] {{"lea","jung"}}, 18, (short) 7 ));
  127. items.add(new ItemInfo("Sponge", new String[][] {{"sponge"}}, 19, (short) 0 ));
  128. items.add(new ItemInfo("Glass", new String[][] {{"glas"}}, 20, (short) 0 ));
  129. items.add(new ItemInfo("Lapis Lazuli Ore", new String[][] {{"lapis","ore"}}, 21, (short) 0 ));
  130. items.add(new ItemInfo("Lapis Lazuli Block", new String[][] {{"lapis","bl"}}, 22, (short) 0 ));
  131. items.add(new ItemInfo("Dispenser", new String[][] {{"dispen"},{"dis","pen"}}, 23, (short) 0 ));
  132. items.add(new ItemInfo("Sandstone", new String[][] {{"sand","st"}}, 24, (short) 0 ));
  133. items.add(new ItemInfo("Chiseled Sandstone", new String[][] {{"sand","st","chi"}}, 24, (short) 1 ));
  134. items.add(new ItemInfo("Smooth Sandstone", new String[][] {{"sand","st","smo"}}, 24, (short) 2 ));
  135. items.add(new ItemInfo("Note Block", new String[][] {{"note"}}, 25, (short) 0 ));
  136. items.add(new ItemInfo("Powered Rail", new String[][] {{"rail","pow"},{"trac","pow"},{"boost"}}, 27, (short) 0 ));
  137. items.add(new ItemInfo("Detector Rail", new String[][] {{"rail","det"},{"trac","det"},{"detec"}}, 28, (short) 0 ));
  138. items.add(new ItemInfo("Sticky Piston Block", new String[][] {{"blo","sticky"},{"blo","sticky","pist"}}, 29, (short) 0 ));
  139. items.add(new ItemInfo("Sticky Piston", new String[][] {{"sticky"},{"sticky","pist"}}, 29, (short) 7 ));
  140. items.add(new ItemInfo("Cobweb", new String[][] {{"web"},{"cobweb"}}, 30, (short) 0 ));
  141. items.add(new ItemInfo("Dead Shrub", new String[][] {{"dead","shrub"}}, 31, (short) 0 ));
  142. items.add(new ItemInfo("Tall Grass", new String[][] {{"tall","gras"}}, 31, (short) 1 ));
  143. items.add(new ItemInfo("Fern", new String[][] {{"fern"}}, 31, (short) 2 ));
  144. items.add(new ItemInfo("Shrub", new String[][] {{"shrub"}}, 31, (short) 3 ));
  145. items.add(new ItemInfo("Dead Bush", new String[][] {{"dead","bush"}}, 32, (short) 0 ));
  146. items.add(new ItemInfo("Piston Block", new String[][] {{"blo","pist"}}, 33, (short) 0 ));
  147. items.add(new ItemInfo("Piston", new String[][] {{"pist"}}, 33, (short) 7 ));
  148. items.add(new ItemInfo("White Wool", new String[][] {{"wool","whit"},{"wool"}}, 35, (short) 0 ));
  149. items.add(new ItemInfo("Orange Wool", new String[][] {{"wool","ora"}}, 35, (short) 1 ));
  150. items.add(new ItemInfo("Magenta Wool", new String[][] {{"wool","mag"}}, 35, (short) 2 ));
  151. items.add(new ItemInfo("Light Blue Wool", new String[][] {{"wool","lig","blue"}}, 35, (short) 3 ));
  152. items.add(new ItemInfo("Yellow Wool", new String[][] {{"wool","yell"}}, 35, (short) 4 ));
  153. items.add(new ItemInfo("Lime Wool", new String[][] {{"wool","lime"}}, 35, (short) 5 ));
  154. items.add(new ItemInfo("Pink Wool", new String[][] {{"wool","pink"}}, 35, (short) 6 ));
  155. items.add(new ItemInfo("Gray Wool", new String[][] {{"wool","gray"},{"wool","grey"}}, 35, (short) 7 ));
  156. items.add(new ItemInfo("Light Gray Wool", new String[][] {{"lig","wool","gra"},{"lig","wool","gre"}}, 35, (short) 8 ));
  157. items.add(new ItemInfo("Cyan Wool", new String[][] {{"wool","cya"}}, 35, (short) 9 ));
  158. items.add(new ItemInfo("Purple Wool", new String[][] {{"wool","pur"}}, 35, (short) 10 ));
  159. items.add(new ItemInfo("Blue Wool", new String[][] {{"wool","blue"}}, 35, (short) 11 ));
  160. items.add(new ItemInfo("Brown Wool", new String[][] {{"wool","brow"}}, 35, (short) 12 ));
  161. items.add(new ItemInfo("Green Wool", new String[][] {{"wool","gree"}}, 35, (short) 13 ));
  162. items.add(new ItemInfo("Red Wool", new String[][] {{"wool","red"}}, 35, (short) 14 ));
  163. items.add(new ItemInfo("Black Wool", new String[][] {{"wool","bla"}}, 35, (short) 15 ));
  164. items.add(new ItemInfo("Dandelion", new String[][] {{"flow","yell"},{"dande"}}, 37, (short) 0 ));
  165. items.add(new ItemInfo("Poppy", new String[][] {{"rose"},{"poppy"}}, 38, (short) 0 ));
  166. items.add(new ItemInfo("Blue Orchid", new String[][] {{"orchid"}}, 38, (short) 1 ));
  167. items.add(new ItemInfo("Allium", new String[][] {{"alli"}}, 38, (short) 2 ));
  168. items.add(new ItemInfo("Azure Bluet", new String[][] {{"bluet"}}, 38, (short) 3 ));
  169. items.add(new ItemInfo("Red Tulip", new String[][] {{"tulip","red"}}, 38, (short) 4 ));
  170. items.add(new ItemInfo("Orange Tulip", new String[][] {{"tulip","ora"}}, 38, (short) 5 ));
  171. items.add(new ItemInfo("White Tulip", new String[][] {{"tulip","whi"}}, 38, (short) 6 ));
  172. items.add(new ItemInfo("Pink Tulip", new String[][] {{"tulip","pin"}}, 38, (short) 7 ));
  173. items.add(new ItemInfo("Oxeye Daisy", new String[][] {{"daisy"}}, 38, (short) 8 ));
  174. items.add(new ItemInfo("Brown Mushroom", new String[][] {{"mush","bro"}}, 39, (short) 0 ));
  175. items.add(new ItemInfo("Red Mushroom", new String[][] {{"mush","red"}}, 40, (short) 0 ));
  176. items.add(new ItemInfo("Gold Block", new String[][] {{"gold","bl"}}, 41, (short) 0 ));
  177. items.add(new ItemInfo("Iron Block", new String[][] {{"iron","bl"}}, 42, (short) 0 ));
  178. items.add(new ItemInfo("Double Stone Slab", new String[][] {{"dou","slab"},{"dou","slab","sto"}}, 43, (short) 0 ));
  179. items.add(new ItemInfo("Double Sandstone Slab", new String[][] {{"dou","slab","sand","sto"}}, 43, (short) 1 ));
  180. items.add(new ItemInfo("Double Wooden Stone Slab", new String[][] {{"dou","slab","sto","wood"}}, 43, (short) 2 ));
  181. items.add(new ItemInfo("Double Cobblestone Slab", new String[][] {{"dou","slab","cob","sto"},{"dou","slab","cob"}},43, (short) 3 ));
  182. items.add(new ItemInfo("Double Clay Brick Slab", new String[][] {{"dou","slab","bric","clay"}}, 43, (short) 4 ));
  183. items.add(new ItemInfo("Double Stone Brick Slab", new String[][] {{"dou","slab","bric","sto"}}, 43, (short) 5 ));
  184. items.add(new ItemInfo("Double Nether Brick Slab", new String[][] {{"dou","slab","bric","neth"}}, 43, (short) 6 ));
  185. items.add(new ItemInfo("Double Quartz Slab", new String[][] {{"dou","slab","quar"}}, 43, (short) 7 ));
  186. items.add(new ItemInfo("Double Smooth Stone Slab", new String[][] {{"dou","slab","smo","sto"}}, 43, (short) 8 ));
  187. items.add(new ItemInfo("Double Smooth Sandstone Slab",new String[][]{{"dou","slab","sand","smo"}}, 43, (short) 9 ));
  188. items.add(new ItemInfo("Stone Slab", new String[][] {{"slab","sto"}}, 44, (short) 0 ));
  189. items.add(new ItemInfo("Sandstone Slab", new String[][] {{"slab","sand","sto"}}, 44, (short) 1 ));
  190. items.add(new ItemInfo("Wooden Stone Slab", new String[][] {{"slab","wood"},{"slab","sto","wood"}}, 44, (short) 2 ));
  191. items.add(new ItemInfo("Cobblestone Slab", new String[][] {{"slab","cob","sto"},{"slab","cob"}}, 44, (short) 3 ));
  192. items.add(new ItemInfo("Clay Brick Slab", new String[][] {{"slab","bric","clay"}}, 44, (short) 4 ));
  193. items.add(new ItemInfo("Stone Brick Slab", new String[][] {{"slab","bric","sto"}}, 44, (short) 5 ));
  194. items.add(new ItemInfo("Nether Brick Slab", new String[][] {{"slab","bric","neth"}}, 44, (short) 6 ));
  195. items.add(new ItemInfo("Quartz Slab", new String[][] {{"slab","quar"}}, 44, (short) 7 ));
  196. items.add(new ItemInfo("Clay Brick Block", new String[][] {{"clay","bric","bloc"}}, 45, (short) 0 ));
  197. items.add(new ItemInfo("TNT", new String[][] {{"tnt"}}, 46, (short) 0 ));
  198. items.add(new ItemInfo("Bookshelf", new String[][] {{"bookshe"},{"book","she"}}, 47, (short) 0 ));
  199. items.add(new ItemInfo("Moss Stone", new String[][] {{"moss","sto"},{"moss","cob"},{"moss"}}, 48, (short) 0 ));
  200. items.add(new ItemInfo("Obsidian", new String[][] {{"obsi"}}, 49, (short) 0 ));
  201. items.add(new ItemInfo("Torch", new String[][] {{"torc"}}, 50, (short) 0 ));
  202. items.add(new ItemInfo("Fire", new String[][] {{"fire"}}, 51, (short) 0 ));
  203. items.add(new ItemInfo("Monster Spawner", new String[][] {{"spawn"}}, 52, (short) 0 ));
  204. items.add(new ItemInfo("Oak Stairs", new String[][] {{"stair","wood"},{"stair","oak"}}, 53, (short) 0 ));
  205. items.add(new ItemInfo("Chest", new String[][] {{"chest"}}, 54, (short) 0 ));
  206. items.add(new ItemInfo("Diamond Ore", new String[][] {{"ore","diam"}}, 56, (short) 0 ));
  207. items.add(new ItemInfo("Diamond Block", new String[][] {{"diam","bl"}}, 57, (short) 0 ));
  208. items.add(new ItemInfo("Crafting Table", new String[][] {{"benc"},{"craft"}}, 58, (short) 0 ));
  209. items.add(new ItemInfo("Farmland", new String[][] {{"farm"}}, 60, (short) 0 ));
  210. items.add(new ItemInfo("Furnace", new String[][] {{"furna"}}, 61, (short) 0 ));
  211. items.add(new ItemInfo("Ladder", new String[][] {{"ladd"}}, 65, (short) 0 ));
  212. items.add(new ItemInfo("Rail", new String[][] {{"rail"}}, 66, (short) 0 ));
  213. items.add(new ItemInfo("Cobblestone Stairs", new String[][] {{"stair","cob","sto"},{"stair","cob"}}, 67, (short) 0 ));
  214. items.add(new ItemInfo("Lever", new String[][] {{"lever"},{"switc"}}, 69, (short) 0 ));
  215. items.add(new ItemInfo("Stone Pressure Plate", new String[][] {{"pres","plat","ston"}}, 70, (short) 0 ));
  216. items.add(new ItemInfo("Wooden Pressure Plate", new String[][] {{"pres","plat","wood"}}, 72, (short) 0 ));
  217. items.add(new ItemInfo("Redstone Ore", new String[][] {{"ore","red"}}, 73, (short) 0 ));
  218. items.add(new ItemInfo("Redstone Torch", new String[][] {{"torc","red"},{"torc","rs"}}, 76, (short) 0 ));
  219. items.add(new ItemInfo("Stone Button", new String[][] {{"stone","button"},{"button"}}, 77, (short) 0 ));
  220. items.add(new ItemInfo("Snow", new String[][] {{"snow"}}, 78, (short) 0 ));
  221. items.add(new ItemInfo("Ice", new String[][] {{"ice"}}, 79, (short) 0 ));
  222. items.add(new ItemInfo("Snow Block", new String[][] {{"snow","blo"}}, 80, (short) 0 ));
  223. items.add(new ItemInfo("Cactus", new String[][] {{"cact"}}, 81, (short) 0 ));
  224. items.add(new ItemInfo("Clay Block", new String[][] {{"clay","blo"}}, 82, (short) 0 ));
  225. items.add(new ItemInfo("Jukebox", new String[][] {{"jukeb"}}, 84, (short) 0 ));
  226. items.add(new ItemInfo("Fence", new String[][] {{"fence"}}, 85, (short) 0 ));
  227. items.add(new ItemInfo("Pumpkin", new String[][] {{"pump"}}, 86, (short) 0 ));
  228. items.add(new ItemInfo("Netherrack", new String[][] {{"netherr"}}, 87, (short) 0 ));
  229. items.add(new ItemInfo("Soul Sand", new String[][] {{"soul","sand"},{"soul"}}, 88, (short) 0 ));
  230. items.add(new ItemInfo("Glowstone Block", new String[][] {{"glow","stone"},{"glow","block"}}, 89, (short) 0 ));
  231. items.add(new ItemInfo("Jack-O-Lantern", new String[][] {{"jack"},{"lante"}}, 91, (short) 0 ));
  232. items.add(new ItemInfo("White Stained Glass", new String[][] {{"whit","glass"},{"stain","glass"}}, 95, (short) 0 ));
  233. items.add(new ItemInfo("Orange Stained Glass", new String[][] {{"orang","glass"}}, 95, (short) 1 ));
  234. items.add(new ItemInfo("Magenta Stained Glass", new String[][] {{"mage","glass"}}, 95, (short) 2 ));
  235. items.add(new ItemInfo("Light Blue Stained Glass", new String[][] {{"lig","blu","glass"}}, 95, (short) 3 ));
  236. items.add(new ItemInfo("Yellow Stained Glass", new String[][] {{"yello","glass"}}, 95, (short) 4 ));
  237. items.add(new ItemInfo("Lime Stained Glass", new String[][] {{"lime","glass"}}, 95, (short) 5 ));
  238. items.add(new ItemInfo("Pink Stained Glass", new String[][] {{"pink","glass"}}, 95, (short) 6 ));
  239. items.add(new ItemInfo("Gray Stained Glass", new String[][] {{"gray","glass"},{"grey","glass"}}, 95, (short) 7 ));
  240. items.add(new ItemInfo("Light Gray Stained Glass", new String[][] {{"lig","gray","glass"},{"lig","grey","glass"}}, 95, (short) 8 ));
  241. items.add(new ItemInfo("Cyan Stained Glass", new String[][] {{"cyan","glass"}}, 95, (short) 9 ));
  242. items.add(new ItemInfo("Purple Stained Glass", new String[][] {{"purp","glass"}}, 95, (short) 10 ));
  243. items.add(new ItemInfo("Blue Stained Glass", new String[][] {{"blu","glass"}}, 95, (short) 11 ));
  244. items.add(new ItemInfo("Brown Stained Glass", new String[][] {{"brow","glass"}}, 95, (short) 12 ));
  245. items.add(new ItemInfo("Green Stained Glass", new String[][] {{"gree","glass"}}, 95, (short) 13 ));
  246. items.add(new ItemInfo("Red Stained Glass", new String[][] {{"red","glass"}}, 95, (short) 14 ));
  247. items.add(new ItemInfo("Black Stained Glass", new String[][] {{"blac","glass"}}, 95, (short) 15 ));
  248. items.add(new ItemInfo("Trapdoor", new String[][] {{"trap","door"},{"hatch"}}, 96, (short) 0 ));
  249. items.add(new ItemInfo("Silverfish Stone", new String[][] {{"silver","ston"}}, 97, (short) 0 ));
  250. items.add(new ItemInfo("Silverfish Cobblestone", new String[][] {{"silver","cob"},{"silver","cob","ston"}}, 97, (short) 1 ));
  251. items.add(new ItemInfo("Silverfish Stone Brick", new String[][] {{"silver","bric"},{"silver","ston","bric"}}, 97, (short) 2 ));
  252. items.add(new ItemInfo("Silverfish Mossy Stone Brick",new String[][]{{"silver","moss"}}, 97, (short) 3 ));
  253. items.add(new ItemInfo("Silverfish Cracked Stone Brick",new String[][]{{"silver","crack"}}, 97, (short) 4 ));
  254. items.add(new ItemInfo("Silverfish Chisled Stone Brick",new String[][]{{"silver","chis"}}, 97, (short) 5 ));
  255. items.add(new ItemInfo("Stone Brick Block", new String[][] {{"ston","bric","bloc"}}, 98, (short) 0 ));
  256. items.add(new ItemInfo("Mossy Stone Brick Block", new String[][] {{"ston","bric","moss","bloc"}}, 98, (short) 1 ));
  257. items.add(new ItemInfo("Cracked Stone Brick Block", new String[][] {{"ston","bric","cra"}}, 98, (short) 2 ));
  258. items.add(new ItemInfo("Chiseled Stone Brick Block",new String[][] {{"ston","bric","chi"}}, 98, (short) 3 ));
  259. items.add(new ItemInfo("Huge Brown Mushroom", new String[][] {{"huge","bro","mush"}}, 99, (short) 0 ));
  260. items.add(new ItemInfo("Huge Red Mushroom", new String[][] {{"huge","red","mush"}}, 100, (short) 0 ));
  261. items.add(new ItemInfo("Iron Bars", new String[][] {{"iron","bar"}}, 101, (short) 0 ));
  262. items.add(new ItemInfo("Glass Pane", new String[][] {{"glas","pan"}}, 102, (short) 0 ));
  263. items.add(new ItemInfo("Melon", new String[][] {{"melo"}}, 103, (short) 0 ));
  264. items.add(new ItemInfo("Vines", new String[][] {{"vine"}}, 106, (short) 0 ));
  265. items.add(new ItemInfo("Fence Gate", new String[][] {{"fence","gate"},{"gate"}}, 107, (short) 0 ));
  266. items.add(new ItemInfo("Clay Brick Stairs", new String[][] {{"clay","bric","stair"}}, 108, (short) 0 ));
  267. items.add(new ItemInfo("Stone Brick Stairs", new String[][] {{"ston","bric","stair"}}, 109, (short) 0 ));
  268. items.add(new ItemInfo("Mycelium", new String[][] {{"myce"}}, 110, (short) 0 ));
  269. items.add(new ItemInfo("Lily Pad", new String[][] {{"lily"}}, 111, (short) 0 ));
  270. items.add(new ItemInfo("Nether Brick Block", new String[][] {{"bric","nether","bloc"}}, 112, (short) 0 ));
  271. items.add(new ItemInfo("Nether Brick Fence", new String[][] {{"fen","bric","nether"}}, 113, (short) 0 ));
  272. items.add(new ItemInfo("Nether Brick Stairs", new String[][] {{"stair","bric","nether"}}, 114, (short) 0 ));
  273. items.add(new ItemInfo("Enchantment Table", new String[][] {{"encha"}}, 116, (short) 0 ));
  274. items.add(new ItemInfo("End Portal Frame", new String[][] {{"end","fra"}}, 120, (short) 0 ));
  275. items.add(new ItemInfo("End Stone", new String[][] {{"end","sto"}}, 121, (short) 0 ));
  276. items.add(new ItemInfo("Dragon Egg", new String[][] {{"drag"}}, 122, (short) 0 ));
  277. items.add(new ItemInfo("Redstone Lamp", new String[][] {{"lamp"},{"red","lamp"}}, 123, (short) 0 ));
  278. items.add(new ItemInfo("Oak Double Slab", new String[][] {{"oak","dou","slab"},{"wood","dou","slab"}}, 125, (short) 0 ));
  279. items.add(new ItemInfo("Spruce Double Slab", new String[][] {{"spr","dou","slab"}}, 125, (short) 1 ));
  280. items.add(new ItemInfo("Birch Double Slab", new String[][] {{"birch","dou","slab"}}, 125, (short) 2 ));
  281. items.add(new ItemInfo("Jungle Double Slab", new String[][] {{"jung","dou","slab"}}, 125, (short) 3 ));
  282. items.add(new ItemInfo("Acacia Double Slab", new String[][] {{"aca","dou","slab"}}, 125, (short) 4 ));
  283. items.add(new ItemInfo("Dark Oak Double Slab", new String[][] {{"dark","dou","slab"},{"dark","oak","dou","slab"}},125,(short)5 ));
  284. items.add(new ItemInfo("Oak Slab", new String[][] {{"oak","slab"}}, 126, (short) 0 ));
  285. items.add(new ItemInfo("Spruce Slab", new String[][] {{"spr","slab"}}, 126, (short) 1 ));
  286. items.add(new ItemInfo("Birch Slab", new String[][] {{"birch","slab"}}, 126, (short) 2 ));
  287. items.add(new ItemInfo("Jungle Slab", new String[][] {{"jung","slab"}}, 126, (short) 3 ));
  288. items.add(new ItemInfo("Acacia Slab", new String[][] {{"aca","slab"}}, 126, (short) 4 ));
  289. items.add(new ItemInfo("Dark Oak Slab", new String[][] {{"dark","slab"},{"dark","oak","slab"}}, 126, (short) 5 ));
  290. items.add(new ItemInfo("Cocoa Plant", new String[][] {{"coco","pla"}}, 127, (short) 0 ));
  291. items.add(new ItemInfo("Sandstone Stairs", new String[][] {{"sand","stair"}}, 128, (short) 0 ));
  292. items.add(new ItemInfo("Emerald Ore", new String[][] {{"emer","ore"}}, 129, (short) 0 ));
  293. items.add(new ItemInfo("Ender Chest", new String[][] {{"end","chest"}}, 130, (short) 0 ));
  294. items.add(new ItemInfo("Tripwire Hook", new String[][] {{"trip","hook"}}, 131, (short) 0 ));
  295. items.add(new ItemInfo("Emerald Block", new String[][] {{"emer","blo"}}, 133, (short) 0 ));
  296. items.add(new ItemInfo("Spruce Stairs", new String[][] {{"spr","stair"}}, 134, (short) 0 ));
  297. items.add(new ItemInfo("Birch Stairs", new String[][] {{"birch","stair"}}, 135, (short) 0 ));
  298. items.add(new ItemInfo("Jungle Stairs", new String[][] {{"jung","stair"}}, 136, (short) 0 ));
  299. items.add(new ItemInfo("Command Block", new String[][] {{"comma","blo"}}, 137, (short) 0 ));
  300. items.add(new ItemInfo("Beacon", new String[][] {{"beaco"}}, 138, (short) 0 ));
  301. items.add(new ItemInfo("Cobblestone Wall", new String[][] {{"cob","fence"},{"cob","wall"}}, 139, (short) 0 ));
  302. items.add(new ItemInfo("Moss Stone Wall", new String[][] {{"moss","fence"},{"moss","wall"}}, 139, (short) 1 ));
  303. items.add(new ItemInfo("Wooden Button", new String[][] {{"wood","button"}}, 143, (short) 0 ));
  304. items.add(new ItemInfo("Anvil", new String[][] {{"anvi"}}, 145, (short) 0 ));
  305. items.add(new ItemInfo("Trapped Chest", new String[][] {{"trap","ches"}}, 146, (short) 0 ));
  306. items.add(new ItemInfo("Light Weighted Pressure Plate",new String[][]{{"light","plate"}}, 147, (short) 0 ));
  307. items.add(new ItemInfo("Heavy Weighted Pressure Plate",new String[][]{{"heavy","plate"}}, 148, (short) 0 ));
  308. items.add(new ItemInfo("Daylight Sensor", new String[][] {{"ligh","sens"}}, 151, (short) 0 ));
  309. items.add(new ItemInfo("Redstone Block", new String[][] {{"reds","bloc"}}, 152, (short) 0 ));
  310. items.add(new ItemInfo("Nether Quartz Ore", new String[][] {{"quar","ore"}}, 153, (short) 0 ));
  311. items.add(new ItemInfo("Hopper", new String[][] {{"hopp"}}, 154, (short) 0 ));
  312. items.add(new ItemInfo("Quartz Block", new String[][] {{"quart","bloc"}}, 155, (short) 0 ));
  313. items.add(new ItemInfo("Chiseled Quartz Block", new String[][] {{"chis","quart","bloc"}}, 155, (short) 1 ));
  314. items.add(new ItemInfo("Pillar Quartz Block", new String[][] {{"pilla","quart","bloc"}}, 155, (short) 2 ));
  315. items.add(new ItemInfo("Quartz Stairs", new String[][] {{"quart","stai"}}, 156, (short) 0 ));
  316. items.add(new ItemInfo("Activator Rail", new String[][] {{"acti","rail"}}, 157, (short) 0 ));
  317. items.add(new ItemInfo("Dropper", new String[][] {{"dropp"}}, 158, (short) 0 ));
  318. items.add(new ItemInfo("White Stained Clay", new String[][] {{"clay","whit"}}, 159, (short) 0 ));
  319. items.add(new ItemInfo("Orange Stained Clay", new String[][] {{"clay","ora"}}, 159, (short) 1 ));
  320. items.add(new ItemInfo("Magenta Stained Clay", new String[][] {{"clay","mag"}}, 159, (short) 2 ));
  321. items.add(new ItemInfo("Light Blue Stained Clay", new String[][] {{"clay","lig","blue"}}, 159, (short) 3 ));
  322. items.add(new ItemInfo("Yellow Stained Clay", new String[][] {{"clay","yell"}}, 159, (short) 4 ));
  323. items.add(new ItemInfo("Lime Stained Clay", new String[][] {{"clay","lime"}}, 159, (short) 5 ));
  324. items.add(new ItemInfo("Pink Stained Clay", new String[][] {{"clay","pink"}}, 159, (short) 6 ));
  325. items.add(new ItemInfo("Gray Stained Clay", new String[][] {{"clay","gray"},{"clay","grey"}}, 159, (short) 7 ));
  326. items.add(new ItemInfo("Light Gray Stained Clay", new String[][] {{"clay","gray","lig"},{"clay","grey","lig"}}, 159, (short) 8 ));
  327. items.add(new ItemInfo("Cyan Stained Clay", new String[][] {{"clay","cya"}}, 159, (short) 9 ));
  328. items.add(new ItemInfo("Purple Stained Clay", new String[][] {{"clay","pur"}}, 159, (short) 10 ));
  329. items.add(new ItemInfo("Blue Stained Clay", new String[][] {{"clay","blue"}}, 159, (short) 11 ));
  330. items.add(new ItemInfo("Brown Stained Clay", new String[][] {{"clay","brow"}}, 159, (short) 12 ));
  331. items.add(new ItemInfo("Green Stained Clay", new String[][] {{"clay","gree"}}, 159, (short) 13 ));
  332. items.add(new ItemInfo("Red Stained Clay", new String[][] {{"clay","red"}}, 159, (short) 14 ));
  333. items.add(new ItemInfo("Black Stained Clay", new String[][] {{"clay","bla"}}, 159, (short) 15 ));
  334. items.add(new ItemInfo("White Stained Glass Pane", new String[][] {{"pane","whit"}}, 160, (short) 0 ));
  335. items.add(new ItemInfo("Orange Stained Glass Pane", new String[][] {{"pane","oran"}}, 160, (short) 1 ));
  336. items.add(new ItemInfo("Magenta Stained Glass Pane",new String[][] {{"pane","magen"}}, 160, (short) 2 ));
  337. items.add(new ItemInfo("Light Blue Stained Glass Pane",new String[][]{{"pane","lig","blu"}}, 160, (short) 3 ));
  338. items.add(new ItemInfo("Yellow Stained Glass Pane", new String[][] {{"pane","yello"}}, 160, (short) 4 ));
  339. items.add(new ItemInfo("Lime Stained Glass Pane", new String[][] {{"pane","lime"}}, 160, (short) 5 ));
  340. items.add(new ItemInfo("Pink Stained Glass Pane", new String[][] {{"pane","pink"}}, 160, (short) 6 ));
  341. items.add(new ItemInfo("Gray Stained Glass Pane", new String[][] {{"pane","gray"},{"pane","grey"}}, 160, (short) 7 ));
  342. items.add(new ItemInfo("Light Gray Stained Glass Pane",new String[][]{{"pane","lig","gray"},{"pane","lig","grey"}}, 160, (short) 8 ));
  343. items.add(new ItemInfo("Cyan Stained Glass Pane", new String[][] {{"pane","cyan"}}, 160, (short) 9 ));
  344. items.add(new ItemInfo("Purple Stained Glass Pane", new String[][] {{"pane","purp"}}, 160, (short) 10 ));
  345. items.add(new ItemInfo("Blue Stained Glass Pane", new String[][] {{"pane","blu"}}, 160, (short) 11 ));
  346. items.add(new ItemInfo("Brown Stained Glass Pane", new String[][] {{"pane","brow"}}, 160, (short) 12 ));
  347. items.add(new ItemInfo("Green Stained Glass Pane", new String[][] {{"pane","gree"}}, 160, (short) 13 ));
  348. items.add(new ItemInfo("Red Stained Glass Pane", new String[][] {{"pane","red"}}, 160, (short) 14 ));
  349. items.add(new ItemInfo("Black Stained Glass Pane", new String[][] {{"pane","blac"}}, 160, (short) 15 ));
  350. items.add(new ItemInfo("Acacia Leaves", new String[][] {{"lea","aca"}}, 161, (short) 0 ));
  351. items.add(new ItemInfo("Dark Oak Leaves", new String[][] {{"lea","dark"},{"lea","dark","oak"}}, 161, (short) 1 ));
  352. items.add(new ItemInfo("Acacia Log", new String[][] {{"log","aca"}}, 162, (short) 0 ));
  353. items.add(new ItemInfo("Dark Oak Log", new String[][] {{"log","dark"},{"log","dark","oak"}}, 162, (short) 1 ));
  354. items.add(new ItemInfo("Acacia Stairs", new String[][] {{"stair","aca"}}, 163, (short) 0 ));
  355. items.add(new ItemInfo("Dark Oak Stairs", new String[][] {{"stair","dark"},{"stair","dark","oak"}}, 164, (short) 0 ));
  356. items.add(new ItemInfo("Slime Block", new String[][] {{"slime","bloc"}}, 165, (short) 0 ));
  357. items.add(new ItemInfo("Barrier", new String[][] {{"bar","rier"}}, 166, (short) 0 ));
  358. items.add(new ItemInfo("Iron Trapdoor", new String[][] {{"iron","trap","door"},{"iron","hatch"}}, 167, (short) 0 ));
  359. items.add(new ItemInfo("Hay Block", new String[][] {{"hay"}}, 170, (short) 0 ));
  360. items.add(new ItemInfo("White Carpet", new String[][] {{"carp","whit"}}, 171, (short) 0 ));
  361. items.add(new ItemInfo("Orange Carpet", new String[][] {{"carp","ora"}}, 171, (short) 1 ));
  362. items.add(new ItemInfo("Magenta Carpet", new String[][] {{"carp","mag"}}, 171, (short) 2 ));
  363. items.add(new ItemInfo("Light Blue Carpet", new String[][] {{"carp","lig","blue"}}, 171, (short) 3 ));
  364. items.add(new ItemInfo("Yellow Carpet", new String[][] {{"carp","yell"}}, 171, (short) 4 ));
  365. items.add(new ItemInfo("Lime Carpet", new String[][] {{"carp","lime"}}, 171, (short) 5 ));
  366. items.add(new ItemInfo("Pink Carpet", new String[][] {{"carp","pink"}}, 171, (short) 6 ));
  367. items.add(new ItemInfo("Gray Carpet", new String[][] {{"carp","gray"},{"carp","grey"}}, 171, (short) 7 ));
  368. items.add(new ItemInfo("Light Gray Carpet", new String[][] {{"carp","gray","lig"},{"carp","grey","lig"}}, 171, (short) 8 ));
  369. items.add(new ItemInfo("Cyan Carpet", new String[][] {{"carp","cya"}}, 171, (short) 9 ));
  370. items.add(new ItemInfo("Purple Carpet", new String[][] {{"carp","pur"}}, 171, (short) 10 ));
  371. items.add(new ItemInfo("Blue Carpet", new String[][] {{"carp","blue"}}, 171, (short) 11 ));
  372. items.add(new ItemInfo("Brown Carpet", new String[][] {{"carp","brow"}}, 171, (short) 12 ));
  373. items.add(new ItemInfo("Green Carpet", new String[][] {{"carp","gree"}}, 171, (short) 13 ));
  374. items.add(new ItemInfo("Red Carpet", new String[][] {{"carp","red"}}, 171, (short) 14 ));
  375. items.add(new ItemInfo("Black Carpet", new String[][] {{"carp","bla"}}, 171, (short) 15 ));
  376. items.add(new ItemInfo("Hardened Clay", new String[][] {{"hard","clay"}}, 172, (short) 0 ));
  377. items.add(new ItemInfo("Coal Block", new String[][] {{"coal","bl"}}, 173, (short) 0 ));
  378. items.add(new ItemInfo("Packed Ice", new String[][] {{"pack","ice"}}, 174, (short) 0 ));
  379. items.add(new ItemInfo("Sunflower", new String[][] {{"sun","flower"}}, 175, (short) 0 ));
  380. items.add(new ItemInfo("Lilac", new String[][] {{"lilac"}}, 175, (short) 1 ));
  381. items.add(new ItemInfo("Double Tallgrass", new String[][] {{"dou","grass"}}, 175, (short) 2 ));
  382. items.add(new ItemInfo("Large Fern", new String[][] {{"large","fern"}}, 175, (short) 3 ));
  383. items.add(new ItemInfo("Rose Bush", new String[][] {{"rose","bush"}}, 175, (short) 4 ));
  384. items.add(new ItemInfo("Peony", new String[][] {{"peony"}}, 175, (short) 5 ));
  385. items.add(new ItemInfo("Iron Shovel", new String[][] {{"shov","ir"}}, 256, (short) 0 ));
  386. items.add(new ItemInfo("Iron Pickaxe", new String[][] {{"pick","ir"},{"pick","axe","ir"}}, 257, (short) 0 ));
  387. items.add(new ItemInfo("Iron Axe", new String[][] {{"axe","ir"}}, 258, (short) 0 ));
  388. items.add(new ItemInfo("Flint and Steel", new String[][] {{"flin","ste"}}, 259, (short) 0 ));
  389. items.add(new ItemInfo("Red Apple", new String[][] {{"appl"},{"red","appl"}}, 260, (short) 0 ));
  390. items.add(new ItemInfo("Bow", new String[][] {{"bow"}}, 261, (short) 0 ));
  391. items.add(new ItemInfo("Arrow", new String[][] {{"arrow"}}, 262, (short) 0 ));
  392. items.add(new ItemInfo("Coal", new String[][] {{"coal"}}, 263, (short) 0 ));
  393. items.add(new ItemInfo("Charcoal", new String[][] {{"char","coal"},{"char"}}, 263, (short) 1 ));
  394. items.add(new ItemInfo("Diamond", new String[][] {{"diamo"}}, 264, (short) 0 ));
  395. items.add(new ItemInfo("Iron Ingot", new String[][] {{"ingo","ir"},{"iron"}}, 265, (short) 0 ));
  396. items.add(new ItemInfo("Gold Ingot", new String[][] {{"ingo","go"},{"gold"}}, 266, (short) 0 ));
  397. items.add(new ItemInfo("Iron Sword", new String[][] {{"swor","ir"}}, 267, (short) 0 ));
  398. items.add(new ItemInfo("Wooden Sword", new String[][] {{"swor","woo"}}, 268, (short) 0 ));
  399. items.add(new ItemInfo("Wooden Shovel", new String[][] {{"shov","wo"}}, 269, (short) 0 ));
  400. items.add(new ItemInfo("Wooden Pickaxe", new String[][] {{"pick","woo"},{"pick","axe","woo"}}, 270, (short) 0 ));
  401. items.add(new ItemInfo("Wooden Axe", new String[][] {{"axe","woo"}}, 271, (short) 0 ));
  402. items.add(new ItemInfo("Stone Sword", new String[][] {{"swor","sto"}}, 272, (short) 0 ));
  403. items.add(new ItemInfo("Stone Shovel", new String[][] {{"shov","sto"}}, 273, (short) 0 ));
  404. items.add(new ItemInfo("Stone Pickaxe", new String[][] {{"pick","sto"},{"pick","axe","sto"}}, 274, (short) 0 ));
  405. items.add(new ItemInfo("Stone Axe", new String[][] {{"axe","sto"}}, 275, (short) 0 ));
  406. items.add(new ItemInfo("Diamond Sword", new String[][] {{"swor","dia"}}, 276, (short) 0 ));
  407. items.add(new ItemInfo("Diamond Shovel", new String[][] {{"shov","dia"}}, 277, (short) 0 ));
  408. items.add(new ItemInfo("Diamond Pickaxe", new String[][] {{"pick","dia"},{"pick","axe","dia"}}, 278, (short) 0 ));
  409. items.add(new ItemInfo("Diamond Axe", new String[][] {{"axe","dia"}}, 279, (short) 0 ));
  410. items.add(new ItemInfo("Stick", new String[][] {{"stic"}}, 280, (short) 0 ));
  411. items.add(new ItemInfo("Bowl", new String[][] {{"bowl","bo","wl"}}, 281, (short) 0 ));
  412. items.add(new ItemInfo("Mushroom Stew", new String[][] {{"stew"}}, 282, (short) 0 ));
  413. items.add(new ItemInfo("Gold Sword", new String[][] {{"swor","gol"}}, 283, (short) 0 ));
  414. items.add(new ItemInfo("Gold Shovel", new String[][] {{"shov","gol"}}, 284, (short) 0 ));
  415. items.add(new ItemInfo("Gold Pickaxe", new String[][] {{"pick","gol"},{"pick","axe","gol"}}, 285, (short) 0 ));
  416. items.add(new ItemInfo("Gold Axe", new String[][] {{"axe","gol"}}, 286, (short) 0 ));
  417. items.add(new ItemInfo("String", new String[][] {{"stri"}}, 287, (short) 0 ));
  418. items.add(new ItemInfo("Feather", new String[][] {{"feat"}}, 288, (short) 0 ));
  419. items.add(new ItemInfo("Gunpowder", new String[][] {{"gun"},{"sulph"}}, 289, (short) 0 ));
  420. items.add(new ItemInfo("Wooden Hoe", new String[][] {{"hoe","wo"}}, 290, (short) 0 ));
  421. items.add(new ItemInfo("Stone Hoe", new String[][] {{"hoe","sto"}}, 291, (short) 0 ));
  422. items.add(new ItemInfo("Iron Hoe", new String[][] {{"hoe","iro"}}, 292, (short) 0 ));
  423. items.add(new ItemInfo("Diamond Hoe", new String[][] {{"hoe","dia"}}, 293, (short) 0 ));
  424. items.add(new ItemInfo("Gold Hoe", new String[][] {{"hoe","go"}}, 294, (short) 0 ));
  425. items.add(new ItemInfo("Seeds", new String[][] {{"seed"}}, 295, (short) 0 ));
  426. items.add(new ItemInfo("Wheat", new String[][] {{"whea"}}, 296, (short) 0 ));
  427. items.add(new ItemInfo("Bread", new String[][] {{"brea"}}, 297, (short) 0 ));
  428. items.add(new ItemInfo("Leather Cap", new String[][] {{"cap","lea"},{"helm","lea"}}, 298, (short) 0 ));
  429. items.add(new ItemInfo("Leather Tunic", new String[][] {{"tun","lea"},{"ches","lea"}}, 299, (short) 0 ));
  430. items.add(new ItemInfo("Leather Pants", new String[][] {{"pan","lea"},{"leg","lea"}}, 300, (short) 0 ));
  431. items.add(new ItemInfo("Leather Boots", new String[][] {{"boo","lea"}}, 301, (short) 0 ));
  432. items.add(new ItemInfo("Chain Helmet", new String[][] {{"cap","cha"},{"helm","cha"}}, 302, (short) 0 ));
  433. items.add(new ItemInfo("Chain Chestplate", new String[][] {{"tun","cha"},{"ches","cha"}}, 303, (short) 0 ));
  434. items.add(new ItemInfo("Chain Leggings", new String[][] {{"pan","cha"},{"leg","cha"}}, 304, (short) 0 ));
  435. items.add(new ItemInfo("Chain Boots", new String[][] {{"boo","cha"}}, 305, (short) 0 ));
  436. items.add(new ItemInfo("Iron Helmet", new String[][] {{"cap","ir"},{"helm","ir"}}, 306, (short) 0 ));
  437. items.add(new ItemInfo("Iron Chestplate", new String[][] {{"tun","ir"},{"ches","ir"}}, 307, (short) 0 ));
  438. items.add(new ItemInfo("Iron Leggings", new String[][] {{"pan","ir"},{"leg","ir"}}, 308, (short) 0 ));
  439. items.add(new ItemInfo("Iron Boots", new String[][] {{"boo","ir"}}, 309, (short) 0 ));
  440. items.add(new ItemInfo("Diamond Helmet", new String[][] {{"cap","dia"},{"helm","dia"}}, 310, (short) 0 ));
  441. items.add(new ItemInfo("Diamond Chestplate", new String[][] {{"tun","dia"},{"ches","dia"}}, 311, (short) 0 ));
  442. items.add(new ItemInfo("Diamond Leggings", new String[][] {{"pan","dia"},{"leg","dia"}}, 312, (short) 0 ));
  443. items.add(new ItemInfo("Diamond Boots", new String[][] {{"boo","dia"}}, 313, (short) 0 ));
  444. items.add(new ItemInfo("Gold Helmet", new String[][] {{"cap","go"},{"helm","go"}}, 314, (short) 0 ));
  445. items.add(new ItemInfo("Gold Chestplate", new String[][] {{"tun","go"},{"ches","go"}}, 315, (short) 0 ));
  446. items.add(new ItemInfo("Gold Leggings", new String[][] {{"pan","go"},{"leg","go"}}, 316, (short) 0 ));
  447. items.add(new ItemInfo("Gold Boots", new String[][] {{"boo","go"}}, 317, (short) 0 ));
  448. items.add(new ItemInfo("Flint", new String[][] {{"flin"}}, 318, (short) 0 ));
  449. items.add(new ItemInfo("Raw Porkchop", new String[][] {{"raw","pork"}}, 319, (short) 0 ));
  450. items.add(new ItemInfo("Cooked Porkchop", new String[][] {{"cook","pork"}}, 320, (short) 0 ));
  451. items.add(new ItemInfo("Painting", new String[][] {{"painting"}}, 321, (short) 0 ));
  452. items.add(new ItemInfo("Golden Apple", new String[][] {{"appl","go"}}, 322, (short) 0 ));
  453. items.add(new ItemInfo("Enchanted Golden Apple", new String[][] {{"appl","go","ench"}}, 322, (short) 1 ));
  454. items.add(new ItemInfo("Sign", new String[][] {{"sign"}}, 323, (short) 0 ));
  455. items.add(new ItemInfo("Wooden Door", new String[][] {{"door","wood"},{"door"}}, 324, (short) 0 ));
  456. items.add(new ItemInfo("Bucket", new String[][] {{"buck"}}, 325, (short) 0 ));
  457. items.add(new ItemInfo("Water Bucket", new String[][] {{"water","buck"}}, 326, (short) 0 ));
  458. items.add(new ItemInfo("Lava Bucket", new String[][] {{"lava","buck"}}, 327, (short) 0 ));
  459. items.add(new ItemInfo("Minecart", new String[][] {{"cart"}}, 328, (short) 0 ));
  460. items.add(new ItemInfo("Saddle", new String[][] {{"sadd"}}, 329, (short) 0 ));
  461. items.add(new ItemInfo("Iron Door", new String[][] {{"door","iron"}}, 330, (short) 0 ));
  462. items.add(new ItemInfo("Redstone Dust", new String[][] {{"red","ston"}}, 331, (short) 0 ));
  463. items.add(new ItemInfo("Snowball", new String[][] {{"snow","ball"}}, 332, (short) 0 ));
  464. items.add(new ItemInfo("Boat", new String[][] {{"boat"}}, 333, (short) 0 ));
  465. items.add(new ItemInfo("Leather", new String[][] {{"lea","the"}}, 334, (short) 0 ));
  466. items.add(new ItemInfo("Milk Bucket", new String[][] {{"milk"}}, 335, (short) 0 ));
  467. items.add(new ItemInfo("Clay Brick", new String[][] {{"bric","cla"}}, 336, (short) 0 ));
  468. items.add(new ItemInfo("Clay", new String[][] {{"clay"}}, 337, (short) 0 ));
  469. items.add(new ItemInfo("Sugar Cane", new String[][] {{"cane"}}, 338, (short) 0 ));
  470. items.add(new ItemInfo("Paper", new String[][] {{"pape"}}, 339, (short) 0 ));
  471. items.add(new ItemInfo("Book", new String[][] {{"book"}}, 340, (short) 0 ));
  472. items.add(new ItemInfo("Slimeball", new String[][] {{"slime"}}, 341, (short) 0 ));
  473. items.add(new ItemInfo("Minecart with Chest", new String[][] {{"cart","sto"},{"cart","che"}}, 342, (short) 0 ));
  474. items.add(new ItemInfo("Minecart with Furnace", new String[][] {{"cart","pow"},{"cart","furn"}}, 343, (short) 0 ));
  475. items.add(new ItemInfo("Egg", new String[][] {{"egg"}}, 344, (short) 0 ));
  476. items.add(new ItemInfo("Compass", new String[][] {{"comp"}}, 345, (short) 0 ));
  477. items.add(new ItemInfo("Fishing Rod", new String[][] {{"fish","rod"},{"fish","pole"}}, 346, (short) 0 ));
  478. items.add(new ItemInfo("Clock", new String[][] {{"cloc"},{"watc"}}, 347, (short) 0 ));
  479. items.add(new ItemInfo("Glowstone Dust", new String[][] {{"glow","sto","dus"},{"glow","dus"}}, 348, (short) 0 ));
  480. items.add(new ItemInfo("Raw Fish", new String[][] {{"fish"},{"raw","fish"}}, 349, (short) 0 ));
  481. items.add(new ItemInfo("Raw Salmon", new String[][] {{"salmo"},{"raw","salmo"}}, 349, (short) 1 ));
  482. items.add(new ItemInfo("Clownfish", new String[][] {{"clown","fish"},{"clown"}}, 349, (short) 2 ));
  483. items.add(new ItemInfo("Pufferfish", new String[][] {{"puff"},{"puff","fish"}}, 349, (short) 3 ));
  484. items.add(new ItemInfo("Cooked Fish", new String[][] {{"fish","coo"}}, 350, (short) 0 ));
  485. items.add(new ItemInfo("Cooked Salmon", new String[][] {{"salmo","coo"}}, 350, (short) 1 ));
  486. items.add(new ItemInfo("Ink Sac", new String[][] {{"dye","bla"}, {"ink"}}, 351, (short) 0 ));
  487. items.add(new ItemInfo("Rose Red", new String[][] {{"dye","red"}, {"rose","red"}}, 351, (short) 1 ));
  488. items.add(new ItemInfo("Cactus Green", new String[][] {{"dye","gree"}, {"cact","gree"}}, 351, (short) 2 ));
  489. items.add(new ItemInfo("Cocoa Beans", new String[][] {{"dye","bro"}, {"bean"},{"choco"},{"coco"}}, 351, (short) 3 ));
  490. items.add(new ItemInfo("Lapis Lazuli", new String[][] {{"dye","blu"}, {"lapis"}}, 351, (short) 4 ));
  491. items.add(new ItemInfo("Purple Dye", new String[][] {{"dye","pur"}}, 351, (short) 5 ));
  492. items.add(new ItemInfo("Cyan Dye", new String[][] {{"dye","cya"}}, 351, (short) 6 ));
  493. items.add(new ItemInfo("Light Gray Dye", new String[][] {{"dye","lig","gra"},{"dye","lig","grey"}}, 351, (short) 7 ));
  494. items.add(new ItemInfo("Gray Dye", new String[][] {{"dye","gra"},{"dye","grey"}}, 351, (short) 8 ));
  495. items.add(new ItemInfo("Pink Dye", new String[][] {{"dye","pin"}}, 351, (short) 9 ));
  496. items.add(new ItemInfo("Lime Dye", new String[][] {{"dye","lim"},{"dye","lig","gree"}}, 351, (short) 10 ));
  497. items.add(new ItemInfo("Dandelion Yellow", new String[][] {{"dye","yel"}, {"dand","yel"}}, 351, (short) 11 ));
  498. items.add(new ItemInfo("Light Blue Dye", new String[][] {{"dye","lig","blu"}}, 351, (short) 12 ));
  499. items.add(new ItemInfo("Magenta Dye", new String[][] {{"dye","mag"}}, 351, (short) 13 ));
  500. items.add(new ItemInfo("Orange Dye", new String[][] {{"dye","ora"}}, 351, (short) 14 ));
  501. items.add(new ItemInfo("Bone Meal", new String[][] {{"dye","whi"}, {"bonem"},{"bone","me"}}, 351, (short) 15 ));
  502. items.add(new ItemInfo("Bone", new String[][] {{"bone"}}, 352, (short) 0 ));
  503. items.add(new ItemInfo("Sugar", new String[][] {{"suga"}}, 353, (short) 0 ));
  504. items.add(new ItemInfo("Cake", new String[][] {{"cake"}}, 354, (short) 0 ));
  505. items.add(new ItemInfo("Bed", new String[][] {{"bed"}}, 355, (short) 0 ));
  506. items.add(new ItemInfo("Redstone Repeater", new String[][] {{"rep"},{"rep","red"},{"rep","ston","red"}}, 356, (short) 0 ));
  507. items.add(new ItemInfo("Cookie", new String[][] {{"cooki"}}, 357, (short) 0 ));
  508. items.add(new ItemInfo("Map", new String[][] {{"map"}}, 358, (short) 0 ));
  509. items.add(new ItemInfo("Shears", new String[][] {{"shear"}}, 359, (short) 0 ));
  510. items.add(new ItemInfo("Melon Slice", new String[][] {{"melo","sli"}}, 360, (short) 0 ));
  511. items.add(new ItemInfo("Pumpkin Seeds", new String[][] {{"pump","seed"}}, 361, (short) 0 ));
  512. items.add(new ItemInfo("Melon Seeds", new String[][] {{"melo","seed"}}, 362, (short) 0 ));
  513. items.add(new ItemInfo("Raw Beef", new String[][] {{"beef","raw"},{"beef"}}, 363, (short) 0 ));
  514. items.add(new ItemInfo("Steak", new String[][] {{"beef","cook"},{"steak"}}, 364, (short) 0 ));
  515. items.add(new ItemInfo("Raw Chic