package tv.mineinthebox.essentials.helpers;
import org.bukkit.Material;
public class MaterialHelper {
@SuppressWarnings("deprecation")
public static boolean isMaterial(String serialized, String splitter, boolean lores) {
String[] args = serialized.split(splitter);
if(lores) {
if(args.length < 3) { //is Material:lores.
try {
Material.valueOf(args[0].toUpperCase().replaceAll(" ", "_"));
return true;
} catch(IllegalArgumentException e) {
return false;
}
} else if(args.length >= 3) { //is number:??:lores
Material mat = Material.getMaterial(Integer.parseInt(args[0]));
return (mat != null ? true : false);
}
} else {
if(args.length == 1) {
try {
Material.valueOf(args[0].toUpperCase().replaceAll(" ", "_"));
return true;
} catch(IllegalArgumentException e) {
return false;
}
} else if(args.length == 2) {
Material mat = Material.getMaterial(Integer.parseInt(args[0]));
return (mat != null ? true : false);
}
}
return false;
}
@SuppressWarnings("deprecation")
public static Material getMaterial(String serialized, String splitter, boolean lores) {
String[] args = serialized.split(splitter);
if(lores) {
if(args.length < 3) { //is Material:lores.
try {
return Material.valueOf(args[0].toUpperCase().replaceAll(" ", "_"));
} catch(IllegalArgumentException e) {
return null;
}
} else if(args.length >= 3) { //is number:??:lores
return Material.getMaterial(Integer.parseInt(args[0]));
}
} else {
if(args.length == 1) {
try {
return Material.valueOf(args[0].toUpperCase().replaceAll(" ", "_"));
} catch(IllegalArgumentException e) {
return null;
}
} else if(args.length == 2) {
if(args[0].matches("[0-9]+")) {
return Material.getMaterial(Integer.parseInt(args[0]));
} else {
return Material.getMaterial(args[0].toUpperCase().replaceAll(" ", "_"));
}
}
}
return null;
}
public static short getSubData(String serialized, String splitter, boolean lores) {
String[] args = serialized.split(splitter);
if(lores) {
if(args.length < 3) {
return Short.parseShort(args[1]);
} else if(args.length >= 3) {
return Short.parseShort(args[1]);
}
} else {
if(args.length == 1) {
return (short)0;
} else if(args.length == 2) {
return Short.parseShort(args[1]);
}
}
return (short)0;
}
}