public static void StoreChunkInCompound(net.minecraft.src.Chunk chunk, net.minecraft.src.World world, net.minecraft.src.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; net.minecraft.src.NBTTagList nbttaglist = new net.minecraft.src.NBTTagList(); for (int i = 0; i < chunk.entities.Length; i++) { System.Collections.IEnumerator iterator = chunk.entities[i].GetEnumerator(); do { if (!iterator.MoveNext()) { goto label0_continue; } net.minecraft.src.Entity entity = (net.minecraft.src.Entity)iterator.Current; chunk.hasEntities = true; net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); if (entity.AddEntityID(nbttagcompound1)) { nbttaglist.SetTag(nbttagcompound1); } }while (true); label0_continue :; } label0_break :; nbttagcompound.SetTag("Entities", nbttaglist); net.minecraft.src.NBTTagList nbttaglist1 = new net.minecraft.src.NBTTagList(); net.minecraft.src.NBTTagCompound nbttagcompound2; for (System.Collections.IEnumerator iterator1 = chunk.chunkTileEntityMap.Values.GetEnumerator (); iterator1.MoveNext(); nbttaglist1.SetTag(nbttagcompound2)) { net.minecraft.src.TileEntity tileentity = (net.minecraft.src.TileEntity)iterator1 .Current; nbttagcompound2 = new net.minecraft.src.NBTTagCompound(); tileentity.WriteToNBT(nbttagcompound2); } nbttagcompound.SetTag("TileEntities", nbttaglist1); }
protected internal override void WriteEntityToNBT(net.minecraft.src.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) { net.minecraft.src.NBTTagList nbttaglist = new net.minecraft.src.NBTTagList(); for (int i = 0; i < cargoItems.Length; i++) { if (cargoItems[i] != null) { net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); nbttagcompound1.SetByte("Slot", unchecked ((byte)i)); cargoItems[i].WriteToNBT(nbttagcompound1); nbttaglist.SetTag(nbttagcompound1); } } nbttagcompound.SetTag("Items", nbttaglist); } } }
/// <exception cref="System.IO.IOException"/> public virtual void SaveChunk(net.minecraft.src.World world, net.minecraft.src.Chunk chunk) { world.CheckSessionLock(); try { java.io.DataOutputStream dataoutputstream = net.minecraft.src.RegionFileCache.Func_22120_d (worldFolder, chunk.xPosition, chunk.zPosition); net.minecraft.src.NBTTagCompound nbttagcompound = new net.minecraft.src.NBTTagCompound (); net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); nbttagcompound.SetTag("Level", nbttagcompound1); net.minecraft.src.ChunkLoader.StoreChunkInCompound(chunk, world, nbttagcompound1); net.minecraft.src.CompressedStreamTools.Func_771_a(nbttagcompound, dataoutputstream ); dataoutputstream.Close(); net.minecraft.src.WorldInfo worldinfo = world.GetWorldInfo(); worldinfo.SetSizeOnDisk(worldinfo.GetSizeOnDisk() + (long)net.minecraft.src.RegionFileCache .Func_22121_b(worldFolder, chunk.xPosition, chunk.zPosition)); } catch (System.Exception exception) { Sharpen.Runtime.PrintStackTrace(exception); } }
public virtual void Func_22094_a(net.minecraft.src.WorldInfo worldinfo) { net.minecraft.src.NBTTagCompound nbttagcompound = worldinfo.Func_22185_a(); net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); nbttagcompound1.SetTag("Data", nbttagcompound); try { string file = System.IO.Path.Combine(worldDir, "level.dat_new"); string file1 = System.IO.Path.Combine(worldDir, "level.dat_old"); string file2 = System.IO.Path.Combine(worldDir, "level.dat"); using (FileStream fs = File.OpenWrite(file)) net.minecraft.src.CompressedStreamTools.WriteGzippedCompoundToOutputStream(nbttagcompound1, fs); if (File.Exists(file1)) { File.Delete(file1); } File.Move(file2, file1); if (File.Exists(file2)) { File.Delete(file2); } File.Move(file, file2); if (File.Exists(file)) { File.Delete(file); } } catch (System.Exception exception) { Sharpen.Runtime.PrintStackTrace(exception); } }
public virtual void WriteToNBT(net.minecraft.src.NBTTagCompound nbttagcompound) { // CRAFTBUKKIT start if (float.IsNaN(rotationYaw)) { rotationYaw = 0; } if (float.IsNaN(rotationPitch)) { rotationPitch = 0; } // CRAFTBUKKIT end nbttagcompound.SetTag("Pos", NewDoubleNBTList(new double[] { posX, posY + (double)ySize, posZ })); nbttagcompound.SetTag("Motion", NewDoubleNBTList(new double[] { motionX, motionY, motionZ })); nbttagcompound.SetTag("Rotation", NewFloatNBTList(new float[] { rotationYaw, rotationPitch })); nbttagcompound.SetFloat("FallDistance", fallDistance); nbttagcompound.SetShort("Fire", (short)fire); nbttagcompound.SetShort("Air", (short)air); nbttagcompound.SetBoolean("OnGround", onGround); WriteEntityToNBT(nbttagcompound); }
protected internal override void WriteEntityToNBT(net.minecraft.src.NBTTagCompound nbttagcompound) { base.WriteEntityToNBT(nbttagcompound); nbttagcompound.SetTag("Inventory", inventory.WriteToNBT(new net.minecraft.src.NBTTagList ())); nbttagcompound.SetInteger("Dimension", dimension); nbttagcompound.SetBoolean("Sleeping", sleeping); nbttagcompound.SetShort("SleepTimer", (short)sleepTimer); if (spawnChunk != null) { nbttagcompound.SetInteger("SpawnX", spawnChunk.posX); nbttagcompound.SetInteger("SpawnY", spawnChunk.posY); nbttagcompound.SetInteger("SpawnZ", spawnChunk.posZ); } }
public override void WriteToNBT(net.minecraft.src.NBTTagCompound nbttagcompound) { base.WriteToNBT(nbttagcompound); net.minecraft.src.NBTTagList nbttaglist = new net.minecraft.src.NBTTagList(); for (int i = 0; i < items.Length; i++) { if (items[i] != null) { net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); nbttagcompound1.SetByte("Slot", unchecked ((byte)i)); items[i].WriteToNBT(nbttagcompound1); nbttaglist.SetTag(nbttagcompound1); } } nbttagcompound.SetTag("Items", nbttaglist); }
public override void WriteToNBT(net.minecraft.src.NBTTagCompound nbttagcompound) { base.WriteToNBT(nbttagcompound); nbttagcompound.SetShort("BurnTime", (short)furnaceBurnTime); nbttagcompound.SetShort("CookTime", (short)furnaceCookTime); net.minecraft.src.NBTTagList nbttaglist = new net.minecraft.src.NBTTagList(); for (int i = 0; i < furnaceItemStacks.Length; i++) { if (furnaceItemStacks[i] != null) { net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); nbttagcompound1.SetByte("Slot", unchecked ((byte)i)); furnaceItemStacks[i].WriteToNBT(nbttagcompound1); nbttaglist.SetTag(nbttagcompound1); } } nbttagcompound.SetTag("Items", nbttaglist); }
/// <exception cref="System.IO.IOException"/> public virtual void SaveChunk(net.minecraft.src.World world, net.minecraft.src.Chunk chunk) { world.CheckSessionLock(); string file = ChunkFileForXZ(chunk.xPosition, chunk.zPosition); if (System.IO.File.Exists(file)) { net.minecraft.src.WorldInfo worldinfo = world.GetWorldInfo(); worldinfo.SetSizeOnDisk(worldinfo.GetSizeOnDisk() - file.Length); } try { string file1 = System.IO.Path.Combine(saveDir, "tmp_chunk.dat"); using (FileStream fileoutputstream = File.OpenWrite(file1)) { net.minecraft.src.NBTTagCompound nbttagcompound = new net.minecraft.src.NBTTagCompound (); net.minecraft.src.NBTTagCompound nbttagcompound1 = new net.minecraft.src.NBTTagCompound (); nbttagcompound.SetTag("Level", nbttagcompound1); StoreChunkInCompound(chunk, world, nbttagcompound1); net.minecraft.src.CompressedStreamTools.WriteGzippedCompoundToOutputStream(nbttagcompound, fileoutputstream); //fileoutputstream.Close(); } if (System.IO.File.Exists(file)) { System.IO.File.Delete(file); } System.IO.File.Move(file1, file); //file1.RenameTo(file); net.minecraft.src.WorldInfo worldinfo1 = world.GetWorldInfo(); worldinfo1.SetSizeOnDisk(worldinfo1.GetSizeOnDisk() + file.Length); } catch (System.Exception exception) { Sharpen.Runtime.PrintStackTrace(exception); } }