Предметы и блоки в отдельный класс.

Сообщения
7
Лучшие ответы
0
Реакции
0
Версия Minecraft
1.7.10
Короче, я запутался, раньше всё нормально получалось, а сейчас я что-то делаю не так. Вот хотел уточнить, как сделать отдельный класс для предметов, и отдельный для блоков, чтобы предметы и блоки там же и регистрировались, у меня получилась какая-то дичь. Просто не хочу чтобы всё происходило в главном классе.
 
Сообщения
140
Лучшие ответы
3
Реакции
25
Лично я делаю в таком плане(для блоков, но такое же можно сделать и для айтемов).
Создаем отдельный класс, в моем случае это BlockLoader и в него записываем регистрацию.
Java:
public class BlockLoader {
    //к примеру создадим тестовый блок
    public static testblock testblock;
   
public static void init(){
    //и зарегаем его
    testblock = new Testblock();
    GameRegistry.registerBlock(testblock, "testblock");
   
    }
}
И после, наш Блоклоадер кидаем в преинит в главном классе:

Java:
@Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        //наш блок лоадер
        BlockLoader.init();
    }
 
Сообщения
2,927
Лучшие ответы
43
Реакции
557
В главном классе:
Java:
@Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {

        OresRegister.init(); //Регистрируем отдельный метод для GameRegistry нашего блока
      
    }
В классе OresRegister:
Java:
public class OresRegister {
    //Создаём блок при помощи аргументом из конструктора
    public static Block quartz_ore_deposit = new OresBlock(Material.rock, "pickaxe", 0)
            .setBlockName("quartz_ore_deposit").setStepSound(Block.soundTypePiston)
            .setBlockTextureName("oredeposits:quartz_ore");

    public static void init() {
      
        OresRegister(); //Создаём тот самый метод для GameRegistry 
      
    }

    public static void OresRegister() {

        GameRegistry.registerBlock(quartz_ore_deposit, "quartz_ore_deposit"); //Регистрируем наш блок в игре

    }

}
В классе OresBlock:
Java:
public class OresBlock extends Block {
  //Это наш блок с нашим конструктором
    public OresBlock(Material material, String toolClass, int level) {
      
        super(material);
      
        this.setCreativeTab(CreativeTabs.tabBlock);
        this.setHarvestLevel(toolClass, level);
        this.setHardness(3.0F);
        this.setResistance(5.0F);
      
    }
}
 
Сообщения
38
Лучшие ответы
0
Реакции
0
Я конечно полный нуб, но мб помогу. (Мб Хреново объясню но помочь хочу (ибо у самого были те же проблемы))
Короч основы у тя там должно быть CommonProxy и он связан с Главным классом т.д.. как по туториалу.

Common Proxy:
Java:
package com.name.proxy;

import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import com.name.blocks.blocks; //Это тип класс где все регистрируется мб и blocks и items.
import net.minecraft.block.Block;

public class CommonProxy {
   
    public void preInit(FMLPreInitializationEvent event)
    {
        blocks.registerBlocks();  // это вызов метода из того класса

    }

    public void init(FMLInitializationEvent event)
    {

    }

    public void postInit(FMLPostInitializationEvent event) {

    }

}
теперь класс для регистрации
у меня blocks.java

Код:
package com.name.blocks;

import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;

public class blocks {
   

    public static void registerBlocks()
    {

        Block BlockTest = new BlockTest();      // это регистрация блока "BlockTest"
        GameRegistry.registerBlock(BlockTest, "BlockTest");
}

    public static void registerBlocksRender()
    {

    }

}
Так-же с итемами ток чуть нечто изменить и все.

P.s. Не кидайте в меня гнилые помидоры...
 
Сообщения
2,927
Лучшие ответы
43
Реакции
557
P.s. Не кидайте в меня гнилые помидоры...
А хотелось бы...
Если уж решил в CommonProxy регистрировать, то хотя бы сказал как сам CommonProxy надо регистрировать. Мы как не как имеем дело с нубов @MisterPjatka (судя по всему).

(Не то что бы у меня с кодом было всё супер-пупер, но это реально плохо...)
 
Сообщения
38
Лучшие ответы
0
Реакции
0
Ну я же написал, что если по туториалу идти...
Ну и + я сам нуб.
+ у себя экспериментировал , терь у меня регистрация без прокси.
 
Последнее редактирование:
Сверху