public static void storeChunkInCompound(Chunk chunk, World world, NBTTagCompound nbttagcompound) { world.checkSessionLock(); nbttagcompound.setInteger("xPos", chunk.xPosition); nbttagcompound.setInteger("zPos", chunk.zPosition); nbttagcompound.setLong("LastUpdate", world.getWorldTime()); nbttagcompound.setByteArray("Blocks", chunk.blocks); nbttagcompound.setByteArray("Data", chunk.data.data); nbttagcompound.setByteArray("SkyLight", chunk.skylightMap.data); nbttagcompound.setByteArray("BlockLight", chunk.blocklightMap.data); nbttagcompound.setByteArray("HeightMap", chunk.heightMap); nbttagcompound.setBoolean("TerrainPopulated", chunk.isTerrainPopulated); chunk.hasEntities = false; var nbttaglist = new NBTTagList(); for (int i = 0; i < chunk.entities.Length; i++) { Iterator iterator = chunk.entities[i].iterator(); do { if (!iterator.hasNext()) { goto label0; } var entity = (Entity)iterator.next(); chunk.hasEntities = true; var nbttagcompound1 = new NBTTagCompound(); if (entity.addEntityID(nbttagcompound1)) { nbttaglist.setTag(nbttagcompound1); } } while (true); } label0: nbttagcompound.setTag("Entities", nbttaglist); var nbttaglist1 = new NBTTagList(); NBTTagCompound nbttagcompound2; for (Iterator iterator1 = chunk.chunkTileEntityMap.values().iterator(); iterator1.hasNext(); nbttaglist1.setTag(nbttagcompound2)) { var tileentity = (TileEntity)iterator1.next(); nbttagcompound2 = new NBTTagCompound(); tileentity.writeToNBT(nbttagcompound2); } nbttagcompound.setTag("TileEntities", nbttaglist1); }
public void saveChunk(World world, Chunk chunk) { world.checkSessionLock(); File file = chunkFileForXZ(chunk.xPosition, chunk.zPosition); if (file.exists()) { WorldInfo worldinfo = world.getWorldInfo(); worldinfo.func_22177_b(worldinfo.func_22182_g() - file.length()); } try { var file1 = new File(saveDir, "tmp_chunk.dat"); var fileoutputstream = new FileOutputStream(file1); var nbttagcompound = new NBTTagCompound(); var nbttagcompound1 = new NBTTagCompound(); nbttagcompound.setTag("Level", nbttagcompound1); storeChunkInCompound(chunk, world, nbttagcompound1); CompressedStreamTools.writeGzippedCompoundToOutputStream(nbttagcompound, fileoutputstream); fileoutputstream.close(); if (file.exists()) { file.delete(); } file1.renameTo(file); WorldInfo worldinfo1 = world.getWorldInfo(); worldinfo1.func_22177_b(worldinfo1.func_22182_g() + file.length()); } catch (Exception exception) { exception.printStackTrace(); } }
public virtual void func_22094_a(WorldInfo worldinfo) { NBTTagCompound nbttagcompound = worldinfo.func_22185_a(); var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setTag("Data", nbttagcompound); try { var file = new File(field_22099_b, "level.dat_new"); var file1 = new File(field_22099_b, "level.dat_old"); var file2 = new File(field_22099_b, "level.dat"); CompressedStreamTools.writeGzippedCompoundToOutputStream(nbttagcompound1, new FileOutputStream(file)); if (file1.exists()) { file1.delete(); } file2.renameTo(file1); if (file2.exists()) { file2.delete(); } file.renameTo(file2); if (file.exists()) { file.delete(); } } catch (Exception exception) { exception.printStackTrace(); } }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setInteger("Type", minecartType); if (minecartType == 2) { nbttagcompound.setDouble("PushX", pushX); nbttagcompound.setDouble("PushZ", pushZ); nbttagcompound.setShort("Fuel", (short)fuel); } else if (minecartType == 1) { var nbttaglist = new NBTTagList(); for (int i = 0; i < cargoItems.Length; i++) { if (cargoItems[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte)i); cargoItems[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); } }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { base.writeEntityToNBT(nbttagcompound); nbttagcompound.setTag("Inventory", inventory.writeToNBT(new NBTTagList())); nbttagcompound.setInteger("Dimension", dimension); nbttagcompound.setBoolean("Sleeping", sleeping); nbttagcompound.setShort("SleepTimer", (short)sleepTimer); }
public virtual void writeToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setTag("Pos", newDoubleNBTList(new[] { posX, posY, posZ })); nbttagcompound.setTag("Motion", newDoubleNBTList(new[] { motionX, motionY, motionZ })); nbttagcompound.setTag("Rotation", newFloatNBTList(new[] { rotationYaw, rotationPitch })); nbttagcompound.setFloat("FallDistance", fallDistance); nbttagcompound.setShort("Fire", (short)fire); nbttagcompound.setShort("Air", (short)air); nbttagcompound.setBoolean("OnGround", onGround); writeEntityToNBT(nbttagcompound); }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); var nbttaglist = new NBTTagList(); for (int i = 0; i < dispenserContents.Length; i++) { if (dispenserContents[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte)i); dispenserContents[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); }
public void saveChunk(World world, Chunk chunk) { world.checkSessionLock(); try { DataOutputStream dataoutputstream = RegionFileCache.func_22120_d(field_22110_a, chunk.xPosition, chunk.zPosition); var nbttagcompound = new NBTTagCompound(); var nbttagcompound1 = new NBTTagCompound(); nbttagcompound.setTag("Level", nbttagcompound1); ChunkLoader.storeChunkInCompound(chunk, world, nbttagcompound1); CompressedStreamTools.func_771_a(nbttagcompound, dataoutputstream); dataoutputstream.close(); WorldInfo worldinfo = world.getWorldInfo(); worldinfo.func_22177_b(worldinfo.func_22182_g() + RegionFileCache.func_22121_b(field_22110_a, chunk.xPosition, chunk.zPosition)); } catch (Exception exception) { exception.printStackTrace(); } }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { base.writeEntityToNBT(nbttagcompound); nbttagcompound.setTag("Inventory", inventory.writeToNBT(new NBTTagList())); nbttagcompound.setInteger("Dimension", dimension); nbttagcompound.setBoolean("Sleeping", sleeping); nbttagcompound.setShort("SleepTimer", (short) sleepTimer); }
public virtual void writeToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setTag("Pos", newDoubleNBTList(new[] { posX, posY, posZ })); nbttagcompound.setTag("Motion", newDoubleNBTList(new[] { motionX, motionY, motionZ })); nbttagcompound.setTag("Rotation", newFloatNBTList(new[] { rotationYaw, rotationPitch })); nbttagcompound.setFloat("FallDistance", fallDistance); nbttagcompound.setShort("Fire", (short) fire); nbttagcompound.setShort("Air", (short) air); nbttagcompound.setBoolean("OnGround", onGround); writeEntityToNBT(nbttagcompound); }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setInteger("Type", minecartType); if (minecartType == 2) { nbttagcompound.setDouble("PushX", pushX); nbttagcompound.setDouble("PushZ", pushZ); nbttagcompound.setShort("Fuel", (short) fuel); } else if (minecartType == 1) { var nbttaglist = new NBTTagList(); for (int i = 0; i < cargoItems.Length; i++) { if (cargoItems[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); cargoItems[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); } }
public static void storeChunkInCompound(Chunk chunk, World world, NBTTagCompound nbttagcompound) { world.checkSessionLock(); nbttagcompound.setInteger("xPos", chunk.xPosition); nbttagcompound.setInteger("zPos", chunk.zPosition); nbttagcompound.setLong("LastUpdate", world.getWorldTime()); nbttagcompound.setByteArray("Blocks", chunk.blocks); nbttagcompound.setByteArray("Data", chunk.data.data); nbttagcompound.setByteArray("SkyLight", chunk.skylightMap.data); nbttagcompound.setByteArray("BlockLight", chunk.blocklightMap.data); nbttagcompound.setByteArray("HeightMap", chunk.heightMap); nbttagcompound.setBoolean("TerrainPopulated", chunk.isTerrainPopulated); chunk.hasEntities = false; var nbttaglist = new NBTTagList(); for (int i = 0; i < chunk.entities.Length; i++) { Iterator iterator = chunk.entities[i].iterator(); do { if (!iterator.hasNext()) { goto label0; } var entity = (Entity) iterator.next(); chunk.hasEntities = true; var nbttagcompound1 = new NBTTagCompound(); if (entity.addEntityID(nbttagcompound1)) { nbttaglist.setTag(nbttagcompound1); } } while (true); } label0: nbttagcompound.setTag("Entities", nbttaglist); var nbttaglist1 = new NBTTagList(); NBTTagCompound nbttagcompound2; for (Iterator iterator1 = chunk.chunkTileEntityMap.values().iterator(); iterator1.hasNext(); nbttaglist1.setTag(nbttagcompound2)) { var tileentity = (TileEntity) iterator1.next(); nbttagcompound2 = new NBTTagCompound(); tileentity.writeToNBT(nbttagcompound2); } nbttagcompound.setTag("TileEntities", nbttaglist1); }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); var nbttaglist = new NBTTagList(); for (int i = 0; i < dispenserContents.Length; i++) { if (dispenserContents[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); dispenserContents[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); }