Наконец то смог сделать вполне адекватную генерацию растений, но вот беда, не могу привязать генерацию растений к определенному биому. Пытался ту лить строку кода на определенный биом из другого генератора, но не чего не выходит. Вот код, может кто сможет помочь:
Код:
package assets.anotherworld;
import java.util.Random;
import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.BiomeGenForest;
import net.minecraft.world.biome.BiomeGenDesert;
import net.minecraft.world.biome.BiomeGenSwamp;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraftforge.common.BiomeDictionary;
public class TestovayaGen implements IWorldGenerator {
@Override
public void generate(Random random, int x, int z, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
if(random.nextInt(10) == 0){
if (world.getBiomeGenForCoords(x, z).biomeID == BiomeGenBase.swampland.biomeID);
int a = 90, id1 = anotherworld.BolotnikGen.blockID, id2= Block.grass.blockID;
for (int q = 0; q < a; ++q)
{
int xCoord = x * 16 + random.nextInt(16), zCoord = z * 16 + random.nextInt(16), yCoord = world.getHeightValue(xCoord, zCoord);
if(world.getBlockId(xCoord, yCoord - 1, zCoord) == id2&& world.getBlockId(xCoord, yCoord, zCoord) == 0) world.setBlock(xCoord, yCoord, zCoord, id1);
}
}
if(random.nextInt(10) == 0){
if (world.getBiomeGenForCoords(x, z).biomeID == BiomeGenBase.forest.biomeID || world.getBiomeGenForCoords(x, z).biomeID == BiomeGenBase.forestHills.biomeID);
int b = 90, ida = anotherworld.BuzinaGen.blockID, idb= Block.grass.blockID;
for (int q1 = 0; q1 < b; ++q1)
{
int xCoord = x * 16 + random.nextInt(16), zCoord = z * 16 + random.nextInt(16), yCoord = world.getHeightValue(xCoord, zCoord);
if(world.getBlockId(xCoord, yCoord - 1, zCoord) == idb&& world.getBlockId(xCoord, yCoord, zCoord) == 0) world.setBlock(xCoord, yCoord, zCoord, ida);
}
}
if(random.nextInt(10) == 0){
if (world.getBiomeGenForCoords(x, z).biomeID == BiomeGenBase.forest.biomeID || world.getBiomeGenForCoords(x, z).biomeID == BiomeGenBase.forestHills.biomeID);
int c = 90, idc = anotherworld.KrasnBuzinaGen.blockID, ide= Block.grass.blockID;
for (int q2 = 0; q2 < c; ++q2)
{
int xCoord = x * 16 + random.nextInt(16), zCoord = z * 16 + random.nextInt(16), yCoord = world.getHeightValue(xCoord, zCoord);
if(world.getBlockId(xCoord, yCoord - 1, zCoord) == ide&& world.getBlockId(xCoord, yCoord, zCoord) == 0) world.setBlock(xCoord, yCoord, zCoord, idc);
}
}
}
}