[1.7.10] GameRegistry блоков/предметов и др. в другом классе

Статус
В этой теме нельзя размещать новые ответы.
667
7
2
Нужно Регистрировать например блоки, предметы ну и всё остальное в разных классах, дабы это всё добро не путалось. Конечно прям великого порядка этим не добьёшься. Но так намного удобнее. Например у меня есть самая обычная регистрация блока:

Код:
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
    GameRegistry.registerBlock(myItem, "myItem");
}
Как сделать это в отдельном классе. Конечно вопрос больше чем уверен глупый и очень сильно банальный, но увы во всех "туториалах" регистрацию делают в основном классе.
 

Icosider

Kotliner
Администратор
3,600
99
663
virysD написал(а):
Нужно Регистрировать например блоки, предметы ну и всё остальное в разных классах, дабы это всё добро не путалось. Конечно прям великого порядка этим не добьёшься. Но так намного удобнее. Например у меня есть самая обычная регистрация блока:

Код:
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
    GameRegistry.registerBlock(myItem, "myItem");
}
Как сделать это в отдельном классе. Конечно вопрос больше чем уверен глупый и очень сильно банальный, но увы во всех "туториалах" регистрацию делают в основном классе.
Тебе нужно это всё в clientproxy сместить.
//ClientProxy
Код:
public class ClientProxy entends CommonProxy//(или serverproxy)
{
  public static Item TestItem = new TestItem();
  public static Item Dildo = new Dildo();
  
  @Override
  public void Register() 
  {
    GameRegistry.registerBlock(TestItem, "myTestItem");
    GameRegistry.registerBlock(Dildo, "myDildo");
  }
}

//CommonProxy
Код:
public void Register() {}

//MainClass
Код:
proxy.Register();//proxy = public static CommonProxy proxy;
 

timaxa007

Модератор
5,831
409
672
Код:
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
    MyBlocks.init();
    MyItems.init();
}

MyBlocks
Код:
public class MyBlocks {

    public static Block block_test;

    public static void init() {

        block_test = new BlockTest();
        GameRegistry.registerBlock(block_test, "block_test");

    }

}
MyItems
Код:
public class MyItems {

    public static Item item_test;

    public static void init() {

        item_test = new ItemTest();
        GameRegistry.registerItem(item_test, "item_test");

    }

}
 
667
7
2
Спасибо, всё работает. Можно закрывать.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху