Регистрация предмета

Версия Minecraft
1.12.2
Доброе время суток.
Посмотрел учебник на сайте и пару видосов на YT, сделал class предмета и class регистрации. Но, при заходе в игру, предмета нету.
Можете подсказать, где я сделал ошибку:
Class регистрации предмета:
Java:
package com.pykubbepx.kayrisondesign.items;

import com.pykubbepx.kayrisondesign.basic.BasicFood;
import com.pykubbepx.kayrisondesign.basic.BasicItem;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.ForgeRegistries;

public class ItemReg
{
    public static Item kayitem = new BasicItem("kayitem", 1);
    
    public static void register()
    {
        setRegister(kayitem);
    }
    
    public static void registerRender()
    {
        setRender(kayitem);
    }
    
    private static void setRegister(Item item)
    {
        ForgeRegistries.ITEMS.register(item);
    }
    
    private static void setRender(Item item)
    {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
    }

}
Class самого предмета:
Java:
package com.pykubbepx.kayrisondesign.basic;

import com.pykubbepx.kayrisondesign.MainClass;
import net.minecraft.item.Item;

public class BasicItem extends Item{
    public BasicItem(String name,int maxStackSize) {
        this.setRegistryName(name);
        this.setCreativeTab(MainClass.tabMain);
        this.setUnlocalizedName(name);
        this.setMaxStackSize(maxStackSize);
    }

}
 
Решение
Я чуваку говорил, шо прокси не обязательно юзать и эти методы не необходимо вызывать, но это только в случае подписки на события регистрации... Вангую, он не вызвал эти методы в прокси или не зарегал прокси.
Брат, прочитай выше. МОД работает хорошо. Я могу забилдить проект, взять мод и закинуть его в ТЛаунчер и запустить.
При запуске самого ран килента в еклипсе уже проблемка. Майнкрафт запускается, мод тоже, но без текстур.
Вопрос: Мне нужно куда-то закидывать текстурки отдельно?
 

WantaSanchez

Опоздун
633
17
150
в жопу ваши хот-свапы. в жопу адекватный дебаггинг.
А что тебе мешает добавить в runClient { ... } флаги для уровня логирования?
Да и начинающему не надо логирование каждого чиха, важная инфа и так в консоли пишется.
 

will0376

Токсичная личность
2,079
55
585

WantaSanchez

Опоздун
633
17
150
эм. я тебе про хотсвап и дебаггинг говорю, так-то... т.е
Ну, каждому своё. Дебаггинг я практически не юзаю, ибо незачем. Хотсвап, я хз чо это, в моём представление это своп, если ты о фиче кузни/майна, то я хз, да и врятли это надо новичку. Или не?
 
Cleint Proxy
Java:
package com.pykubbepx.kayrisondesign.proxy;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ClientProxy extends CommonProxy
{
    public void registerItemRenderer(Item item, int meta, String id)
    {
        ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
        
    }
    @Override
    public void preInit(FMLPreInitializationEvent event)
    {
        super.preInit(event);
    }

    @Override
    public void Init(FMLInitializationEvent event)
    {
        super.Init(event);
    }

    @Override
    public void postInit(FMLPostInitializationEvent event)
    {
        super.postInit(event);
    }
}
Models Block
JSON:
{
   "parent": "block/cube_all",
   "textures": {
       "all": "kaydes:blocks/ruby_block"
   }
}
 
Обработчик

Java:
package com.pykubbepx.kayrisondesign.util.handlers;

import com.pykubbepx.kayrisondesign.init.ModBlocks;
import com.pykubbepx.kayrisondesign.init.ModItems;
import com.pykubbepx.kayrisondesign.util.IHasModel;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber
public class RegistryHandler
{
    @SubscribeEvent
    public static void onItemRegister(RegistryEvent.Register<Item> event)
    {
        event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
        
    }
    
    @SubscribeEvent
    public static void onBlockRegister(RegistryEvent.Register<Block> event)
    {
        event.getRegistry().registerAll(ModBlocks.BLOCKS.toArray(new Block[0]));
        
    }
    
    
    @SubscribeEvent
    public static void onModelRegistry(ModelRegistryEvent event)
    {
        for(Item item : ModItems.ITEMS)
        {
            if(item instanceof IHasModel)
            {
                ((IHasModel)item).registerModels();
            }
        }
        
        for(Block block : ModBlocks.BLOCKS)
        {
            if(block instanceof IHasModel)
            {
                ((IHasModel)block).registerModels();
            }
        }
        
    }
}
 

will0376

Токсичная личность
2,079
55
585
Хотсвап, я хз чо это
Ну да... запустить клиент 1 кликом vs запустить клиент 2-3 кликами.
 
Сверху