LibsDisguises/src/main/java/me/libraryaddict/disguise/utilities/parser/params/types/custom/ParamInfoItemStackArray.java

57 lines
1.5 KiB
Java
Raw Normal View History

package me.libraryaddict.disguise.utilities.parser.params.types.custom;
import org.bukkit.inventory.ItemStack;
import java.util.LinkedHashSet;
import java.util.Set;
/**
* Created by libraryaddict on 7/09/2018.
*/
public class ParamInfoItemStackArray extends ParamInfoItemStack {
public ParamInfoItemStackArray(Class paramClass, String name, String valueType, String description,
Enum[] possibleValues) {
super(paramClass, name, valueType, description, possibleValues);
}
@Override
public boolean canReturnNull() {
return false;
}
@Override
public Set<String> getEnums(String tabComplete) {
String beginning = tabComplete.substring(0, tabComplete.contains(",") ? tabComplete.lastIndexOf(",") + 1 : 0);
String end = tabComplete.substring(tabComplete.contains(",") ? tabComplete.lastIndexOf(",") + 1 : 0);
Set<String> toReturn = new LinkedHashSet<>();
for (String material : super.getEnums(null)) {
if (!material.toLowerCase().startsWith(end.toLowerCase()))
continue;
toReturn.add(beginning + material);
}
return toReturn;
}
@Override
public Object fromString(String string) {
String[] split = string.split(",", -1);
if (split.length != 4) {
return null;
}
// Parse to itemstack array
ItemStack[] items = new ItemStack[4];
for (int a = 0; a < 4; a++) {
2018-09-23 01:02:53 +02:00
items[a] = parseToItemstack(split[a].split(":"));
}
return items;
}
}