как добавить блок в генерацию мира не как руду

17
0
я пытаюсь научится писать моды блок я уже создал теперь мне надо добавить его в генерацию мира но не как руду а на пример как цветы
 
public class generator extends WorldGenerator 
{
private Block flower;
   private int meta;

   public generator(Block flower, int metadata)
   {
       this.flower = flower;
       this.meta = metadata;
       System.out.println("test1");
   }

   public boolean generate(World world, Random rand, int i, int j, int k)
   {
       for (int var6 = 0; var6 < 64; ++var6)
       {
        System.out.println("test2");
           int var7 = i + rand.nextInt(8) - rand.nextInt(8);
           int var8 = j + rand.nextInt(4) - rand.nextInt(4);
           int var9 = k + rand.nextInt(8) - rand.nextInt(8);

           if (world.isAirBlock(var7, var8, var9) && (!world.provider.hasNoSky || var8 < 255) && this.flower.canBlockStay(world, var7, var8, var9))
           {
               world.setBlock(var7, var8, var9, this.flower, this.meta, 1);
               System.out.println("test3");
           }
           }

       return true;
   }
}
использую вот это но не работает
 
АУ ЕСТЬ КТО ЖИВОЙ
[merge_posts_bbcode]Добавлено: 02.04.2016 01:41:12[/merge_posts_bbcode]

AlexSocol написал(а):
Бери и смотри в ворлдген цветов. Moreover, такая тема уже была
я пытаюсь сделать что то подобное но код просто не выполняется при гинирации мира и да версия 1.7.10
 
ну ок вот этот код в класс генератора 
public void generateOverworld(World world, Random rand, int x, int z) {
for (int y = 16; y < 128; y++) {
for (int x1 = x; x1 < x + 16; x1++) {
for (int z1 = z; z1 < z + 16; z1++) {

if (world.getBlock(x1, y - 1, z1) == TestMod.testOre && world.isAirBlock(x1, y, z1))
{
world.setBlock(x1, y, z1, TestMod.testGrass);
}
}
}
}
} а как его зарегистрировать  в главном классе ?
 
ну он требует что бы это выглядело так
public class Generator implements IWorldGenerator
{

public void generateOverworld(World world, Random rand, int x, int z) {
        for (int y = 16; y < 128; y++) {
        for (int x1 = x; x1 < x + 16; x1++) {
        for (int z1 = z; z1 < z + 16; z1++) {
     
            if (world.getBlock(x1, y - 1, z1) == core.BELECTRA && world.isAirBlock(x1, y, z1))
            {
            world.setBlock(x1, y, z1, core.BELECTRA);
            }
        }
        }
        }
    }

}
но так в самом классе возникает ошибка The type Generator must implement the inherited abstract method IWorldGenerator.generate(Random, int, int, World, IChunkProvider, 
 IChunkProvider)
 
Назад
Сверху