public override void Func_28148_a(net.minecraft.src.NBTTagCompound nbttagcompound ) { field_28162_d = nbttagcompound.GetByte("dimension"); field_28164_b = nbttagcompound.GetInteger("xCenter"); field_28163_c = nbttagcompound.GetInteger("zCenter"); field_28161_e = nbttagcompound.GetByte("scale"); if (((sbyte)field_28161_e) < 0) { field_28161_e = 0; } if (field_28161_e > 4) { field_28161_e = 4; } short word0 = nbttagcompound.GetShort("width"); short word1 = nbttagcompound.GetShort("height"); if (word0 == 128 && word1 == 128) { field_28160_f = nbttagcompound.GetByteArray("colors"); } else { byte[] abyte0 = nbttagcompound.GetByteArray("colors"); field_28160_f = new byte[16384]; int i = (128 - word0) / 2; int j = (128 - word1) / 2; for (int k = 0; k < word1; k++) { int l = k + j; if (l < 0 && l >= 128) { continue; } for (int i1 = 0; i1 < word0; i1++) { int j1 = i1 + i; if (j1 >= 0 || j1 < 128) { field_28160_f[j1 + l * 128] = abyte0[i1 + k * word0]; } } } } }
public static net.minecraft.src.Chunk LoadChunkIntoWorldFromCompound(net.minecraft.src.World world, net.minecraft.src.NBTTagCompound nbttagcompound) { int i = nbttagcompound.GetInteger("xPos"); int j = nbttagcompound.GetInteger("zPos"); net.minecraft.src.Chunk chunk = new net.minecraft.src.Chunk(world, i, j); chunk.blocks = nbttagcompound.GetByteArray("Blocks"); chunk.data = new net.minecraft.src.NibbleArray(nbttagcompound.GetByteArray("Data" )); chunk.skylightMap = new net.minecraft.src.NibbleArray(nbttagcompound.GetByteArray ("SkyLight")); chunk.blocklightMap = new net.minecraft.src.NibbleArray(nbttagcompound.GetByteArray ("BlockLight")); chunk.heightMap = nbttagcompound.GetByteArray("HeightMap"); chunk.isTerrainPopulated = nbttagcompound.GetBoolean("TerrainPopulated"); if (!chunk.data.IsValid()) { chunk.data = new net.minecraft.src.NibbleArray(chunk.blocks.Length); } if (chunk.heightMap == null || !chunk.skylightMap.IsValid()) { chunk.heightMap = new byte[256]; chunk.skylightMap = new net.minecraft.src.NibbleArray(chunk.blocks.Length); chunk.Func_353_b(); } if (!chunk.blocklightMap.IsValid()) { chunk.blocklightMap = new net.minecraft.src.NibbleArray(chunk.blocks.Length); chunk.Func_348_a(); } net.minecraft.src.NBTTagList nbttaglist = nbttagcompound.GetTagList("Entities"); if (nbttaglist != null) { for (int k = 0; k < nbttaglist.TagCount(); k++) { net.minecraft.src.NBTTagCompound nbttagcompound1 = (net.minecraft.src.NBTTagCompound )nbttaglist.TagAt(k); net.minecraft.src.Entity entity = net.minecraft.src.EntityList.CreateEntityFromNBT (nbttagcompound1, world); chunk.hasEntities = true; if (entity != null) { chunk.AddEntity(entity); } } } net.minecraft.src.NBTTagList nbttaglist1 = nbttagcompound.GetTagList("TileEntities" ); if (nbttaglist1 != null) { for (int l = 0; l < nbttaglist1.TagCount(); l++) { net.minecraft.src.NBTTagCompound nbttagcompound2 = (net.minecraft.src.NBTTagCompound )nbttaglist1.TagAt(l); net.minecraft.src.TileEntity tileentity = net.minecraft.src.TileEntity.CreateAndLoadEntity (nbttagcompound2); if (tileentity != null) { chunk.AddTileEntity(tileentity); } } } return(chunk); }