Проблема с генерацией руд

Версия Minecraft
1.7.10
57
1
Java:
public void generateOverworld(World world, Random rand, int blockXPos, int blockZPos) {
        List<ItemStack> Yashma = testMain.getOres("Yashma");
        if (!Yashma.isEmpty()) addOreSpawn(Block.getBlockFromItem(Yashma.get(0).getItem()), Blocks.stone, world, rand, blockXPos, blockZPos,6,5,3,7,1,3,50,5,30);
    }
Если что, яшма это новая руда, а testMain, это класс в котором регистрируются новые итемы, блоки и т.д. ( а так же создаются переменные )
Проблема собственно вот в этом:Screenshot_1.png
Не понимаю как импортировать:
DesFQzCKGtw.jpgR9RiccTYUzU.jpg
 
57
1
Все что связано с генератором в Мейне:
Java:
public static YashmaGenerator YashmaGenerator = new YashmaGenerator();

GameRegistry.registerWorldGenerator(YashmaGenerator, 0);
А это сам класс генератора:
Java:
package com.test;

import java.util.List;
import java.util.Random;

import com.mojang.realmsclient.dto.Ops;

import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.Block;
import net.minecraft.block.BlockStone;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.structure.StructureMineshaftPieces.Room;

public class YashmaGenerator implements IWorldGenerator{
    @Override
    public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {

            generateOverworld(rand, chunkX, chunkZ, world);
            generateNether(rand, chunkX, chunkZ, world);
            generateEnd(rand, chunkX, chunkZ, world);

    }

    private void generateOverworld(Random rand, int chunkX, int chunkZ, World world) {

        generateOverworld(world, rand, chunkX * 16, chunkZ * 16);

    }

    private void generateNether(Random rand, int chunkX, int chunkZ, World world) {

        generateNether(world, rand, chunkX * 16, chunkZ * 16);

    }

    private void generateEnd(Random rand, int chunkX, int chunkZ, World world) {

        generateEnd(world, rand, chunkX * 16, chunkZ * 16);

    }

    public void generateOverworld(World world, Random rand, int blockXPos, int blockZPos) {
        addOreSpawn(testMain.Yashma, Blocks.stone, world, rand, blockXPos, blockZPos,6,5,3,7,1,3,100,5,30);
        System.out.println("Yashma");
    }

    private void addOreSpawn(Block blockFromItem, Block stone, World world, Random rand, int blockXPos, int blockZPos,
            int max6, int max5, int min3, int max7, int min1, int max3, int chancesToSpawn100, int min5, int max30) {
       
    }

    public void generateNether(World world, Random rand, int blockXPos, int blockZPos) {
    }

    public void generateEnd(World world, Random rand, int blockXPos, int blockZPos) {



    }

    public static void addOreSpawn(Yashma block, Block stone, World world, Random rand, int blockXPos, int blockZPos, int max6, int max5, int min3, int max7, int min1, int max3, int chancesToSpawn100, int min5, int max30) {

        if (rand.nextInt(101) < (100 - chancesToSpawn100)) return;

        int veins = rand.nextInt(max3 - min1 + 1) + min1;

        for (int i = 0; i < veins; i++) {

            int posX = blockXPos + rand.nextInt(max7);
            int posY = min5 + rand.nextInt(max30 - min5);
            int posZ = blockZPos + rand.nextInt(max7);

            (new WorldGenMinable(block, min3 + rand.nextInt(max7 - min3 + 1), stone)).generate(world, rand, posX, posY, posZ);

        }
    }
}
Логи скидывать смысла не вижу, т.к. не вылетает и там все по стандарту
Если что - яшма это новая руда
 
1,369
112
241
Смотри, у тебя неправильно написан метод addOreSpawn - их 2 штуки. И 1 заменяет другой, на пустой, удали его. Тогда должно генериться. И начни наконец учить Java. Без неё никак, хоть ты и думаешь что можно и без.
 
57
1
Ладно, обещаю, что после этого мода начну учить джаву.
Удалил метод, но ничего не заработало:
Java:
package com.test;

import java.util.List;
import java.util.Random;

import com.mojang.realmsclient.dto.Ops;

import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.Block;
import net.minecraft.block.BlockStone;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.structure.StructureMineshaftPieces.Room;

public class YashmaGenerator implements IWorldGenerator{
    @Override
    public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
 
            generateOverworld(rand, chunkX, chunkZ, world);
            generateNether(rand, chunkX, chunkZ, world);
            generateEnd(rand, chunkX, chunkZ, world);
 
    }

    private void generateOverworld(Random rand, int chunkX, int chunkZ, World world) {
 
        generateOverworld(world, rand, chunkX * 16, chunkZ * 16);

    }

    private void generateNether(Random rand, int chunkX, int chunkZ, World world) {
 
        generateNether(world, rand, chunkX * 16, chunkZ * 16);

    }

    private void generateEnd(Random rand, int chunkX, int chunkZ, World world) {
 
        generateEnd(world, rand, chunkX * 16, chunkZ * 16);

    }

    public void generateOverworld(World world, Random rand, int blockXPos, int blockZPos) {
        addOreSpawn(testMain.Yashma, Blocks.stone, world, rand, blockXPos, blockZPos,6,5,3,7,1,3,100,5,30);
        System.out.println("Yashma");
    }

    public void generateNether(World world, Random rand, int blockXPos, int blockZPos) {
    }

    public void generateEnd(World world, Random rand, int blockXPos, int blockZPos) {



    }
 
    public static void addOreSpawn(Block Yashma, Block stone, World world, Random rand, int blockXPos, int blockZPos, int max6, int max5, int min3, int max7, int min1, int max3, int chancesToSpawn100, int min5, int max30) {

        if (rand.nextInt(101) < (100 - chancesToSpawn100)) return;

        int veins = rand.nextInt(max3 - min1 + 1) + min1;

        for (int i = 0; i < veins; i++) {

            int posX = blockXPos + rand.nextInt(max7);
            int posY = min5 + rand.nextInt(max30 - min5);
            int posZ = blockZPos + rand.nextInt(max7);
 
            (new WorldGenMinable(Yashma, min3 + rand.nextInt(max7 - min3 + 1), stone)).generate(world, rand, posX, posY, posZ);

        }
    }
}
 
1,369
112
241
Java:
            (new WorldGenMinable(ore, minVeinSize + rand.nextInt(maxVeinSize - minVeinSize + 1),
                    replace)).generate(world, rand, posX, posY, posZ);
Проведи рефакторинг кода, а то прочитать нормально невозможно. И Doc-коммент лучше не удалять, помогает зачастую.
Скорее всего используешь не те переменные. Вот здесь рабочий генератор.
 
3,005
192
592
57
1
Java:
            (new WorldGenMinable(ore, minVeinSize + rand.nextInt(maxVeinSize - minVeinSize + 1),
                    replace)).generate(world, rand, posX, posY, posZ);
Проведи рефакторинг кода, а то прочитать нормально невозможно. И Doc-коммент лучше не удалять, помогает зачастую.
Скорее всего используешь не те переменные. Вот здесь рабочий генератор.
Сейчас попробую
 
57
1
Скопировал код, теперь хочу задать 2 вопроса после которых скорее всего генератор заработает:
1) Через что импортировать Random?
2) Проблема еще в том, что когда я все импортирую, то в методе generateOverworld, происходит какая-то ошибка в addOreSpawn, он просит либо создать метод, либо изменить тот, который снизу, вот код:
Java:
package com.test;

import java.util.Random;

import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.BlockStone;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;

public class YashmaGenerator implements IWorldGenerator{
    @Override
    public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
            
            generateOverworld(rand, chunkX, chunkZ, world);
            generateNether(rand, chunkX, chunkZ, world);
            generateEnd(rand, chunkX, chunkZ, world);
            
    }
    
    private void generateOverworld(Random rand, int chunkX, int chunkZ, World world) {
            
        generateOverworld(world, rand, chunkX * 16, chunkZ * 16);

    }
    
    private void generateNether(Random rand, int chunkX, int chunkZ, World world) {
            
        generateNether(world, rand, chunkX * 16, chunkZ * 16);
        
    }
    
    private void generateEnd(Random rand, int chunkX, int chunkZ, World world) {
            
        generateEnd(world, rand, chunkX * 16, chunkZ * 16);
        
    }
    
    public void generateOverworld(World world, Random rand, int blockXPos, int blockZPos) {

        addOreSpawn(testMain.Yashma, Blocks.stone, world, rand, blockXPos, blockZPos, 16, 16, 1, 2, 1, 1, 10, 5, 6);
        
    }
    
    public void generateNether(World world, Random rand, int blockXPos, int blockZPos) {

    }
    
    public void generateEnd(World world, Random rand, int blockXPos, int blockZPos) {
    
    }
    
    public static void addOreSpawn(Yashma ore, BlockStone replace, World world, Random rand, int blockXPos, int blockZPos, int max50, int max49,
int min4, int max8, int min10, int max15, int chanceToSpawn100, int min13, int max30) {
        if (rand.nextInt(101) < (100 - chanceToSpawn100)) return;
        int veins = rand.nextInt(max15 - min10 + 1) + min10;
        for (int i = 0; i < veins; i++) {
            int posX = blockXPos + rand.nextInt(max50);
            int posY = min13 + rand.nextInt(max30 - min13);
            int posZ = blockZPos + rand.nextInt(max49);
            (new WorldGenMinable(ore, min4 + rand.nextInt(max8 - min4 + 1),
                    replace)).generate(world, rand, posX, posY, posZ);
        }
    }
}
А это уже сама ошибка:
_H1XS6raWd4.jpg
 
1,369
112
241
Что, простите? (Doc-коммент)

У меня все норм:
Посмотреть вложение 5537
Я нормально прочитать не могу, сори. Меня учили делать более-менее читаемый код, а не ЭТО.

@Kedavra, Random импортируется от Jav'ы, передаёшь в Yashma не блок, а надо блок. P.S. Нажми PrtScr и Ctrl+V в пайинт = скрин экрана.
 
7,099
324
1,510
Если хочешь код отправить - копируй его и вставляй при помощи этого:
1559730765761-png.5542
1559730846185.png
 
7,099
324
1,510
Ошибку ты не показал, для ошибки попробуй собрать и скопируй че в логе сборки напишет
 
7,099
324
1,510
Лог сборки, а не лог запуска. На скрине у тебя addOreSpawn красным подчеркнуто. Предыдущие ответы я смотрел
 
Сверху