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

Версия Minecraft
1.12.2
API
Forge
70
1
7
Я создал мод, где добавил руду аметиста, но без генерации этой руды она бесполезна. Подскажите, как можно добавить руду в генерацию. Заранее спасибо. И кстати, я уже искал в интернете.
 
Решение
Чел,ну блин,ну гугл\яндекс\учебники\исходный код майнкрафта созданы для того,чтоб искать,а ты сразу на форум.
А если ты как пишешь "искал",то почему у меня с первого запроса нашло,а у тебя нет?

код @Garik
Пост - Клик.
Java:
public class MistyThaumcraftWorldGenerator implements IWorldGenerator
{
    private WorldGenerator ore_amber;
   
    public MistyThaumcraftWorldGenerator()
    {
        ore_amber = new WorldGenMinable(RegisterBlocks.ore_amber.getDefaultState(), 9);
    }

    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
    {
        switch(world.provider.getDimension())
        {
        case 0...
Чел,ну блин,ну гугл\яндекс\учебники\исходный код майнкрафта созданы для того,чтоб искать,а ты сразу на форум.
А если ты как пишешь "искал",то почему у меня с первого запроса нашло,а у тебя нет?

код @Garik
Пост - Клик.
Java:
public class MistyThaumcraftWorldGenerator implements IWorldGenerator
{
    private WorldGenerator ore_amber;
   
    public MistyThaumcraftWorldGenerator()
    {
        ore_amber = new WorldGenMinable(RegisterBlocks.ore_amber.getDefaultState(), 9);
    }

    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
    {
        switch(world.provider.getDimension())
        {
        case 0:
           
            runGenerator(ore_amber, world, random, chunkX, chunkZ, 80, 5, 180);
           
            break;
           
        case 1:
           
            break;
           
        case -1:
       
            break;
        }
    }
   
    private void runGenerator(WorldGenerator gen, World world, Random rand, int chunkX, int chunkZ, int chance, int minHeight, int maxHeight)
    {
        if(minHeight > maxHeight || minHeight < 0 || maxHeight > 256) throw new IllegalArgumentException("Ore generated out of bounds");
        int heightDiff = maxHeight - minHeight + 1;
       
        for(int i = 0; i < chance; i++)
        {
            int x = chunkX * 16 + rand.nextInt(16);
            int y = minHeight + rand.nextInt(heightDiff);
            int z = chunkZ * 16 + rand.nextInt(16);
           
            gen.generate(world, rand, new BlockPos(x, y, z));
        }
    }

}
 
@DARKroman,на будущее.
Форум это не то место,где за тебя всё будут делать,прежде чем идти на форум,попробуй сделать сам и если уже не получиться,создавай тему и описывай проблему прикрепляя код.
Тут нету ванг,ну хотя возможно @tox1cozZ ванга и всё :D
 
Последнее редактирование:
70
1
7
Спасибо большое!!! Я специально для этого
Чел,ну блин,ну гугл\яндекс\учебники\исходный код майнкрафта
написал в заголовке, что я уже искал и искал много. Тебя не виню, но я де написал.
 
Спасибо большое!!! Я специально для этого

написал в заголовке, что я уже искал и искал много. Тебя не виню, но я де написал.
Возможно не правильно искал, не виню :)
Старайся при поиске, дописывать "java"
Пример - генерация руд minecraft java 1.12.2
 

Вложения

  • Screenshot_20201012_210909_com.android.chrome.jpg
    Screenshot_20201012_210909_com.android.chrome.jpg
    557.8 KB · Просмотры: 13
70
1
7
Илья, это твой код?
ge:
package com.test.mod.generate.GenerateOre;

import java.util.Random;

import com.test.mod.init.InitBlocks;

import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.IChunkGenerator;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.fml.common.IWorldGenerator;

public class GenerateOre implements IWorldGenerator
{
    private WorldGenerator ore_amber;
    
    public GenerateOre()
    {
        ore_amber = new WorldGenMinable(InitBlocks.Amethist_ORE.getDefaultState(), 9);
    }

    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
    {
        switch(world.provider.getDimension())
        {
        case 0:
            
            runGenerator(ore_amber, world, random, chunkX, chunkZ, 20, 5, 180);
            break;
            
        case 1:
            
            break;
            
        case -1:
        
            break;
        }
    }
    
    private void runGenerator(WorldGenerator gen, World world, Random rand, int chunkX, int chunkZ, int chance, int minHeight, int maxHeight)
    {
        if(minHeight > maxHeight || minHeight < 0 || maxHeight > 256) throw new IllegalArgumentException("Ore generated out of bounds");
        int heightDiff = maxHeight - minHeight + 1;
        
        for(int i = 0; i < chance; i++)
        {
            int x = chunkX * 16 + rand.nextInt(16);
            int y = minHeight + rand.nextInt(heightDiff);
            int z = chunkZ * 16 + rand.nextInt(16);
            
            gen.generate(world, rand, new BlockPos(x, y, z));
        }
    }

}
Я искал в других вопросах. Но если я как-то нашёл этот код через Илью, я конечно его отмечу!
 
Сверху