@Fetchable("m") public static dMaterial valueOf(String string, TagContext context) { string = string.toUpperCase(); if (string.startsWith("M@")) { string = string.substring("M@".length()); } if (string.equals("RANDOM")) { return getMaterialFrom(Material.values()[CoreUtilities.getRandom().nextInt(Material.values().length)]); } int index = string.indexOf(','); if (index < 0) { index = string.indexOf(':'); } int data = 0; if (index >= 0) { data = aH.getIntegerFrom(string.substring(index + 1)); string = string.substring(0, index); } Material m = Material.getMaterial(string); if (m != null) { return getMaterialFrom(m, data); } dMaterial mat = all_dMaterials.get(string); if (mat != null) { if (data == 0) { return mat; } return getMaterialFrom(mat.material, data); } int matid = aH.getIntegerFrom(string); if (matid != 0) { m = Material.getMaterial(matid); if (m != null) { return getMaterialFrom(m, data); } } return null; }