изменение генерации мира

Версия Minecraft
1.12.2
15
1
как изменить генерацию мира так чтобы заместо камня спавнился мой камень , железо и т.д или отключить
 
699
9
53
Учебник по русскому языку могу тебе порекомендовать.
Если ты хочешь что-бы вместо руд и камня спанился только твой камень, то либо лови эвент генерации, либо делай IWorldGenerator, регай его и каждый чанк полностью циклом проходи и камень заменяй на твой камень, но это я думаю не очень скажется на производительности. Зачем собсна нужно заменять.
 
1,031
19
87
Java:
@Override
    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {

        runGenerator(ModBlocks.tutorialOre.getDefaultState(), 7, 10, 12, 50, BlockMatcher.forBlock(Blocks.STONE), world, random, chunkX, chunkZ);

    }
    
    private void runGenerator(IBlockState blockToGen, int blockAmount,  int chancesToSpawn, int minHeight, int maxHeight, Predicate<IBlockState> blockToReplace, World world, Random rand, int chunk_X, int chunk_Z){
    
    if (minHeight < 0 || maxHeight > 256 || minHeight > maxHeight)
    
        throw new IllegalArgumentException("Illegal Height Arguments for WorldGenerator");

    WorldGenMinable generator = new WorldGenMinable(blockToGen, blockAmount, blockToReplace);
    int heightdiff = maxHeight - minHeight +1;
    for (int i=0; i<chancesToSpawn; i++){
    int x = chunk_X * 16 +rand.nextInt(16);
    int y = minHeight + rand.nextInt(heightdiff);
    int z = chunk_Z * 16 + rand.nextInt(16);
    generator.generate(world, rand, new BlockPos(x, y, z));
    
}
В этом поле : BlockMatcher.forBlock(Blocks.STONE) указывается какой блок при генерации можно заменить на твой. Можно таким образом для руд сделать, но нужно ставить большие значения шанша и концентрации. Внимание! Метод может иметь костыли!
 
1,031
19
87
если это работает правильно то лагодром
Я как использовал такую генерацию то всё отлично работает, но если заменять все блоки одного типа в чанке, то да, уровень фризов возрастает в разы (и тут вспомнилась каскадная генерация в мире...). А так думаю для замены ванильных руд сойдёт.
ЗЫ: я сам в ответе предупреждал что метод возможно костыльный)
 
Сверху