Вы используете устаревший браузер

Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь то более современного браузера. :(

Как сделать генерацию структур

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    Как можно замутить генерацию структур на определенном биоме?
    senyaiv, f1rSt1k25 нравится это сообщение.

    #1 | 8 января 2014 - 22:13

    f1rSt1k25
    не в сети

    Олдфаги

    Звание: V.I.P на хуторе

    Трофеев: 9

    Сообщений: 559

    Симпатий: 266

    В мире есть метод, возвращающий биом по координатам.
    Сделай простую проверочку в своем генераторе и все.
    if(worldObj.getBiomeGenForCoords(x, y) == BiomeGenBase.desert){}
    Soprano_Faliston, Gevorg2012, XpycTeam нравится это сообщение.

    Делаю моды на заказ. Очень качественно и недорого! Писать в Вконтакт c пометкой 'Заказ мода'.

    #2 | 8 января 2014 - 22:40

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    f1rSt1k25,
    НЕ могли бы вы мне по подробней рассказать.

    #3 | 6 марта 2014 - 21:39

    f1rSt1k25
    не в сети

    Олдфаги

    Звание: V.I.P на хуторе

    Трофеев: 9

    Сообщений: 559

    Симпатий: 266

    Asd1995sse,
    Создаешь класс, extends WorldGenerator. Я не помню правда, но он вроде абстрактный, по-этому заставит тебя создать булев метод generate. В нем уже и пишешь структуру.
    Затем в своем генераторе пишешь new Class_Strukturi().generate(..args..);
    Вот и все.
    P.S В гугле куча туториалов.

    Делаю моды на заказ. Очень качественно и недорого! Писать в Вконтакт c пометкой 'Заказ мода'.

    #4 | 6 марта 2014 - 23:41

    TheProFinch
    не в сети

    ТруЪ Олдфаги-с

    Звание: Искуственный AI, блеять

    Трофеев: 14

    Сообщений: 5850

    Симпатий: 2871

    Посмотри на биом джунглей или пустыни, там должен быть ген структур. Или структуры...

    #5 | 7 марта 2014 - 03:29

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    f1rSt1k25,
    Я имел ввиду мой первый вопрос. Про генерацию структур и блоков только в определенном биоме.

    #6 | 7 марта 2014 - 15:58

    f1rSt1k25
    не в сети

    Олдфаги

    Звание: V.I.P на хуторе

    Трофеев: 9

    Сообщений: 559

    Симпатий: 266

    Asd1995sse,
    Ну проверку в свой генератор засунь и все.
    TheProFinch,
    Это все в ChunkProvider`е.

    Делаю моды на заказ. Очень качественно и недорого! Писать в Вконтакт c пометкой 'Заказ мода'.

    #7 | 7 марта 2014 - 16:23

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    f1rSt1k25,
    Я так понимаю вот это генератор?
    Или нужно то, что саму структуру генерирует?
    import java.util.Random;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import net.minecraft.world.chunk.IChunkProvider;
    import cpw.mods.fml.common.IWorldGenerator;
    
    public class CHAESgen implements IWorldGenerator
    {
    	
    	
    @Override
    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
    {
    switch(world.provider.dimensionId)
    
    {
    case 0: generateSurface(random, chunkX*16, chunkZ*16, world);
    break;
    }
    }
    private void generateSurface(Random random, int chunkX, int chunkZ, World world)
    {
    for(int k = 0; k < 80; k++)
    {
    int xCoord = chunkX + random.nextInt(16);
    int yCoord = random.nextInt(64);
    int zCoord = chunkZ + random.nextInt(16);
    new StructurGen().generate(world, random, zCoord, zCoord, zCoord);
    }
    }
    }


    if(worldObj.getBiomeGenForCoords(x, y) == BiomeGenBase.desert){}

    И что такое worldObj?
    Сообщение отредактировал Asd1995sse 9 марта 2014 - 22:21

    #8 | 9 марта 2014 - 22:18

    f1rSt1k25
    не в сети

    Олдфаги

    Звание: V.I.P на хуторе

    Трофеев: 9

    Сообщений: 559

    Симпатий: 266

    Asd1995sse,
    Блин, ну мир же это, мир! Тяжело понять что-ли?
    Сделай так и все:
    private void generateSurface(Random random, int chunkX, int chunkZ, World world){
        if(world.getBiomeGenForCoords(chunkX, chunkZ) == BiomeGenBase.desert){
            for(int k = 0; k < 80; k++){
                int xCoord = chunkX + random.nextInt(16);
                int yCoord = random.nextInt(64);
                int zCoord = chunkZ + random.nextInt(16);
                new StructurGen().generate(world, random, zCoord, zCoord, zCoord);
            }
        }
    }
    TheProFinch, XpycTeam нравится это сообщение.
    Сообщение отредактировал f1rSt1k25 9 марта 2014 - 23:29

    Делаю моды на заказ. Очень качественно и недорого! Писать в Вконтакт c пометкой 'Заказ мода'.

    #9 | 9 марта 2014 - 23:27

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    f1rSt1k25,
    А если я хочу свой биом то надо будет изменить так
    if(world.getBiomeGenForCoords(chunkX, chunkZ) == aBase.ronland)

    #10 | 10 марта 2014 - 14:35

    f1rSt1k25
    не в сети

    Олдфаги

    Звание: V.I.P на хуторе

    Трофеев: 9

    Сообщений: 559

    Симпатий: 266

    Asd1995sse,
    Ну да.

    Делаю моды на заказ. Очень качественно и недорого! Писать в Вконтакт c пометкой 'Заказ мода'.

    #11 | 10 марта 2014 - 15:44

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    Почему клиент крашится:
    package AsdIC2mod.Biomes;
    import java.util.Random;
    
    import AsdIC2mod.Base;
    import AsdIC2mod.Biomes.worldobj.Kusti;
    import AsdIC2mod.Biomes.worldobj.StructurGen;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import net.minecraft.world.chunk.IChunkProvider;
    import cpw.mods.fml.common.IWorldGenerator;
    
    public class CHAESgen implements IWorldGenerator{
    
    	@Override
    	public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
    		switch(world.provider.dimensionId)
    		{
    	case 0: generate(random, chunkX*16, chunkZ*16, world);	
    	break;
    		}
    	}
      private void generate (Random random, int chunkX, int chunkZ, World world){
    	  {
    		  for(int k = 0; k < 110; k++)
    		  {
    		  int xCoord = chunkX + random.nextInt(16);
    		  int yCoord = random.nextInt(150);
    		  int zCoord = chunkZ + random.nextInt(16);
    		  new StructurGen().generate(world, random, xCoord, yCoord, zCoord);
    	  }
    		  for(int k = 0; k < 110; k++)
    		  {
    		  int xCoord = chunkX + random.nextInt(16);
    		  int yCoord = random.nextInt(150);
    		  int zCoord = chunkZ + random.nextInt(16);
    		  new Kusti().generate(world, random, xCoord, yCoord, zCoord);
    	  }
    	  }
      }
      
      }
    

    Вот лог http://rghost.ru/52977465
    вот класс
    package AsdIC2mod.Biomes.worldobj;
    
    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.world.World;
    import net.minecraft.world.gen.feature.WorldGenerator;
    
    public class Kusti extends WorldGenerator
    {
    @Override
    public boolean generate(World world, Random random, int x, int y, int z)
    {
    {
    if(world.getBlockId(x, y, z) == 0 || world.getBlockMaterial(x, y, z) == Material.water || world.getBlockMaterial(x, y, z) == Material.lava)
    {
    return false;
    }
    int bl1 = Block.sand.blockID;
    //Base0
    world.setBlock(x, y, z, 32);
    world.setBlock(x, y-1, z, bl1);
    return true;
    }
    }
    }
    


    Причем если генерировать структуры по отдельности, то все работает.
    package AsdIC2mod.Biomes;
    import java.util.Random;
    
    import AsdIC2mod.Base;
    import AsdIC2mod.Biomes.worldobj.Kusti;
    import AsdIC2mod.Biomes.worldobj.StructurGen;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import net.minecraft.world.chunk.IChunkProvider;
    import cpw.mods.fml.common.IWorldGenerator;
    
    public class CHAESgen implements IWorldGenerator{
    
    	@Override
    	public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
    		switch(world.provider.dimensionId)
    		{
    	case 0: generate(random, chunkX*16, chunkZ*16, world);	
    	break;
    		}
    	}
      private void generate (Random random, int chunkX, int chunkZ, World world){
    	  {
    		  for(int k = 0; k < 110; k++)
    		  {
    		  int xCoord = chunkX + random.nextInt(16);
    		  int yCoord = random.nextInt(150);
    		  int zCoord = chunkZ + random.nextInt(16);
    		  new StructurGen().generate(world, random, xCoord, yCoord, zCoord);
    	  }
    		  
    	  }
      }
      
      }
    
    


    Ругается на строки:
    CHAESgen(это и есть генератор)
    
    22   new StructurGen().generate(world, random, xCoord, yCoord, zCoord);
    18   case 0: generate(random, chunkX*16, chunkZ*16, world);	
    

    StrukturGen(структура)
    
    32   world.setBlock(x, y, z, bl2);
    

    Ругается только на первую в списке прописанную структуру, но если генерировать только одну, то все прекрасно работает.

    По поводу биома. Я создал тестовый биом, с минимумом настроек:
    package AsdIC2mod.Biomes;
    import java.util.Random;
    import net.minecraft.block.Block;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import net.minecraft.world.biome.BiomeGenOcean;
    import net.minecraft.world.gen.feature.WorldGenDesertWells;
    import net.minecraft.world.gen.feature.WorldGenVines;
    public class Apobio extends BiomeGenBase {
    	public Apobio (int par1) {		
    		super(par1);
    		this.biomeName = "PostApoc";
    		this.topBlock = (byte)Block.stone.blockID;
    		this.setColor(1456435);
    		}	
    		 
    	}

    Зарегистрировал его:
    GameRegistry.addBiome(new Apobio(30));

    Но как бы я не старался, я не могу его добавить в
    if(world.getBiomeGenForCoords(chunkX, chunkZ) == Apobio.Apobio)
    Сообщение отредактировал Asd1995sse 11 марта 2014 - 12:52

    #12 | 11 марта 2014 - 12:06

    TheProFinch
    не в сети

    ТруЪ Олдфаги-с

    Звание: Искуственный AI, блеять

    Трофеев: 14

    Сообщений: 5850

    Симпатий: 2871

    Объяснять лень. jesus
    Сообщение отредактировал TheProFinch 11 марта 2014 - 15:45

    #13 | 11 марта 2014 - 15:40

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    TheProFinch,
    А смысл писать, если лень ? chan
    Сообщение отредактировал Asd1995sse 11 марта 2014 - 15:54

    #14 | 11 марта 2014 - 15:53

    TheProFinch
    не в сети

    ТруЪ Олдфаги-с

    Звание: Искуственный AI, блеять

    Трофеев: 14

    Сообщений: 5850

    Симпатий: 2871

    Asd1995sse,
    Я начал писать, но устал. happyf

    #15 | 11 марта 2014 - 16:17

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    TheProFinch,
    rage-no-whyyy

    #16 | 11 марта 2014 - 16:25

    TheProFinch
    не в сети

    ТруЪ Олдфаги-с

    Звание: Искуственный AI, блеять

    Трофеев: 14

    Сообщений: 5850

    Симпатий: 2871

    Кароче, мути новый ген для "Kusti" (быдло-класс)
    Сообщение отредактировал TheProFinch 11 марта 2014 - 17:10

    #17 | 11 марта 2014 - 17:09

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    Вы это по названию поняли?[ rzhaka

    #18 | 11 марта 2014 - 17:24

    TheProFinch
    не в сети

    ТруЪ Олдфаги-с

    Звание: Искуственный AI, блеять

    Трофеев: 14

    Сообщений: 5850

    Симпатий: 2871

    Asd1995sse,
    если честно, не люблю транслит.

    #19 | 11 марта 2014 - 18:04

    Asd1995sse
    не в сети

    Посетители

    Звание: Активный человек

    Трофеев: 3

    Сообщений: 27

    Симпатий: 2

    TheProFinch,
    Тогда почему по отдельности он генерирует? axez
    Сообщение отредактировал Asd1995sse 11 марта 2014 - 18:13

    #20 | 11 марта 2014 - 18:06

Статистика форума

Создано тем
13921
Написано сообщений
844725
Пользователей
373810
Новый участник
proilaman

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Крутой сервер 1.20.4

Тема в разделе: Игры

Ytenok

Просмотров: 24

Ответов: 0

Автор: Ytenok

Сегодня, 13:06

Помогите со сборкой на версии 1.7.10

Тема в разделе: Ваши вопросы по Minecraft

Zelsovich8321

Просмотров: 125

Ответов: 3

Автор: egg2003

Сегодня, 09:24

Майнкрафт сериал про средневековье

Тема в разделе: Проекты

LourKeK_YT

Просмотров: 139

Ответов: 0

Автор: LourKeK_YT

Вчера, 20:13

Видео/Стримы канал Ritterydam

Тема в разделе: Флудильня

ritterydam

Просмотров: 110773

Ответов: 530

Автор: ritterydam

Вчера, 17:23

Моды на терминатора для forge

Тема в разделе: Ваши вопросы по Minecraft

Prikalel

Просмотров: 178

Ответов: 0

Автор: Prikalel

Вчера, 13:09