use of net.minecraft.world.gen.feature.WorldGenerator in project Realistic-Terrain-Generation by Team-RTG.
the class DecoJungleCacti method generate.
@Override
public void generate(IRealisticBiome biome, RTGWorld rtgWorld, Random rand, int worldX, int worldZ, float strength, float river, boolean hasPlacedVillageBlocks) {
if (this.allowed) {
if (TerrainGen.decorate(rtgWorld.world, rand, new BlockPos(worldX, 0, worldZ), CACTUS)) {
WorldGenerator worldGenerator = new WorldGenJungleCacti(this.sandOnly, rand.nextInt(this.extraHeight), this.sandMeta);
for (int i = 0; i < this.strengthFactor * strength; i++) {
// + 8;
int intX = worldX + rand.nextInt(16);
int intY = rand.nextInt(160);
// + 8;
int intZ = worldZ + rand.nextInt(16);
if (intY < this.maxY) {
worldGenerator.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
}
}
}
}
}
use of net.minecraft.world.gen.feature.WorldGenerator in project Realistic-Terrain-Generation by Team-RTG.
the class DecoJungleLilypadVines method generate.
/**
* No config options for this one yet. Just ripped it directly from the old code.
*/
@Override
public void generate(IRealisticBiome biome, RTGWorld rtgWorld, Random rand, int worldX, int worldZ, float strength, float river, boolean hasPlacedVillageBlocks) {
if (this.allowed) {
if (TerrainGen.decorate(rtgWorld.world, rand, new BlockPos(worldX, 0, worldZ), LILYPAD)) {
WorldGenerator worldgeneratorLilypads = new WorldGenWaterlily();
WorldGenerator worldgeneratorVines = new WorldGenVinesRTG();
Block vb;
for (int b33 = 0; b33 < 5; b33++) {
int j6 = worldX + rand.nextInt(16) + 8;
int k10 = worldZ + rand.nextInt(16) + 8;
int z52 = rtgWorld.world.getHeight(new BlockPos(j6, 0, k10)).getY();
for (int h44 = 0; h44 < 8; h44++) {
if (z52 > 64) {
worldgeneratorLilypads.generate(rtgWorld.world, rand, new BlockPos(j6, z52, k10));
}
}
for (int h44 = 100; h44 > 0; h44--) {
worldgeneratorVines.generate(rtgWorld.world, rand, new BlockPos(j6, z52, k10));
}
}
}
}
}
use of net.minecraft.world.gen.feature.WorldGenerator in project Realistic-Terrain-Generation by Team-RTG.
the class DecoLargeFernDoubleTallgrass method generate.
@Override
public void generate(IRealisticBiome biome, RTGWorld rtgWorld, Random rand, int worldX, int worldZ, float strength, float river, boolean hasPlacedVillageBlocks) {
if (this.allowed) {
if (TerrainGen.decorate(rtgWorld.world, rand, new BlockPos(worldX, 0, worldZ), GRASS)) {
WorldGenerator worldgeneratorDoubleTallgrass = new WorldGenGrass(Blocks.DOUBLE_PLANT.getStateFromMeta(GRASS_META), GRASS_META);
WorldGenerator worldgeneratorLargeFern = new WorldGenGrass(Blocks.DOUBLE_PLANT.getStateFromMeta(FERN_META), FERN_META);
this.setLoops((this.strengthFactor > 0f) ? (int) (this.strengthFactor * strength) : this.loops);
for (int i = 0; i < this.loops; i++) {
int intX = worldX + rand.nextInt(16) + 8;
int intY = rand.nextInt(this.maxY);
int intZ = worldZ + rand.nextInt(16) + 8;
if (intY <= this.maxY) {
if (this.fernChance > 0) {
if (rand.nextInt(this.fernChance) == 0) {
worldgeneratorLargeFern.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
} else {
worldgeneratorDoubleTallgrass.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
}
} else if (this.grassChance > 0) {
if (rand.nextInt(this.grassChance) == 0) {
worldgeneratorDoubleTallgrass.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
} else {
worldgeneratorLargeFern.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
}
} else {
if (rand.nextBoolean()) {
worldgeneratorDoubleTallgrass.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
} else {
worldgeneratorLargeFern.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
}
}
}
}
}
}
}
use of net.minecraft.world.gen.feature.WorldGenerator in project Realistic-Terrain-Generation by Team-RTG.
the class DecoMushrooms method generate.
@Override
public void generate(IRealisticBiome biome, RTGWorld rtgWorld, Random rand, int worldX, int worldZ, float strength, float river, boolean hasPlacedVillageBlocks) {
if (this.allowed) {
if (TerrainGen.decorate(rtgWorld.world, rand, new BlockPos(worldX, 0, worldZ), SHROOM)) {
// Let's figure out what the rand.nextInt() argument should be.
switch(this.randomType) {
case ALWAYS_GENERATE:
this.setChance(1);
break;
case USE_CHANCE_VALUE:
break;
case X_DIVIDED_BY_STRENGTH:
this.setChance((int) (this.randomFloat / strength));
break;
default:
break;
}
WorldGenerator worldGeneratorBrownShrooms = new WorldGenBush(Blocks.BROWN_MUSHROOM);
WorldGenerator worldGeneratorRedShrooms = new WorldGenBush(Blocks.RED_MUSHROOM);
this.setLoops((this.strengthFactor > 0f) ? (int) (this.strengthFactor * strength) : this.loops);
for (int i = 0; i < this.loops; i++) {
if (rand.nextInt(this.chance) == 0) {
// + 8;
int intX = worldX + rand.nextInt(16);
int intY = rand.nextInt(this.maxY);
// + 8;
int intZ = worldZ + rand.nextInt(16);
if (intY <= this.maxY) {
if (rand.nextBoolean()) {
worldGeneratorBrownShrooms.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
} else {
worldGeneratorRedShrooms.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
}
}
}
}
}
}
}
use of net.minecraft.world.gen.feature.WorldGenerator in project Realistic-Terrain-Generation by Team-RTG.
the class DecoPumpkin method generate.
@Override
public void generate(IRealisticBiome biome, RTGWorld rtgWorld, Random rand, int worldX, int worldZ, float strength, float river, boolean hasPlacedVillageBlocks) {
if (this.allowed) {
if (TerrainGen.decorate(rtgWorld.world, rand, new BlockPos(worldX, 0, worldZ), PUMPKIN)) {
// Let's figure out what the rand.nextInt() argument should be.
switch(this.randomType) {
case ALWAYS_GENERATE:
this.setChance(1);
break;
case USE_CHANCE_VALUE:
break;
case X_DIVIDED_BY_STRENGTH:
this.setChance((int) (this.randomFloat / strength));
break;
default:
break;
}
WorldGenerator worldGenerator = new WorldGenPumpkin();
this.setLoops((this.strengthFactor > 0f) ? (int) (this.strengthFactor * strength) : this.loops);
for (int i = 0; i < this.loops; i++) {
if (rand.nextInt(this.chance) == 0) {
int intX = worldX + rand.nextInt(16) + 8;
int intY = rand.nextInt(this.maxY);
int intZ = worldZ + rand.nextInt(16) + 8;
if (intY <= this.maxY) {
worldGenerator.generate(rtgWorld.world, rand, new BlockPos(intX, intY, intZ));
}
}
}
}
}
}
Aggregations