public static short getAnyDataShort(String objectString, String enumValue) throws IllegalArgumentException { // Firstly, can the string be cast directly as a short? try { Short s = Short.parseShort(enumValue); return s; } catch (NumberFormatException ex) { } // If not, test the enum if (objectString.equalsIgnoreCase("LOG") || objectString.equalsIgnoreCase("LEAVES") || objectString.equalsIgnoreCase("SAPLING")) { return (short) TreeSpecies.valueOf(enumValue).getData(); } else if (objectString.equalsIgnoreCase("WOOL") || objectString.equalsIgnoreCase("CREATURE_SHEEP")) { return (short) DyeColor.valueOf(enumValue).getData(); } else if (objectString.equalsIgnoreCase("INK_SACK")) { return (short) (0xF - DyeColor.valueOf(enumValue).getData()); } else if (objectString.equalsIgnoreCase("COAL")) { return (short) (CoalType.valueOf(enumValue).getData()); } else if (objectString.equalsIgnoreCase("CROPS")) { return (short) (CropState.valueOf(enumValue).getData()); } else if (objectString.equalsIgnoreCase("STEP") || objectString.equalsIgnoreCase("DOUBLE_STEP")) { if (enumValue.equalsIgnoreCase("STONE")) return 0; else if (enumValue.equalsIgnoreCase("SANDSTONE")) return 1; else if (enumValue.equalsIgnoreCase("WOOD")) return 2; else if (enumValue.equalsIgnoreCase("COBBLESTONE")) return 3; else throw new IllegalArgumentException(); } else if (objectString.equalsIgnoreCase("CREATURE_PIG")) { if (enumValue.equalsIgnoreCase("UNSADDLED")) return 0; else if (enumValue.equalsIgnoreCase("SADDLED")) return 1; else throw new IllegalArgumentException(); } else if (objectString.equalsIgnoreCase("CREATURE_CREEPER")) { if (enumValue.equalsIgnoreCase("UNPOWERED")) return 0; else if (enumValue.equalsIgnoreCase("POWERED")) return 1; else throw new IllegalArgumentException(); } else if (objectString.equalsIgnoreCase("CREATURE_WOLF")) { if (enumValue.equalsIgnoreCase("NEUTRAL")) return 0; else if (enumValue.equalsIgnoreCase("TAME")) return 1; else if (enumValue.equalsIgnoreCase("TAMED")) return 1; else if (enumValue.equalsIgnoreCase("ANGRY")) return 2; else throw new IllegalArgumentException(); } else if (objectString.equalsIgnoreCase("CREATURE_SLIME")) { if (enumValue.equalsIgnoreCase("TINY")) return 1; else if (enumValue.equalsIgnoreCase("SMALL")) return 2; else if (enumValue.equalsIgnoreCase("BIG")) return 3; else if (enumValue.equalsIgnoreCase("HUGE")) return 4; else throw new IllegalArgumentException(); } else { return 0; } }
public static int matchItemData(int id, String filter) { // Missing some key code, need to be finished sometime in future. try { return Integer.parseInt(filter); } catch (NumberFormatException ignored) { } if (Material.WOOD.getId() == id) { for (TreeSpecies search : TreeSpecies.values()) { if (filter.equalsIgnoreCase(search.toString())) { return search.getData(); } } return 0; } else if (Material.WOOL.getId() == id) { for (DyeColor search : DyeColor.values()) { if (filter.equalsIgnoreCase(search.toString())) { return search.getWoolData(); } } return 0; } else if (Material.INK_SACK.getId() == id) { for (DyeColor search : DyeColor.values()) { if (filter.equalsIgnoreCase(search.toString())) { return search.getDyeData(); } } return 0; } else if (Material.STEP.getId() == id) { Step s = new Step(); for (Material search : s.getTextures()) { if (filter.equalsIgnoreCase(search.toString())) { return s.getTextures().indexOf(search); } } return 0; } else if (Material.DOUBLE_STEP.getId() == id) { Step s = new Step(); for (Material search : s.getTextures()) { if (filter.equalsIgnoreCase(search.toString())) { return s.getTextures().indexOf(search); } } return 0; } else if (Material.SMOOTH_BRICK.getId() == id) { SmoothBrick s = new SmoothBrick(); for (Material search : s.getTextures()) { if (filter.equalsIgnoreCase(search.toString())) { return s.getTextures().indexOf(search); } } return 0; } return 0; }