Как тут в 1.12.2 работает ItemBlock?

Версия Minecraft
1.12.2
5,018
47
783
Как правильно зарегистрировать свой ItemBlock, помимо автоматического?
Сейчас так: для каждого моего блока автоматически регается итемблок

Java:
  public static void registerBlock(Block block) {
        ForgeRegistries.BLOCKS.register(block);
        ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
        
    }
Если создавать кастомный итемблок, то при его регистрации на один блок как бы два итемблока получается и выходит конфликт ид, соответсвенно :(
Че делать то?
 
3,005
192
592
Как банальный вариант:
Код:
if (block instanceof YourBadBlock)
    ForgeRegistries.ITEMS.register(new YourBadItemBlock(block).setRegistryName(block.getRegistryName()));
else
    ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
 
5,018
47
783
Как банальный вариант:
Код:
if (block instanceof YourBadBlock)
    ForgeRegistries.ITEMS.register(new YourBadItemBlock(block).setRegistryName(block.getRegistryName()));
else
    ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
ты не совсем верно написал, но идея правильная оказалась. Спасибо
 
Последнее редактирование:

Eifel

Модератор
1,624
79
609
Там как бы блоки - block - твой параметр в методе регистрации. Вроде все верно и что тебе надо. Если тебе для каждого блока, то придеться плодить элс-ифы, что не есть хорошо. Поэтому надо придумать более удобный способ.
 
5,018
47
783
я же могу для них отдельный класс сделать и инстансеофнуть. или просто && проставить
 
Сверху