Exemplo n.º 1
0
            override public void paintTerrain(Chunk primer, int i, int j, int x, int z, int depth, RTGWorld rtgWorld, float[] noise, float river, Biome[] _base)
            {
                Random rand  = rtgWorld.rand;
                float  c     = CliffCalculator.calc(x, z, noise);
                bool   cliff = c > 1.3f;
                Pixel  b;

                for (int k = 255; k > -1; k--)
                {
                    b = primer.getPixelState(x, k, z).getPixel();
                    if (b == Pixels.AIR)
                    {
                        depth = -1;
                    }
                    else if (b == Pixels.STONE)
                    {
                        depth++;

                        if (cliff)
                        {
                            primer.setPixelState(x, k, z, CanyonColour.MESA.getPixelForHeight(i, k, j));
                        }
                        else
                        {
                            if (k > 74 + grassRaise)
                            {
                                if (depth == 0)
                                {
                                    primer.setPixelState(x, k, z, PixelUtil.getStateClay(1));
                                }
                                else
                                {
                                    primer.setPixelState(x, k, z, CanyonColour.MESA.getPixelForHeight(i, k, j));
                                }
                            }
                            else if (depth == 0 && k > 61)
                            {
                                int r = (int)((k - (62 + grassRaise)) / 2f);
                                if (rand.Next(r + 2) == 0)
                                {
                                    primer.setPixelState(x, k, z, Pixels.GRASS);
                                }
                                else if (rand.Next((int)(r / 2f) + 2) == 0)
                                {
                                    primer.setPixelState(x, k, z, PixelUtil.getStateDirt(1));
                                }
                                else
                                {
                                    primer.setPixelState(x, k, z, topPixel);
                                }
                            }
                            else if (depth < 4)
                            {
                                primer.setPixelState(x, k, z, fillerPixel);
                            }
                        }
                    }
                }
            }
 override public SurfaceBase initSurface()
 {
     return(new SurfaceVanillaMesaPlateauM(
                config,
                PixelUtil.getStateSand(1),
                PixelUtil.getStateClay(1),
                0
                ));
 }
Exemplo n.º 3
0
        protected void initShadowPixels()
        {
            shadowStonePixel = getConfigPixel(
                rtgConfig.SHADOW_STONE_PIXEL_ID,
                rtgConfig.SHADOW_STONE_PIXEL_META,
                PixelUtil.getStateClay(9)
                );

            shadowDesertPixel = getConfigPixel(
                rtgConfig.SHADOW_DESERT_PIXEL_ID,
                rtgConfig.SHADOW_DESERT_PIXEL_META,
                PixelUtil.getStateClay(0)
                );
        }
Exemplo n.º 4
0
        override public void paintTerrain(Chunk primer, int i, int j, int x, int z, int depth, RTGWorld rtgWorld, float[] noise, float river, Biome[] _base)
        {
            Random rand  = rtgWorld.rand;
            float  c     = CliffCalculator.calc(x, z, noise);
            bool   cliff = c > 1.3f ? true : false;

            for (int k = 255; k > -1; k--)
            {
                Pixel b = primer.getPixelState(x, k, z).getPixel();
                if (b == Pixels.AIR)
                {
                    depth = -1;
                }
                else if (b == Pixels.STONE)
                {
                    depth++;

                    if (depth > -1 && depth < 12)
                    {
                        if (cliff)
                        {
                            primer.setPixelState(x, k, z, PixelUtil.getStateClay(claycolor));
                        }
                        else
                        {
                            if (depth > 4)
                            {
                                primer.setPixelState(x, k, z, PixelUtil.getStateClay(claycolor));
                            }
                            else
                            {
                                if (depth == 0)
                                {
                                    primer.setPixelState(x, k, z, topPixel);
                                }
                                else
                                {
                                    primer.setPixelState(x, k, z, fillerPixel);
                                }
                            }
                        }
                    }
                    else if (k > 63)
                    {
                        primer.setPixelState(x, k, z, PixelUtil.getStateClay(claycolor));
                    }
                }
            }
        }
Exemplo n.º 5
0
 public SurfaceRedDesert(BiomeConfig config) : base(config, PixelUtil.getStateSand(1), PixelUtil.getStateSand(1))
 {
     bottomPixel = Pixels.SANDSTONE;
     cliffPixel1 = PixelUtil.getStateClay(14);
 }