Beispiel #1
0
 public virtual int getSavedLightValue(EnumSkyBlock enumskyblock, int i, int j, int k)
 {
     if (enumskyblock == EnumSkyBlock.Sky)
     {
         return(skylightMap.getNibble(i, j, k));
     }
     if (enumskyblock == EnumSkyBlock.Block)
     {
         return(blocklightMap.getNibble(i, j, k));
     }
     else
     {
         return(0);
     }
 }
Beispiel #2
0
        public virtual bool setBlockIDWithMetadata(int i, int j, int k, int l, int i1)
        {
            var byte0 = (byte)l;
            int j1    = heightMap[k << 4 | i] & 0xff;
            int k1    = blocks[i << 11 | k << 7 | j] & 0xff;

            if (k1 == l && data.getNibble(i, j, k) == i1)
            {
                return(false);
            }
            int l1 = xPosition * 16 + i;
            int i2 = zPosition * 16 + k;

            blocks[i << 11 | k << 7 | j] = byte0;
            if (k1 != 0 && !worldObj.singleplayerWorld)
            {
                Block.blocksList[k1].onBlockRemoval(worldObj, l1, j, i2);
            }
            data.setNibble(i, j, k, i1);
            if (!worldObj.worldProvider.field_4306_c)
            {
                if (Block.lightOpacity[byte0] != 0)
                {
                    if (j >= j1)
                    {
                        func_339_g(i, j + 1, k);
                    }
                }
                else if (j == j1 - 1)
                {
                    func_339_g(i, j, k);
                }
                worldObj.func_483_a(EnumSkyBlock.Sky, l1, j, i2, l1, j, i2);
            }
            worldObj.func_483_a(EnumSkyBlock.Block, l1, j, i2, l1, j, i2);
            func_333_c(i, k);
            data.setNibble(i, j, k, i1);
            if (l != 0)
            {
                Block.blocksList[l].onBlockAdded(worldObj, l1, j, i2);
            }
            isModified = true;
            return(true);
        }