Example #1
0
        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];
                        }
                    }
                }
            }
        }
Example #2
0
        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);
        }