use of net.minecraft.nbt.NBTBase in project BetterStorage by copygirl.
the class NbtUtils method createCompound.
public static NBTTagCompound createCompound(Object... nameValuePairs) {
NBTTagCompound compound = new NBTTagCompound();
for (int i = 0; i < nameValuePairs.length; i += 2) {
String key = (String) nameValuePairs[i];
Object value = nameValuePairs[i + 1];
compound.setTag(key, (value instanceof NBTBase) ? (NBTBase) value : createTag(value));
}
return compound;
}
use of net.minecraft.nbt.NBTBase in project LogisticsPipes by RS485.
the class LogisticsSecurityTileEntity method readFromNBT.
@Override
public void readFromNBT(NBTTagCompound par1nbtTagCompound) {
super.readFromNBT(par1nbtTagCompound);
if (par1nbtTagCompound.hasKey("UUID")) {
secId = UUID.fromString(par1nbtTagCompound.getString("UUID"));
}
allowCC = par1nbtTagCompound.getBoolean("allowCC");
allowAutoDestroy = par1nbtTagCompound.getBoolean("allowAutoDestroy");
inv.readFromNBT(par1nbtTagCompound);
settingsList.clear();
NBTTagList list = par1nbtTagCompound.getTagList("settings", 10);
while (list.tagCount() > 0) {
NBTBase base = list.removeTag(0);
String name = ((NBTTagCompound) base).getString("name");
NBTTagCompound value = ((NBTTagCompound) base).getCompoundTag("content");
SecuritySettings settings = new SecuritySettings(name);
settings.readFromNBT(value);
settingsList.put(name, settings);
}
excludedCC.clear();
list = par1nbtTagCompound.getTagList("excludedCC", 3);
while (list.tagCount() > 0) {
NBTBase base = list.removeTag(0);
excludedCC.add(((NBTTagInt) base).func_150287_d());
}
}
use of net.minecraft.nbt.NBTBase in project LogisticsPipes by RS485.
the class DebugHelper method addNBTToTree.
@SuppressWarnings("rawtypes")
private void addNBTToTree(NBTBase nbt, DefaultMutableTreeNode node) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
if (nbt == null) {
return;
}
if (nbt instanceof NBTTagByte) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagByte");
type.add(new DefaultMutableTreeNode("Data: " + ((NBTTagByte) nbt).func_150290_f()));
node.add(type);
} else if (nbt instanceof NBTTagByteArray) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagByteArray");
DefaultMutableTreeNode content = new DefaultMutableTreeNode("Data");
int i = 0;
for (byte byt : ((NBTTagByteArray) nbt).func_150292_c()) {
content.add(new DefaultMutableTreeNode("[" + i + "]: " + Byte.toString(byt)));
i++;
}
node.add(content);
node.add(type);
} else if (nbt instanceof NBTTagDouble) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagDouble");
type.add(new DefaultMutableTreeNode("Data: " + ((NBTTagDouble) nbt).func_150286_g()));
node.add(type);
} else if (nbt instanceof NBTTagFloat) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagFloat");
type.add(new DefaultMutableTreeNode("Data: " + ((NBTTagFloat) nbt).func_150288_h()));
node.add(type);
} else if (nbt instanceof NBTTagInt) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagInt");
type.add(new DefaultMutableTreeNode("Data: " + ((NBTTagInt) nbt).func_150287_d()));
node.add(type);
} else if (nbt instanceof NBTTagIntArray) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagIntArray");
DefaultMutableTreeNode content = new DefaultMutableTreeNode("Data");
int i = 0;
for (int byt : ((NBTTagIntArray) nbt).func_150302_c()) {
content.add(new DefaultMutableTreeNode("[" + i + "]: " + byt));
i++;
}
type.add(content);
node.add(type);
} else if (nbt instanceof NBTTagList) {
List internal = ((NBTTagList) nbt).tagList;
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagList");
DefaultMutableTreeNode content = new DefaultMutableTreeNode("Data");
int i = 0;
for (Object object : internal) {
if (object instanceof NBTBase) {
DefaultMutableTreeNode nbtNode = new DefaultMutableTreeNode("[" + i + "]");
addNBTToTree((NBTBase) object, nbtNode);
content.add(nbtNode);
i++;
}
}
type.add(content);
node.add(type);
} else if (nbt instanceof NBTTagCompound) {
Map internal = ((NBTTagCompound) nbt).tagMap;
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagCompound");
DefaultMutableTreeNode content = new DefaultMutableTreeNode("Data");
for (Object objectKey : internal.keySet()) {
if (internal.get(objectKey) instanceof NBTBase) {
DefaultMutableTreeNode nbtNode = new DefaultMutableTreeNode(objectKey);
addNBTToTree((NBTBase) internal.get(objectKey), nbtNode);
content.add(nbtNode);
}
}
type.add(content);
node.add(type);
} else if (nbt instanceof NBTTagLong) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagLong");
type.add(new DefaultMutableTreeNode("Data: " + ((NBTTagLong) nbt).func_150291_c()));
node.add(type);
} else if (nbt instanceof NBTTagShort) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagShort");
type.add(new DefaultMutableTreeNode("Data: " + ((NBTTagShort) nbt).func_150289_e()));
node.add(type);
} else if (nbt instanceof NBTTagString) {
DefaultMutableTreeNode type = new DefaultMutableTreeNode("NBTTagString");
type.add(new DefaultMutableTreeNode("Data: '" + ((NBTTagString) nbt).func_150285_a_() + "'"));
node.add(type);
} else {
throw new UnsupportedOperationException("Unsupported NBTBase of type:" + nbt.getClass().getName());
}
}
use of net.minecraft.nbt.NBTBase in project LogisticsPipes by RS485.
the class CCObjectWrapper method getWrappedObject.
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Object getWrappedObject(Object input, final ICommandWrapper wrapper) {
if (input instanceof Object[]) {
Object[] array = (Object[]) input;
for (int i = 0; i < array.length; i++) {
array[i] = CCObjectWrapper.getWrappedObject(array[i], wrapper);
}
return array;
} else if (input instanceof List) {
List list = (List) input;
Map map = new HashMap();
for (int i = 0; i < list.size(); i++) {
map.put((i + 1), CCObjectWrapper.getWrappedObject(list.get(i), wrapper));
}
return map;
} else if (input instanceof Map) {
Map oldMap = (Map) input;
Map map = new HashMap();
for (Object key : oldMap.keySet()) {
map.put(CCObjectWrapper.getWrappedObject(key, wrapper), CCObjectWrapper.getWrappedObject(oldMap.get(key), wrapper));
}
return map;
} else if (input instanceof NBTBase) {
try {
return ItemIdentifier.getNBTBaseAsMap((NBTBase) input);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
return CCObjectWrapper.checkForAnnotations(input, wrapper);
}
use of net.minecraft.nbt.NBTBase in project LogisticsPipes by RS485.
the class ItemIdentifier method getNBTBaseAsMap.
@SuppressWarnings("rawtypes")
public static Map<Object, Object> getNBTBaseAsMap(NBTBase nbt) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
if (nbt == null) {
return null;
}
if (nbt instanceof NBTTagByte) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagByte");
map.put("value", ((NBTTagByte) nbt).func_150290_f());
return map;
} else if (nbt instanceof NBTTagByteArray) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagByteArray");
map.put("value", ItemIdentifier.getArrayAsMap(((NBTTagByteArray) nbt).func_150292_c()));
return map;
} else if (nbt instanceof NBTTagDouble) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagDouble");
map.put("value", ((NBTTagDouble) nbt).func_150286_g());
return map;
} else if (nbt instanceof NBTTagFloat) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagFloat");
map.put("value", ((NBTTagFloat) nbt).func_150288_h());
return map;
} else if (nbt instanceof NBTTagInt) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagInt");
map.put("value", ((NBTTagInt) nbt).func_150287_d());
return map;
} else if (nbt instanceof NBTTagIntArray) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagIntArray");
map.put("value", ItemIdentifier.getArrayAsMap(((NBTTagIntArray) nbt).func_150302_c()));
return map;
} else if (nbt instanceof NBTTagList) {
List internal = ((NBTTagList) nbt).tagList;
HashMap<Integer, Object> content = new HashMap<>();
int i = 1;
for (Object object : internal) {
if (object instanceof NBTBase) {
content.put(i, ItemIdentifier.getNBTBaseAsMap((NBTBase) object));
}
i++;
}
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagList");
map.put("value", content);
return map;
} else if (nbt instanceof NBTTagCompound) {
Map internal = ((NBTTagCompound) nbt).tagMap;
HashMap<Object, Object> content = new HashMap<>();
HashMap<Integer, Object> keys = new HashMap<>();
int i = 1;
for (Object object : internal.entrySet()) {
Entry e = (Entry) object;
if (e.getValue() instanceof NBTBase) {
content.put(e.getKey(), ItemIdentifier.getNBTBaseAsMap((NBTBase) e.getValue()));
keys.put(i, e.getKey());
}
i++;
}
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagCompound");
map.put("value", content);
map.put("keys", keys);
return map;
} else if (nbt instanceof NBTTagLong) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagLong");
map.put("value", ((NBTTagLong) nbt).func_150291_c());
return map;
} else if (nbt instanceof NBTTagShort) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagShort");
map.put("value", ((NBTTagShort) nbt).func_150287_d());
return map;
} else if (nbt instanceof NBTTagString) {
HashMap<Object, Object> map = new HashMap<>();
map.put("type", "NBTTagString");
map.put("value", ((NBTTagString) nbt).func_150285_a_());
return map;
} else {
throw new UnsupportedOperationException("Unsupported NBTBase of type:" + nbt.getClass().getName());
}
}
Aggregations