use of net.minecraft.nbt.NBTTagDouble in project Railcraft by Railcraft.
the class SchematicEntity method newDoubleNBTList.
protected NBTTagList newDoubleNBTList(double... par1ArrayOfDouble) {
NBTTagList nbttaglist = new NBTTagList();
double[] adouble = par1ArrayOfDouble;
int i = par1ArrayOfDouble.length;
for (int j = 0; j < i; ++j) {
double d1 = adouble[j];
nbttaglist.appendTag(new NBTTagDouble(d1));
}
return nbttaglist;
}
use of net.minecraft.nbt.NBTTagDouble 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.NBTTagDouble 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());
}
}
use of net.minecraft.nbt.NBTTagDouble in project NetherEx by LogicTechCorp.
the class WorldGenUtil method addEntitiesToWorld.
private static void addEntitiesToWorld(World world, BlockPos pos, PlacementSettings placementSettings, List<Template.EntityInfo> entities, StructureBoundingBox boundingBox) {
for (Template.EntityInfo entityInfo : entities) {
BlockPos blockPos = Template.transformedBlockPos(placementSettings, entityInfo.blockPos).add(pos);
if (boundingBox == null || boundingBox.isVecInside(blockPos)) {
NBTTagCompound compound = entityInfo.entityData;
Vec3d vec3d = transformedVec3d(entityInfo.pos, placementSettings.getMirror(), placementSettings.getRotation());
Vec3d vec3d1 = vec3d.addVector((double) pos.getX(), (double) pos.getY(), (double) pos.getZ());
NBTTagList tagList = new NBTTagList();
tagList.appendTag(new NBTTagDouble(vec3d1.xCoord));
tagList.appendTag(new NBTTagDouble(vec3d1.yCoord));
tagList.appendTag(new NBTTagDouble(vec3d1.zCoord));
compound.setTag("Pos", tagList);
compound.setUniqueId("UUID", UUID.randomUUID());
Entity entity;
try {
entity = EntityList.createEntityFromNBT(compound, world);
} catch (Exception var15) {
entity = null;
}
if (entity != null) {
if (entity instanceof EntityPigtificateLeader) {
entity = new EntityPigtificateLeader(world);
} else if (entity instanceof EntityPigtificate) {
entity = new EntityPigtificate(world);
}
float f = entity.getMirroredYaw(placementSettings.getMirror());
f = f + (entity.rotationYaw - entity.getRotatedYaw(placementSettings.getRotation()));
entity.setLocationAndAngles(vec3d1.xCoord, vec3d1.yCoord, vec3d1.zCoord, f, entity.rotationPitch);
world.spawnEntity(entity);
}
}
}
}
Aggregations