@Override public void readFromNBT(NBTTagCompound filedata) { for (Object obj : filedata.func_150296_c()) { if (obj instanceof NBTTagList) { NBTTagList entry = (NBTTagList) obj; String name = entry.toString(); // TODO See if this is equivilent to 1.6's getName function ItemStack[] saveinv = new ItemStack[6]; if (entry.tagCount() > 0) { for (int j = 0; j < entry.tagCount(); j++) { NBTTagCompound obj1 = entry.getCompoundTagAt(j); if (obj1 instanceof NBTTagCompound) { NBTTagCompound dat = (NBTTagCompound) obj1; int i = (dat.getByte("Slot")) & 7; if (i >= 6) { System.out.println("GCInv error retrieving savefile: slot was outside range 0-5"); return; } saveinv[i] = ItemStack.loadItemStackFromNBT(dat); } } } CommandGCInv.savedata.put(name.toLowerCase(), saveinv); } } }
public void setData(TileEntity te, boolean force, NBTTagCompound NBT) { if (dispatch) { if (DragonOptions.LOGSYNCCME.getState()) { DragonAPICore.log("The sync packet for " + te + " would have just CME'd, as the"); DragonAPICore.log( "Server-Thread data-writing code has overlapped with the Network-Thread byte[] dispatch."); DragonAPICore.log("Seeing this message frequently could indicate a serious issue.\n"); } return; } field_148863_a = te.xCoord; field_148861_b = te.yCoord; field_148862_c = te.zCoord; changes.clear(); Collection c = NBT.func_150296_c(); Iterator<String> it = c.iterator(); while (it.hasNext()) { String name = it.next(); if (name == null) { DragonAPICore.logError( "An NBT tag with a null key is being sent to the sync packet from " + te); } else { NBTBase tag = NBT.getTag(name); this.addData(name, tag, force); } } }
public static void combineNBT(NBTTagCompound tag1, NBTTagCompound tag2) { if (tag2 == null || tag2.hasNoTags()) return; for (Object o : tag2.func_150296_c()) { String s = (String) o; NBTBase key = tag2.getTag(s); tag1.setTag(s, key.copy()); } }
public static DataCompound create(final NBTTagCompound nbt) { final DataCompound compound = new DataCompound(); for (final Object key : nbt.func_150296_c()) try { compound.set((String) key, create(nbt.getTag((String) key))); } catch (final Exception e) { } return compound; }
private void populateFromStream(NBTTagCompound received) { Collection c = received.func_150296_c(); Iterator<String> it = c.iterator(); while (it.hasNext()) { String name = it.next(); NBTBase tag = received.getTag(name); data.put(name, tag); } }
public Entity func_98265_a(Entity p_98265_1_) { if (this.getRandomMinecart() != null) { NBTTagCompound var2 = new NBTTagCompound(); p_98265_1_.writeToNBTOptional(var2); Iterator var3 = this.getRandomMinecart().field_98222_b.func_150296_c().iterator(); while (var3.hasNext()) { String var4 = (String) var3.next(); NBTBase var5 = this.getRandomMinecart().field_98222_b.getTag(var4); var2.setTag(var4, var5.copy()); } p_98265_1_.readFromNBT(var2); if (p_98265_1_.worldObj != null) { p_98265_1_.worldObj.spawnEntityInWorld(p_98265_1_); } NBTTagCompound var11; for (Entity var10 = p_98265_1_; var2.func_150297_b("Riding", 10); var2 = var11) { var11 = var2.getCompoundTag("Riding"); Entity var12 = EntityList.createEntityByName(var11.getString("id"), p_98265_1_.worldObj); if (var12 != null) { NBTTagCompound var6 = new NBTTagCompound(); var12.writeToNBTOptional(var6); Iterator var7 = var11.func_150296_c().iterator(); while (var7.hasNext()) { String var8 = (String) var7.next(); NBTBase var9 = var11.getTag(var8); var6.setTag(var8, var9.copy()); } var12.readFromNBT(var6); var12.setLocationAndAngles( var10.posX, var10.posY, var10.posZ, var10.rotationYaw, var10.rotationPitch); if (p_98265_1_.worldObj != null) { p_98265_1_.worldObj.spawnEntityInWorld(var12); } var10.mountEntity(var12); } var10 = var12; } } else if (p_98265_1_ instanceof EntityLivingBase && p_98265_1_.worldObj != null) { ((EntityLiving) p_98265_1_).onSpawnWithEgg((IEntityLivingData) null); this.getSpawnerWorld().spawnEntityInWorld(p_98265_1_); } return p_98265_1_; }
public static ArrayList<String> parseNBTAsLines(NBTTagCompound nbt) { ArrayList<String> li = new ArrayList(); Iterator<NBTBase> it = nbt.func_150296_c().iterator(); for (Object o : nbt.func_150296_c()) { String key = (String) o; NBTBase b = nbt.getTag(key); /* if (b instanceof NBTTagByteArray) { li.add(b.getName()+": "+Arrays.toString(((NBTTagByteArray)b).byteArray)); } else if (b instanceof NBTTagIntArray) { li.add(b.getName()+": "+Arrays.toString(((NBTTagIntArray)b).intArray)); } else if (b instanceof NBTTagCompound) { li.add(EnumChatFormatting.GOLD+b.getName()+": "+b.toString()); } else { li.add(b.getName()+": "+b.toString()); }*/ li.add(key + ": " + b.toString()); } return li; }
public ItemStack getOutput(ItemStack in, Random R) { ItemStack is = getOutput(R); if (is != null && this.keepNBT) { if (is.hasTagCompound()) { NBTTagCompound nbt = is.getTagCompound(); for (Object o : in.getTagCompound().func_150296_c()) { NBTBase n = (NBTBase) o; if (nbt.hasKey(n.toString())) nbt.removeTag(n.toString()); nbt.func_150296_c().add(o); } } else { is.setTagCompound(in.stackTagCompound); if (TFC_ItemHeat.HasTemp(is)) TFC_ItemHeat.SetTemp(is, TFC_ItemHeat.GetTemp(is) * 0.9f); } } return is; }
public void readFromFile() { try { String saveFolder = CoroUtilFile.getWorldSaveFolderPath() + CoroUtilFile.getWorldFolderName() + "epoch" + File.separator; if ((new File(saveFolder + "EpochBlockDataDim_" + world.provider.dimensionId + ".dat")) .exists()) { NBTTagCompound data = CompressedStreamTools.readCompressed( new FileInputStream( saveFolder + "EpochBlockDataDim_" + world.provider.dimensionId + ".dat")); // Collection playerDataCl = data.getTags(); Iterator it = data.func_150296_c().iterator(); // playerDataCl.iterator(); while (it.hasNext()) { String keyName = (String) it.next(); NBTTagCompound nbt = data.getCompoundTag(keyName); BlockDataPoint bdp = this.getBlockDataFromNBT( nbt.getInteger("xCoord"), nbt.getInteger("yCoord"), nbt.getInteger("zCoord"), nbt); if (bdp != null) { bdp.readFromNBT(nbt); } else { // must have been set to air at some point... } } } } catch (Exception ex) { ex.printStackTrace(); } }
public static void clearTagCompound(NBTTagCompound dat) { Collection<String> tags = new ArrayList(dat.func_150296_c()); for (String tag : tags) { dat.removeTag(tag); } }