mirror of
https://github.com/libraryaddict/LibsDisguises.git
synced 2025-02-23 02:51:30 +01:00
Check for nullsy
This commit is contained in:
parent
c2d7bf96b3
commit
fcf965ecad
@ -45,14 +45,21 @@ public abstract class ParamInfo<T> {
|
|||||||
|
|
||||||
this.possibleValues = new LinkedHashMap<>();
|
this.possibleValues = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
// Pointless to trigger an error if it doesn't matter
|
||||||
|
if (possibleValues.length == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (paramClass.isEnum()) {
|
if (paramClass.isEnum()) {
|
||||||
for (T anEnum : possibleValues) {
|
for (T anEnum : possibleValues) {
|
||||||
this.getValues().put(((Enum) anEnum).name(), anEnum);
|
this.getValues().put(((Enum) anEnum).name(), anEnum);
|
||||||
}
|
}
|
||||||
} else {
|
} else if (Keyed.class.isAssignableFrom(paramClass)) {
|
||||||
for (T anEnum : possibleValues) {
|
for (T anEnum : possibleValues) {
|
||||||
this.getValues().put(((Keyed) anEnum).getKey().getKey(), anEnum);
|
this.getValues().put(((Keyed) anEnum).getKey().getKey(), anEnum);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("The param class " + paramClass + " is not an enum and is not an instanceof Keyed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import me.libraryaddict.disguise.utilities.parser.DisguiseParseException;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Keyed;
|
import org.bukkit.Keyed;
|
||||||
|
|
||||||
|
import java.lang.reflect.Array;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -12,8 +13,9 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class ParamInfoEnum<T> extends ParamInfo<T> {
|
public class ParamInfoEnum<T> extends ParamInfo<T> {
|
||||||
public ParamInfoEnum(Class<T> paramClass, String name, String description) {
|
public ParamInfoEnum(Class<T> paramClass, String name, String description) {
|
||||||
super(paramClass, name, name, description,
|
super(paramClass, name, name, description, paramClass.isEnum() ? paramClass.getEnumConstants() :
|
||||||
paramClass.isEnum() ? paramClass.getEnumConstants() : (T[]) Bukkit.getRegistry((Class<Keyed>) paramClass).stream().toArray());
|
(T[]) (Bukkit.getServer() == null ? Array.newInstance(paramClass, 0) :
|
||||||
|
Bukkit.getRegistry((Class<Keyed>) paramClass).stream().toArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ParamInfoEnum(Class paramClass, String name, String valueType, String description, T[] possibleValues) {
|
public ParamInfoEnum(Class paramClass, String name, String valueType, String description, T[] possibleValues) {
|
||||||
|
Loading…
Reference in New Issue
Block a user