Не регистрируется предмет

Версия Minecraft
1.12.2
37
0
Попытался создать предмет с названием "coin". ID Мода - "test".
Основной файл [test.jar]:
Java:
package u241.testmod;

import net.minecraft.item.Item;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import u241.testmod.proxy.CommonProxy;

@Mod(modid = "test")
public class TestMod
{
    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        System.out.println("\u001B[32m" + "[Starting Test Mod PRE-INITIALIZATION]" + "\u001B[0m");
    }

    @EventHandler
    public void init(FMLInitializationEvent event) {
        System.out.println("\u001B[32m" + "[Starting Test Mod INITIALIZATION]" + "\u001B[0m");
    }

    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {
        System.out.println("\u001B[32m" + "[Starting Test Mod POST-INITIALIZATION]" + "\u001B[0m");
    }

    @SidedProxy(clientSide = "u241.testmod.proxy.ClientProxy", serverSide = "u241.testmod.proxy.CommonProxy")
    public static CommonProxy proxy;

    public static class ItemKey extends Item
    {
        public ItemKey(String name)
        {
            this.setRegistryName("coin");
            this.setUnlocalizedName("Coin");
        }

        public static class ItemsRegister
        {
            public static Item KEY = new ItemKey("coin");

            public static void register()
            {
                setRegister(KEY);
            }

            @SideOnly(Side.CLIENT)
            public static void registerRender()
            {
                setRender(KEY);
            }

            private static void setRegister(Item item)
            {
                ForgeRegistries.ITEMS.register(item);
            }

            @SideOnly(Side.CLIENT)
            private static void setRender(Item item)
            {

            }
        }
    }
}
Запустил minecraft, и прописал команду для того чтобы выдать себе свой предмет, minecraft пишет, что такого предмета нет.
1515169428164.png
Подскажите, где накосячил?
 

Вложения

  • 1515169342743.png
    1515169342743.png
    240.8 KB · Просмотры: 14
Последнее редактирование:
Решение
В preInit в главном классе добавь:
ForgeRegistries.ITEMS.register(new ItemKey("coin"));
Так ты получишь свой "чудо" коин.
~~~
Смотря по коду - видно *ГавнО* код, который ты даже не знаешь как юзать.
Пустые классы, которые не используются и нафиг не нужны.
Класс в класее в классе...
Лучше идти учить джаву, чем кодить ТАК...
7,099
324
1,510
/give modid:itemname или modid_itemname
А еще лучше поставить jei и не париться с командами
 
5,018
47
783
или еще проще просто добавить этот предмет в креативную в вкладку, чтобы не парится с jei
 
5,018
47
783
7,099
324
1,510
Только два первых пункта нужно, чтобы просто юзать без интеграции
 
37
0
У тебя методы регистрации серые, значит ты их нигде не вызываешь. Вызови например регистер в коммон прокси в преините а регистррендер в клиент прокси в ините например
=_= Ничего не понял, можешь подробнее объяснить, если не трудно?
 
5,018
47
783
Это новичок. У него нет четкого представления что такое клиент, а что такое сервер. Соотвественно он не понимает что такое прокси и зачем оно надо.
даже я до конца не понимаю :D
 
  • Like
Реакции: u241
1,470
19
189
5,018
47
783
Сверху