/**
* Converts a {@link JsonElement} into an {@link NBTBase}
*
* @param element the {@link JsonElement} to convert
* @return the converted {@link NBTBase}
*/
public static NBTBase toNBTElement(JsonElement element) {
if (element.isJsonArray()) {
NBTTagList list = new NBTTagList();
for (JsonElement elem : element.getAsJsonArray()) list.appendTag(toNBTElement(elem));
return list;
}
else if (element.isJsonObject()) {
NBTTagCompound compound = new NBTTagCompound();
for (Map.Entry<String, JsonElement> entry : element.getAsJsonObject().entrySet()) compound.setTag(entry.getKey(), toNBTElement(entry.getValue()));
return compound;
}
else if (element.isJsonPrimitive() && element.getAsJsonPrimitive().isNumber()) {
Number num = element.getAsJsonPrimitive().getAsNumber();
if (num instanceof Byte) return new NBTTagByte(num.byteValue());
else if (num instanceof Short) return new NBTTagShort(num.shortValue());
else if (num instanceof Integer) return new NBTTagInt(num.intValue());
else if (num instanceof Long) return new NBTTagLong(num.longValue());
else if (num instanceof Float) return new NBTTagFloat(num.floatValue());
else if (num instanceof Double) return new NBTTagDouble(num.doubleValue());
else return new NBTTagDouble(num.doubleValue());
}
else if (element.isJsonPrimitive() && element.getAsJsonPrimitive().isString())
return new NBTTagString(element.getAsJsonPrimitive().getAsString());
else return null;
}
NBTSettingsManager.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:morecommands
作者:
评论列表
文章目录