Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void ReplaceBlocksForBiome(int i, int j, byte[] data, Biome[] amobspawnerbase)
- {
- byte byte0 = 64;
- double d = 0.03125D;
- SandNoise = Noise4.GenerateNoiseOctaves(SandNoise, i * 16, j * 16, 0.0D, 16, 16, 1, d, d, 1.0D);
- GravelNoise = Noise4.GenerateNoiseOctaves(GravelNoise, i * 16, 109.0134D, j * 16, 16, 1, 16, d, 1.0D, d);
- StoneNoise = Noise5.GenerateNoiseOctaves(StoneNoise, i * 16, j * 16, 0.0D, 16, 16, 1, d * 2D, d * 2D, d * 2D);
- for (int x = 0; x < 16; x++)
- {
- for (int z = 0; z < 16; z++)
- {
- Biome mobspawnerbase = amobspawnerbase[x + z * 16];
- bool flag = SandNoise[x + z * 16] + Rand.nextDouble() * 0.20000000000000001D > 0.0D;
- bool flag1 = GravelNoise[x + z * 16] + Rand.nextDouble() * 0.20000000000000001D > 3D;
- int i1 = (int)(StoneNoise[x + z * 16] / 3D + 3D + Rand.nextDouble() * 0.25D);
- int j1 = -1;
- byte byte1 = mobspawnerbase.TopBlock;
- byte byte2 = mobspawnerbase.FillerBlock;
- for (int y = 127; y >= 0; y--)
- {
- int l1 = (z * 16 + x) * 128 + y;
- if (y <= 0 + Rand.nextInt(5))
- {
- data[l1] = (byte)BlockData.Blocks.Bedrock;
- continue;
- }
- byte byte3 = data[l1];
- if (byte3 == 0)
- {
- j1 = -1;
- continue;
- }
- if (byte3 != (byte)BlockData.Blocks.Stone)
- {
- continue;
- }
- if (j1 == -1)
- {
- if (i1 <= 0)
- {
- byte1 = 0;
- byte2 = (byte)(byte)BlockData.Blocks.Stone;
- }
- else if (y >= byte0 - 4 && y <= byte0 + 1)
- {
- byte1 = mobspawnerbase.TopBlock;
- byte2 = mobspawnerbase.FillerBlock;
- if (flag1)
- {
- byte1 = 0;
- }
- if (flag1)
- {
- byte2 = (byte)BlockData.Blocks.Gravel;
- }
- if (flag)
- {
- byte1 = (byte)BlockData.Blocks.Sand;
- byte2 = (byte)BlockData.Blocks.Sand;
- }
- }
- if (y < byte0 && byte1 == 0)
- {
- byte1 = (byte)BlockData.Blocks.Water;
- }
- j1 = i1;
- if (y >= byte0 - 1)
- {
- data[l1] = byte1;
- }
- else
- {
- data[l1] = byte2;
- }
- continue;
- }
- if (j1 <= 0)
- {
- continue;
- }
- j1--;
- data[l1] = byte2;
- if (j1 == 0 && byte2 == (byte)BlockData.Blocks.Sand)
- {
- j1 = Rand.nextInt(4);
- byte2 = (byte)BlockData.Blocks.Sandstone;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement