public WorldChunkManagerHell(net.minecraft.src.BiomeGenBase biomegenbase, double d, double d1) { // Referenced classes of package net.minecraft.src: // WorldChunkManager, BiomeGenBase, ChunkCoordIntPair field_4262_e = biomegenbase; field_4261_f = d; field_4260_g = d1; }
public virtual net.minecraft.src.BiomeGenBase[] LoadBlockGeneratorData(net.minecraft.src.BiomeGenBase [] abiomegenbase, int i, int j, int k, int l) { if (abiomegenbase == null || abiomegenbase.Length < k * l) { abiomegenbase = new net.minecraft.src.BiomeGenBase[k * l]; } temperature = field_4255_e.Func_4101_a(temperature, i, j, k, k, 0.02500000037252903D, 0.02500000037252903D, 0.25D); humidity = field_4254_f.Func_4101_a(humidity, i, j, k, k, 0.05000000074505806D, 0.05000000074505806D, 0.33333333333333331D); field_4257_c = field_4253_g.Func_4101_a(field_4257_c, i, j, k, k, 0.25D, 0.25D, 0.58823529411764708D); int i1 = 0; for (int j1 = 0; j1 < k; j1++) { for (int k1 = 0; k1 < l; k1++) { double d = field_4257_c[i1] * 1.1000000000000001D + 0.5D; double d1 = 0.01D; double d2 = 1.0D - d1; double d3 = (temperature[i1] * 0.14999999999999999D + 0.69999999999999996D) * d2 + d * d1; d1 = 0.002D; d2 = 1.0D - d1; double d4 = (humidity[i1] * 0.14999999999999999D + 0.5D) * d2 + d * d1; d3 = 1.0D - (1.0D - d3) * (1.0D - d3); if (d3 < 0.0D) { d3 = 0.0D; } if (d4 < 0.0D) { d4 = 0.0D; } if (d3 > 1.0D) { d3 = 1.0D; } if (d4 > 1.0D) { d4 = 1.0D; } temperature[i1] = d3; humidity[i1] = d4; abiomegenbase[i1++] = net.minecraft.src.BiomeGenBase.GetBiomeFromLookup(d3, d4); } } return(abiomegenbase); }
public override net.minecraft.src.BiomeGenBase[] LoadBlockGeneratorData(net.minecraft.src.BiomeGenBase [] abiomegenbase, int i, int j, int k, int l) { if (abiomegenbase == null || abiomegenbase.Length < k * l) { abiomegenbase = new net.minecraft.src.BiomeGenBase[k * l]; } if (temperature == null || temperature.Length < k * l) { temperature = new double[k * l]; humidity = new double[k * l]; } SharpBukkitLive.SharpBukkit.SharpUtils.ArrayFill(abiomegenbase, 0, k * l, field_4262_e); SharpBukkitLive.SharpBukkit.SharpUtils.ArrayFill(humidity, 0, k * l, field_4260_g); SharpBukkitLive.SharpBukkit.SharpUtils.ArrayFill(temperature, 0, k * l, field_4261_f); return(abiomegenbase); }
public virtual void Populate(net.minecraft.src.IChunkProvider ichunkprovider, int i, int j) { net.minecraft.src.BlockSand.fallInstantly = true; int k = i * 16; int l = j * 16; net.minecraft.src.BiomeGenBase biomegenbase = worldObj.GetWorldChunkManager().GetBiomeGenAt (k + 16, l + 16); rand.SetSeed(worldObj.GetSeed()); long l1 = (rand.NextLong() / 2L) * 2L + 1L; long l2 = (rand.NextLong() / 2L) * 2L + 1L; rand.SetSeed((long)i * l1 + (long)j * l2 ^ worldObj.GetSeed()); double d = 0.25D; if (rand.Next(4) == 0) { int i1 = k + rand.Next(16) + 8; int l4 = rand.Next(128); int i8 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenLakes(net.minecraft.src.Block.STATIONARY_WATER.ID)) .Generate(worldObj, rand, i1, l4, i8); } if (rand.Next(8) == 0) { int j1 = k + rand.Next(16) + 8; int i5 = rand.Next(rand.Next(120) + 8); int j8 = l + rand.Next(16) + 8; if (i5 < 64 || rand.Next(10) == 0) { (new net.minecraft.src.WorldGenLakes(net.minecraft.src.Block.STATIONARY_LAVA.ID)). Generate(worldObj, rand, j1, i5, j8); } } for (int k1 = 0; k1 < 8; k1++) { int j5 = k + rand.Next(16) + 8; int k8 = rand.Next(128); int j11 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenDungeons()).Generate(worldObj, rand, j5, k8, j11); } for (int i2 = 0; i2 < 10; i2++) { int k5 = k + rand.Next(16); int l8 = rand.Next(128); int k11 = l + rand.Next(16); (new net.minecraft.src.WorldGenClay(32)).Generate(worldObj, rand, k5, l8, k11); } for (int j2 = 0; j2 < 20; j2++) { int l5 = k + rand.Next(16); int i9 = rand.Next(128); int l11 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.DIRT.ID, 32)) .Generate(worldObj, rand, l5, i9, l11); } for (int k2 = 0; k2 < 10; k2++) { int i6 = k + rand.Next(16); int j9 = rand.Next(128); int i12 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.GRAVEL.ID, 32 )).Generate(worldObj, rand, i6, j9, i12); } for (int i3 = 0; i3 < 20; i3++) { int j6 = k + rand.Next(16); int k9 = rand.Next(128); int j12 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.COAL_ORE.ID, 16 )).Generate(worldObj, rand, j6, k9, j12); } for (int j3 = 0; j3 < 20; j3++) { int k6 = k + rand.Next(16); int l9 = rand.Next(64); int k12 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.IRON_ORE.ID, 8 )).Generate(worldObj, rand, k6, l9, k12); } for (int k3 = 0; k3 < 2; k3++) { int l6 = k + rand.Next(16); int i10 = rand.Next(32); int l12 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.GOLD_ORE.ID, 8 )).Generate(worldObj, rand, l6, i10, l12); } for (int l3 = 0; l3 < 8; l3++) { int i7 = k + rand.Next(16); int j10 = rand.Next(16); int i13 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.REDSTONE_ORE.ID , 7)).Generate(worldObj, rand, i7, j10, i13); } for (int i4 = 0; i4 < 1; i4++) { int j7 = k + rand.Next(16); int k10 = rand.Next(16); int j13 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.DIAMOND_ORE.ID , 7)).Generate(worldObj, rand, j7, k10, j13); } for (int j4 = 0; j4 < 1; j4++) { int k7 = k + rand.Next(16); int l10 = rand.Next(16) + rand.Next(16); int k13 = l + rand.Next(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.LAPIS_ORE.ID, 6)).Generate(worldObj, rand, k7, l10, k13); } d = 0.5D; int k4 = (int)((mobSpawnerNoise.Func_647_a((double)k * d, (double)l * d) / 8D + rand .NextDouble() * 4D + 4D) / 3D); int l7 = 0; if (rand.Next(10) == 0) { l7++; } if (biomegenbase == net.minecraft.src.BiomeGenBase.forest) { l7 += k4 + 5; } if (biomegenbase == net.minecraft.src.BiomeGenBase.rainforest) { l7 += k4 + 5; } if (biomegenbase == net.minecraft.src.BiomeGenBase.seasonalForest) { l7 += k4 + 2; } if (biomegenbase == net.minecraft.src.BiomeGenBase.taiga) { l7 += k4 + 5; } if (biomegenbase == net.minecraft.src.BiomeGenBase.desert) { l7 -= 20; } if (biomegenbase == net.minecraft.src.BiomeGenBase.tundra) { l7 -= 20; } if (biomegenbase == net.minecraft.src.BiomeGenBase.plains) { l7 -= 20; } for (int i11 = 0; i11 < l7; i11++) { int l13 = k + rand.Next(16) + 8; int j14 = l + rand.Next(16) + 8; net.minecraft.src.WorldGenerator worldgenerator = biomegenbase.GetRandomWorldGenForTrees (rand); worldgenerator.Func_420_a(1.0D, 1.0D, 1.0D); worldgenerator.Generate(worldObj, rand, l13, worldObj.GetHeightValue(l13, j14), j14 ); } byte byte0 = 0; if (biomegenbase == net.minecraft.src.BiomeGenBase.forest) { byte0 = 2; } if (biomegenbase == net.minecraft.src.BiomeGenBase.seasonalForest) { byte0 = 4; } if (biomegenbase == net.minecraft.src.BiomeGenBase.taiga) { byte0 = 2; } if (biomegenbase == net.minecraft.src.BiomeGenBase.plains) { byte0 = 3; } for (int i14 = 0; i14 < byte0; i14++) { int k14 = k + rand.Next(16) + 8; int l16 = rand.Next(128); int k19 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.YELLOW_FLOWER.ID )).Generate(worldObj, rand, k14, l16, k19); } byte byte1 = 0; if (biomegenbase == net.minecraft.src.BiomeGenBase.forest) { byte1 = 2; } if (biomegenbase == net.minecraft.src.BiomeGenBase.rainforest) { byte1 = 10; } if (biomegenbase == net.minecraft.src.BiomeGenBase.seasonalForest) { byte1 = 2; } if (biomegenbase == net.minecraft.src.BiomeGenBase.taiga) { byte1 = 1; } if (biomegenbase == net.minecraft.src.BiomeGenBase.plains) { byte1 = 10; } for (int l14 = 0; l14 < byte1; l14++) { byte byte2 = 1; if (biomegenbase == net.minecraft.src.BiomeGenBase.rainforest && rand.Next(3) != 0) { byte2 = 2; } int l19 = k + rand.Next(16) + 8; int k22 = rand.Next(128); int j24 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenTallGrass(net.minecraft.src.Block.LONG_GRASS.ID , byte2)).Generate(worldObj, rand, l19, k22, j24); } byte1 = 0; if (biomegenbase == net.minecraft.src.BiomeGenBase.desert) { byte1 = 2; } for (int i15 = 0; i15 < byte1; i15++) { int i17 = k + rand.Next(16) + 8; int i20 = rand.Next(128); int l22 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenDeadBush(net.minecraft.src.Block.DEAD_BUSH.ID) ).Generate(worldObj, rand, i17, i20, l22); } if (rand.Next(2) == 0) { int j15 = k + rand.Next(16) + 8; int j17 = rand.Next(128); int j20 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.RED_ROSE.ID)) .Generate(worldObj, rand, j15, j17, j20); } if (rand.Next(4) == 0) { int k15 = k + rand.Next(16) + 8; int k17 = rand.Next(128); int k20 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.BROWN_MUSHROOM.ID )).Generate(worldObj, rand, k15, k17, k20); } if (rand.Next(8) == 0) { int l15 = k + rand.Next(16) + 8; int l17 = rand.Next(128); int l20 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.RED_MUSHROOM.ID )).Generate(worldObj, rand, l15, l17, l20); } for (int i16 = 0; i16 < 10; i16++) { int i18 = k + rand.Next(16) + 8; int i21 = rand.Next(128); int i23 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenReed()).Generate(worldObj, rand, i18, i21, i23); } if (rand.Next(32) == 0) { int j16 = k + rand.Next(16) + 8; int j18 = rand.Next(128); int j21 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenPumpkin()).Generate(worldObj, rand, j16, j18, j21); } int k16 = 0; if (biomegenbase == net.minecraft.src.BiomeGenBase.desert) { k16 += 10; } for (int k18 = 0; k18 < k16; k18++) { int k21 = k + rand.Next(16) + 8; int j23 = rand.Next(128); int k24 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenCactus()).Generate(worldObj, rand, k21, j23, k24); } for (int l18 = 0; l18 < 50; l18++) { int l21 = k + rand.Next(16) + 8; int k23 = rand.Next(rand.Next(120) + 8); int l24 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenLiquids(net.minecraft.src.Block.WATER.ID )).Generate(worldObj, rand, l21, k23, l24); } for (int i19 = 0; i19 < 20; i19++) { int i22 = k + rand.Next(16) + 8; int l23 = rand.Next(rand.Next(rand.Next(112) + 8) + 8); int i25 = l + rand.Next(16) + 8; (new net.minecraft.src.WorldGenLiquids(net.minecraft.src.Block.LAVA.ID )).Generate(worldObj, rand, i22, l23, i25); } generatedTemperatures = worldObj.GetWorldChunkManager().GetTemperatures(generatedTemperatures , k + 8, l + 8, 16, 16); for (int j19 = k + 8; j19 < k + 8 + 16; j19++) { for (int j22 = l + 8; j22 < l + 8 + 16; j22++) { int i24 = j19 - (k + 8); int j25 = j22 - (l + 8); int k25 = worldObj.GetTopSolidOrLiquidBlock(j19, j22); double d1 = generatedTemperatures[i24 * 16 + j25] - ((double)(k25 - 64) / 64D) * 0.29999999999999999D; if (d1 < 0.5D && k25 > 0 && k25 < 128 && worldObj.IsAirBlock(j19, k25, j22) && worldObj .GetBlockMaterial(j19, k25 - 1, j22).GetIsSolid() && worldObj.GetBlockMaterial(j19 , k25 - 1, j22) != net.minecraft.src.Material.ice) { worldObj.SetBlockWithNotify(j19, k25, j22, net.minecraft.src.Block.SNOW.ID); } } } net.minecraft.src.BlockSand.fallInstantly = false; }
public virtual void ReplaceBlocksForBiome(int i, int j, byte[] abyte0, net.minecraft.src.BiomeGenBase [] abiomegenbase) { byte byte0 = 64; double d = 0.03125D; sandNoise = field_702_n.GenerateNoiseOctaves(sandNoise, i * 16, j * 16, 0.0D, 16, 16, 1, d, d, 1.0D); gravelNoise = field_702_n.GenerateNoiseOctaves(gravelNoise, i * 16, 109.0134D, j * 16, 16, 1, 16, d, 1.0D, d); stoneNoise = field_701_o.GenerateNoiseOctaves(stoneNoise, i * 16, j * 16, 0.0D, 16 , 16, 1, d * 2D, d * 2D, d * 2D); for (int k = 0; k < 16; k++) { for (int l = 0; l < 16; l++) { net.minecraft.src.BiomeGenBase biomegenbase = abiomegenbase[k + l * 16]; bool flag = sandNoise[k + l * 16] + rand.NextDouble() * 0.20000000000000001D > 0.0D; bool flag1 = gravelNoise[k + l * 16] + rand.NextDouble() * 0.20000000000000001D > 3D; int i1 = (int)(stoneNoise[k + l * 16] / 3D + 3D + rand.NextDouble() * 0.25D); int j1 = -1; byte byte1 = biomegenbase.topBlock; byte byte2 = biomegenbase.fillerBlock; for (int k1 = 127; k1 >= 0; k1--) { int l1 = (l * 16 + k) * 128 + k1; if (k1 <= 0 + rand.Next(5)) { abyte0[l1] = unchecked ((byte)net.minecraft.src.Block.BEDROCK.ID); continue; } byte byte3 = abyte0[l1]; if (byte3 == 0) { j1 = -1; continue; } if (byte3 != net.minecraft.src.Block.STONE.ID) { continue; } if (j1 == -1) { if (i1 <= 0) { byte1 = 0; byte2 = unchecked ((byte)net.minecraft.src.Block.STONE.ID); } else { if (k1 >= byte0 - 4 && k1 <= byte0 + 1) { byte1 = biomegenbase.topBlock; byte2 = biomegenbase.fillerBlock; if (flag1) { byte1 = 0; } if (flag1) { byte2 = unchecked ((byte)net.minecraft.src.Block.GRAVEL.ID); } if (flag) { byte1 = unchecked ((byte)net.minecraft.src.Block.SAND.ID); } if (flag) { byte2 = unchecked ((byte)net.minecraft.src.Block.SAND.ID); } } } if (k1 < byte0 && byte1 == 0) { byte1 = unchecked ((byte)net.minecraft.src.Block.STATIONARY_WATER.ID); } j1 = i1; if (k1 >= byte0 - 1) { abyte0[l1] = byte1; } else { abyte0[l1] = byte2; } continue; } if (j1 <= 0) { continue; } j1--; abyte0[l1] = byte2; if (j1 == 0 && byte2 == net.minecraft.src.Block.SAND.ID) { j1 = rand.Next(4); byte2 = unchecked ((byte)net.minecraft.src.Block.SANDSTONE.ID); } } } } }
public virtual void Populate(net.minecraft.src.IChunkProvider ichunkprovider, int i, int j) { net.minecraft.src.BlockSand.fallInstantly = true; int k = i * 16; int l = j * 16; net.minecraft.src.BiomeGenBase biomegenbase = field_28079_p.GetWorldChunkManager( ).GetBiomeGenAt(k + 16, l + 16); field_28085_j.SetSeed(field_28079_p.GetSeed()); long l1 = (field_28085_j.NextLong() / 2L) * 2L + 1L; long l2 = (field_28085_j.NextLong() / 2L) * 2L + 1L; field_28085_j.SetSeed((long)i * l1 + (long)j * l2 ^ field_28079_p.GetSeed() ); double d = 0.25D; if (field_28085_j.NextInt(4) == 0) { int i1 = k + field_28085_j.NextInt(16) + 8; int l4 = field_28085_j.NextInt(128); int i8 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenLakes(net.minecraft.src.Block.STATIONARY_WATER.ID)) .Generate(field_28079_p, field_28085_j, i1, l4, i8); } if (field_28085_j.NextInt(8) == 0) { int j1 = k + field_28085_j.NextInt(16) + 8; int i5 = field_28085_j.NextInt(field_28085_j.NextInt(120) + 8); int j8 = l + field_28085_j.NextInt(16) + 8; if (i5 < 64 || field_28085_j.NextInt(10) == 0) { (new net.minecraft.src.WorldGenLakes(net.minecraft.src.Block.STATIONARY_LAVA.ID)). Generate(field_28079_p, field_28085_j, j1, i5, j8); } } for (int k1 = 0; k1 < 8; k1++) { int j5 = k + field_28085_j.NextInt(16) + 8; int k8 = field_28085_j.NextInt(128); int i13 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenDungeons()).Generate(field_28079_p, field_28085_j, j5, k8, i13); } for (int i2 = 0; i2 < 10; i2++) { int k5 = k + field_28085_j.NextInt(16); int l8 = field_28085_j.NextInt(128); int j13 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenClay(32)).Generate(field_28079_p, field_28085_j, k5 , l8, j13); } for (int j2 = 0; j2 < 20; j2++) { int l5 = k + field_28085_j.NextInt(16); int i9 = field_28085_j.NextInt(128); int k13 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.DIRT.ID, 32)) .Generate(field_28079_p, field_28085_j, l5, i9, k13); } for (int k2 = 0; k2 < 10; k2++) { int i6 = k + field_28085_j.NextInt(16); int j9 = field_28085_j.NextInt(128); int l13 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.GRAVEL.ID, 32 )).Generate(field_28079_p, field_28085_j, i6, j9, l13); } for (int i3 = 0; i3 < 20; i3++) { int j6 = k + field_28085_j.NextInt(16); int k9 = field_28085_j.NextInt(128); int i14 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.COAL_ORE.ID, 16 )).Generate(field_28079_p, field_28085_j, j6, k9, i14); } for (int j3 = 0; j3 < 20; j3++) { int k6 = k + field_28085_j.NextInt(16); int l9 = field_28085_j.NextInt(64); int j14 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.IRON_ORE.ID, 8 )).Generate(field_28079_p, field_28085_j, k6, l9, j14); } for (int k3 = 0; k3 < 2; k3++) { int l6 = k + field_28085_j.NextInt(16); int i10 = field_28085_j.NextInt(32); int k14 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.GOLD_ORE.ID, 8 )).Generate(field_28079_p, field_28085_j, l6, i10, k14); } for (int l3 = 0; l3 < 8; l3++) { int i7 = k + field_28085_j.NextInt(16); int j10 = field_28085_j.NextInt(16); int l14 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.REDSTONE_ORE.ID , 7)).Generate(field_28079_p, field_28085_j, i7, j10, l14); } for (int i4 = 0; i4 < 1; i4++) { int j7 = k + field_28085_j.NextInt(16); int k10 = field_28085_j.NextInt(16); int i15 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.DIAMOND_ORE.ID , 7)).Generate(field_28079_p, field_28085_j, j7, k10, i15); } for (int j4 = 0; j4 < 1; j4++) { int k7 = k + field_28085_j.NextInt(16); int l10 = field_28085_j.NextInt(16) + field_28085_j.NextInt(16); int j15 = l + field_28085_j.NextInt(16); (new net.minecraft.src.WorldGenMinable(net.minecraft.src.Block.LAPIS_ORE.ID, 6)).Generate(field_28079_p, field_28085_j, k7, l10, j15); } d = 0.5D; int k4 = (int)((field_28092_c.Func_647_a((double)k * d, (double)l * d) / 8D + field_28085_j .NextDouble() * 4D + 4D) / 3D); int l7 = 0; if (field_28085_j.NextInt(10) == 0) { l7++; } if (biomegenbase == net.minecraft.src.BiomeGenBase.forest) { l7 += k4 + 5; } if (biomegenbase == net.minecraft.src.BiomeGenBase.rainforest) { l7 += k4 + 5; } if (biomegenbase == net.minecraft.src.BiomeGenBase.seasonalForest) { l7 += k4 + 2; } if (biomegenbase == net.minecraft.src.BiomeGenBase.taiga) { l7 += k4 + 5; } if (biomegenbase == net.minecraft.src.BiomeGenBase.desert) { l7 -= 20; } if (biomegenbase == net.minecraft.src.BiomeGenBase.tundra) { l7 -= 20; } if (biomegenbase == net.minecraft.src.BiomeGenBase.plains) { l7 -= 20; } for (int i11 = 0; i11 < l7; i11++) { int k15 = k + field_28085_j.NextInt(16) + 8; int j18 = l + field_28085_j.NextInt(16) + 8; net.minecraft.src.WorldGenerator worldgenerator = biomegenbase.GetRandomWorldGenForTrees (field_28085_j); worldgenerator.Func_420_a(1.0D, 1.0D, 1.0D); worldgenerator.Generate(field_28079_p, field_28085_j, k15, field_28079_p.GetHeightValue (k15, j18), j18); } for (int j11 = 0; j11 < 2; j11++) { int l15 = k + field_28085_j.NextInt(16) + 8; int k18 = field_28085_j.NextInt(128); int i21 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.YELLOW_FLOWER.ID )).Generate(field_28079_p, field_28085_j, l15, k18, i21); } if (field_28085_j.NextInt(2) == 0) { int k11 = k + field_28085_j.NextInt(16) + 8; int i16 = field_28085_j.NextInt(128); int l18 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.RED_ROSE.ID)) .Generate(field_28079_p, field_28085_j, k11, i16, l18); } if (field_28085_j.NextInt(4) == 0) { int l11 = k + field_28085_j.NextInt(16) + 8; int j16 = field_28085_j.NextInt(128); int i19 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.BROWN_MUSHROOM.ID )).Generate(field_28079_p, field_28085_j, l11, j16, i19); } if (field_28085_j.NextInt(8) == 0) { int i12 = k + field_28085_j.NextInt(16) + 8; int k16 = field_28085_j.NextInt(128); int j19 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenFlowers(net.minecraft.src.Block.RED_MUSHROOM.ID )).Generate(field_28079_p, field_28085_j, i12, k16, j19); } for (int j12 = 0; j12 < 10; j12++) { int l16 = k + field_28085_j.NextInt(16) + 8; int k19 = field_28085_j.NextInt(128); int j21 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenReed()).Generate(field_28079_p, field_28085_j, l16 , k19, j21); } if (field_28085_j.NextInt(32) == 0) { int k12 = k + field_28085_j.NextInt(16) + 8; int i17 = field_28085_j.NextInt(128); int l19 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenPumpkin()).Generate(field_28079_p, field_28085_j, k12, i17, l19); } int l12 = 0; if (biomegenbase == net.minecraft.src.BiomeGenBase.desert) { l12 += 10; } for (int j17 = 0; j17 < l12; j17++) { int i20 = k + field_28085_j.NextInt(16) + 8; int k21 = field_28085_j.NextInt(128); int k22 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenCactus()).Generate(field_28079_p, field_28085_j, i20 , k21, k22); } for (int k17 = 0; k17 < 50; k17++) { int j20 = k + field_28085_j.NextInt(16) + 8; int l21 = field_28085_j.NextInt(field_28085_j.NextInt(120) + 8); int l22 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenLiquids(net.minecraft.src.Block.WATER.ID )).Generate(field_28079_p, field_28085_j, j20, l21, l22); } for (int l17 = 0; l17 < 20; l17++) { int k20 = k + field_28085_j.NextInt(16) + 8; int i22 = field_28085_j.NextInt(field_28085_j.NextInt(field_28085_j.NextInt(112) + 8) + 8); int i23 = l + field_28085_j.NextInt(16) + 8; (new net.minecraft.src.WorldGenLiquids(net.minecraft.src.Block.LAVA.ID )).Generate(field_28079_p, field_28085_j, k20, i22, i23); } field_28072_w = field_28079_p.GetWorldChunkManager().GetTemperatures(field_28072_w , k + 8, l + 8, 16, 16); for (int i18 = k + 8; i18 < k + 8 + 16; i18++) { for (int l20 = l + 8; l20 < l + 8 + 16; l20++) { int j22 = i18 - (k + 8); int j23 = l20 - (l + 8); int k23 = field_28079_p.GetTopSolidOrLiquidBlock(i18, l20); double d1 = field_28072_w[j22 * 16 + j23] - ((double)(k23 - 64) / 64D) * 0.29999999999999999D; if (d1 < 0.5D && k23 > 0 && k23 < 128 && field_28079_p.IsAirBlock(i18, k23, l20) && field_28079_p.GetBlockMaterial(i18, k23 - 1, l20).GetIsSolid() && field_28079_p .GetBlockMaterial(i18, k23 - 1, l20) != net.minecraft.src.Material.ice) { field_28079_p.SetBlockWithNotify(i18, k23, l20, net.minecraft.src.Block.SNOW.ID ); } } } net.minecraft.src.BlockSand.fallInstantly = false; }
public virtual void Func_28069_a(int i, int j, byte[] abyte0, net.minecraft.src.BiomeGenBase [] abiomegenbase) { double d = 0.03125D; field_28077_r = field_28081_n.GenerateNoiseOctaves(field_28077_r, i * 16, j * 16, 0.0D, 16, 16, 1, d, d, 1.0D); field_28076_s = field_28081_n.GenerateNoiseOctaves(field_28076_s, i * 16, 109.0134D, j * 16, 16, 1, 16, d, 1.0D, d); field_28075_t = field_28080_o.GenerateNoiseOctaves(field_28075_t, i * 16, j * 16, 0.0D, 16, 16, 1, d * 2D, d * 2D, d * 2D); for (int k = 0; k < 16; k++) { for (int l = 0; l < 16; l++) { net.minecraft.src.BiomeGenBase biomegenbase = abiomegenbase[k + l * 16]; int i1 = (int)(field_28075_t[k + l * 16] / 3D + 3D + field_28085_j.NextDouble() * 0.25D); int j1 = -1; byte byte0 = biomegenbase.topBlock; byte byte1 = biomegenbase.fillerBlock; for (int k1 = 127; k1 >= 0; k1--) { int l1 = (l * 16 + k) * 128 + k1; byte byte2 = abyte0[l1]; if (byte2 == 0) { j1 = -1; continue; } if (byte2 != net.minecraft.src.Block.STONE.ID) { continue; } if (j1 == -1) { if (i1 <= 0) { byte0 = 0; byte1 = unchecked ((byte)net.minecraft.src.Block.STONE.ID); } j1 = i1; if (k1 >= 0) { abyte0[l1] = byte0; } else { abyte0[l1] = byte1; } continue; } if (j1 <= 0) { continue; } j1--; abyte0[l1] = byte1; if (j1 == 0 && byte1 == net.minecraft.src.Block.SAND.ID) { j1 = field_28085_j.NextInt(4); byte1 = unchecked ((byte)net.minecraft.src.Block.SANDSTONE.ID); } } } } }
public static int PerformSpawning(net.minecraft.src.World var0, bool var1, bool var2 ) { if (!var1 && !var2) { return(0); } else { eligibleChunksForSpawning.Clear(); int var3; int var6; for (var3 = 0; var3 < var0.playerEntities.Count; ++var3) { net.minecraft.src.EntityPlayer var4 = (net.minecraft.src.EntityPlayer)var0.playerEntities [var3]; int var5 = net.minecraft.src.MathHelper.Floor_double(var4.posX / 16.0D); var6 = net.minecraft.src.MathHelper.Floor_double(var4.posZ / 16.0D); byte var7 = 8; for (int var8 = -var7; var8 <= var7; ++var8) { for (int var9 = -var7; var9 <= var7; ++var9) { eligibleChunksForSpawning.Add(new net.minecraft.src.ChunkCoordIntPair(var8 + var5, var9 + var6)); } } } var3 = 0; net.minecraft.src.ChunkCoordinates var35 = var0.GetSpawnPoint(); net.minecraft.src.EnumCreatureType[] var36 = net.minecraft.src.EnumCreatureType.Values(); var6 = var36.Length; for (int var37 = 0; var37 < var6; ++var37) { net.minecraft.src.EnumCreatureType var38 = var36[var37]; if ((!var38.Func_21103_d() || var2) && (var38.Func_21103_d() || var1) && var0.CountEntities (var38.GetCreatureClass()) <= var38.GetMaxNumberOfCreature() * eligibleChunksForSpawning .Count / 256) { System.Collections.IEnumerator var39 = eligibleChunksForSpawning.GetEnumerator(); while (var39.MoveNext()) { net.minecraft.src.ChunkCoordIntPair var10 = (net.minecraft.src.ChunkCoordIntPair) var39.Current; net.minecraft.src.BiomeGenBase var11 = var0.GetWorldChunkManager().Func_4066_a(var10 ); System.Collections.IList var12 = var11.GetSpawnableList(var38); if (var12 != null && var12.Count > 0) { int var13 = 0; net.minecraft.src.SpawnListEntry var15; for (System.Collections.IEnumerator var14 = var12.GetEnumerator(); var14.MoveNext (); var13 += var15.spawnRarityRate) { var15 = (net.minecraft.src.SpawnListEntry)var14.Current; } int var40 = var0.rand.Next(var13); var15 = (net.minecraft.src.SpawnListEntry)var12[0]; System.Collections.IEnumerator var16 = var12.GetEnumerator(); while (var16.MoveNext()) { net.minecraft.src.SpawnListEntry var17 = (net.minecraft.src.SpawnListEntry)var16. Current; var40 -= var17.spawnRarityRate; if (var40 < 0) { var15 = var17; break; } } net.minecraft.src.ChunkPosition var41 = GetRandomSpawningPointInChunk(var0, var10 .X * 16, var10.Z * 16); int var42 = var41.x; int var18 = var41.y; int var19 = var41.z; if (!var0.IsBlockNormalCube(var42, var18, var19) && var0.GetBlockMaterial(var42, var18, var19) == var38.GetCreatureMaterial()) { int var20 = 0; for (int var21 = 0; var21 < 3; ++var21) { int var22 = var42; int var23 = var18; int var24 = var19; byte var25 = 6; for (int var26 = 0; var26 < 4; ++var26) { var22 += var0.rand.Next(var25) - var0.rand.Next(var25); var23 += var0.rand.Next(1) - var0.rand.Next(1); var24 += var0.rand.Next(var25) - var0.rand.Next(var25); if (Func_21167_a(var38, var0, var22, var23, var24)) { float var27 = (float)var22 + 0.5F; float var28 = (float)var23; float var29 = (float)var24 + 0.5F; if (var0.GetClosestPlayer((double)var27, (double)var28, (double)var29, 24.0D) == null) { float var30 = var27 - (float)var35.posX; float var31 = var28 - (float)var35.posY; float var32 = var29 - (float)var35.posZ; float var33 = var30 * var30 + var31 * var31 + var32 * var32; if (var33 >= 576.0F) { net.minecraft.src.EntityLiving var43; try { var43 = (net.minecraft.src.EntityLiving)(var15.entityClass.GetConstructor(new System.Type[] { typeof(net.minecraft.src.World) }).Invoke(new object[] { var0 })); } catch (System.Exception var34) { Sharpen.Runtime.PrintStackTrace(var34); return(var3); } var43.SetLocationAndAngles((double)var27, (double)var28, (double)var29, var0.rand .NextFloat() * 360.0F, 0.0F); if (var43.GetCanSpawnHere()) { ++var20; var0.AddEntity(var43); Func_21166_a(var43, var0, var27, var28, var29); if (var20 >= var43.GetMaxSpawnedInChunk()) { goto label113_continue; } } var3 += var20; } } } } } } } label113_continue :; } label113_break :; } } return(var3); } }