Регистрация текстуры для предмета

Версия Minecraft
1.10.2
Короче, я сделал предмет, пока что тестовый, но он че-то не хочет текстуру грузить.

Сам класс предмета
Код:
public class tarotDeck extends Item {

    public tarotDeck(String unlocalizedName) {
        super();

        this.setUnlocalizedName(unlocalizedName);
        this.setCreativeTab(ModItems.divinationTab);
    }
}

ModItems
Код:
public final class ModItems {

    public static final CreativeTabs divinationTab = new CreativeTabs("Divination") {
        @Override public Item getTabIconItem() {
            return tarotDeck;
        }
    };

    public static Item tarotDeck;

    public static void createItems()
    {
        GameRegistry.registerItem(tarotDeck = new tarotDeck("tarot_deck"), "tarot_deck");
    }
}


ItemRenderRegister
Код:
public final class ItemRenderRegister
{
    public static String modid = Main.MODID;

    public static void registerItemRenderer() {
        reg(ModItems.tarotDeck);
    }

    public static void reg(Item item) {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
                .register(ModItems.tarotDeck, 0, new ModelResourceLocation("moc:tarot_deck", "inventory"));
    }
}


CommonProxy
Код:
public class CommonProxy {

    public void preInit(FMLPreInitializationEvent e) {
        ModItems.createItems();
    }

    public void init(FMLInitializationEvent e) {
        ItemRenderRegister.registerItemRenderer();
    }

    public void postInit(FMLPostInitializationEvent e) {

    }
}



Все текстуры (вернее, одна) лежит в src/main/resources/asstes/MODID/textures/items
Модели лежат в src/main/resources/asstes/MODID/modes/item

Вот tarot_deck.json, модель для предмета
Код:
{
    "parent":"item/generated",
    "textures": {
        "layer0":"moc:items/tarot_deck"
    },
    "display": {
        "thirdperson": {
            "rotation": [ -90, 0, 0 ],
            "translation": [ 0, 1, -3 ],
            "scale": [ 0.55, 0.55, 0.55 ]
        },
        "firstperson": {
            "rotation": [ 0, -135, 25 ],
            "translation": [ 0, 4, 2 ],
            "scale": [ 1.7, 1.7, 1.7 ]
        }
    }
}


Предмет есть, все есть, кроме текстуры и модели, только огромный фиолетово-черный куб, как обычно
 
329
13
TaoGunner написал(а):
Magitrop написал(а):
Модели лежат в src/main/resources/asstes/MODID/modes/item
Ошибка #1. Правь на models

Magitrop написал(а):
Код:
"parent":"item/generated",
Ошибка #2. Правь на:
Код:
"parent": "builtin/generated",

Models правильно написано, просто я не копировал путь, а заново переписывал.
С builtin было так до этого, тоже не работало
 
Nix13Chanel написал(а):
Прокси зарегал?

Код:
@Mod.Instance
    public static Main instance = new Main();

    @SidedProxy(clientSide="com.moc.~.CommonProxy", serverSide="com.moc.~.ServerProxy")
    public static CommonProxy proxy;

    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent e) {
        this.proxy.preInit(e);
    }

    @Mod.EventHandler
    public void init(FMLInitializationEvent e) {
        this.proxy.init(e);
    }

    @Mod.EventHandler
    public void postInit(FMLPostInitializationEvent e) {
        this.proxy.postInit(e);
    }
 
Nix13Chanel написал(а):
Скинь логи и код полностью

Main
Код:
package com.moc.MysteryOfOccultism;

import net.minecraftforge.fml.common.Mod;
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;

@Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION)
public class Main {

    public static final String MODID = "cognition";
    public static final String MODNAME = "Cognition of Heavenly Revelation";
    public static final String VERSION = "1.0.0";

    @Mod.Instance
    public static Main instance = new Main();

    @SidedProxy(clientSide="com.moc.MysteryOfOccultism.CommonProxy", serverSide="com.moc.MysteryOfOccultism.ServerProxy")
    public static CommonProxy proxy;

    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent e) {
        this.proxy.preInit(e);
    }

    @Mod.EventHandler
    public void init(FMLInitializationEvent e) {
        this.proxy.init(e);
    }

    @Mod.EventHandler
    public void postInit(FMLPostInitializationEvent e) {
        this.proxy.postInit(e);
    }
}

CommonProxy
Код:
package com.moc.MysteryOfOccultism;

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.GameRegistry;

public class CommonProxy {

    public void preInit(FMLPreInitializationEvent e) {
        ModItems.createItems();
    }

    public void init(FMLInitializationEvent e) {
        ItemRenderRegister.registerItemRenderer();
    }

    public void postInit(FMLPostInitializationEvent e) {

    }
}

ServerProxy
Код:
package com.moc.MysteryOfOccultism;

import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ServerProxy extends CommonProxy {

    @Override
    public void preInit(FMLPreInitializationEvent e) {
        super.preInit(e);
    }

    @Override
    public void init(FMLInitializationEvent e) {
        super.init(e);
    }

    @Override
    public void postInit(FMLPostInitializationEvent e) {
        super.postInit(e);
    }
}

Предмет
Код:
package com.moc.MysteryOfOccultism;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class tarotDeck extends Item {

    public tarotDeck(String unlocalizedName) {
        super();

        this.setUnlocalizedName(unlocalizedName);
        this.setCreativeTab(ModItems.divinationTab);
    }
}

ModItems
Код:
package com.moc.MysteryOfOccultism;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

public final class ModItems {

    public static final CreativeTabs divinationTab = new CreativeTabs("Divination") {
        @Override public Item getTabIconItem() {
            return tarotDeck;
        }
    };

    public static Item tarotDeck;

    public static void createItems()
    {
        GameRegistry.registerItem(tarotDeck = new tarotDeck("tarot_deck"), "tarot_deck");
    }
}

ItemRenderRegister
Код:
package com.moc.MysteryOfOccultism;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;

public final class ItemRenderRegister
{
    public static String modid = Main.MODID;

    public static void registerItemRenderer() {
        reg(ModItems.tarotDeck);
    }

    public static void reg(Item item) {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
                .register(ModItems.tarotDeck, 0, new ModelResourceLocation("moc:tarot_deck", "inventory"));
    }
}
 
4,046
63
645
Чо?
У тебя сервер прокси расширен от клиента? О_о
Что за нах?
И зачем ты клиент назвал коммоном?
Должно быть наоборот...
Сервер - это коммон или сервер прокси...
А уже от него идёт клиент прокси...


Nix13Chanel написал(а):
Ну а лог очевиден... Он не находит модели.
 
329
13
Мне кажется у тебя там пара методов уже устарела (IDE не перечеркивает что-нибудь?)

Для начала стоит добавить в предмет это:
Код:
this.setRegistryName(this.getUnlocalizedName());

А регистрацию проводить вот так:
Код:
GameRegistry.register(твой_предмет);

И вообще глянь здесь.
 
TaoGunner написал(а):
А регистрацию проводить вот так:
Код:
GameRegistry.register(твой_предмет);

Код:
GameRegistry.register(tarotDeck = new tarotDeck("tarot_deck"));
Вот типа так? Или адрес на ResourcesLocation тоже надо как-то?


P.S.: вот так тоже не работает, все предыдущее добавил тоже
 
Liahim написал(а):
Чо?
У тебя сервер прокси расширен от клиента? О_о
Что за нах?
И зачем ты клиент назвал коммоном?
Должно быть наоборот...
Сервер - это коммон или сервер прокси...
А уже от него идёт клиент прокси...


Nix13Chanel написал(а):
Ну а лог очевиден... Он не находит модели.



С прокси не разбираюсь вообще, в более старых версиях (1.7.10 и т.д.) этого делать было необязательно.
Да и раньше вообще предметы делались проще, без этого дерьма.

Ладно, сейчас поменяю все как ты сказал, с прокси.
И да, не находит модели, что тогда делать?
 
4,046
63
645
Сделай и скинь файлики как получилось...
...
А вообще, у меня такое бывает с блоками...
Смотрю, всё проверяю, нет ошибки...
А стоит .json просто заново переписать с нуля. Работает...
Толи там какие-то невидимые символы случайно вставляются...
Толи где-то английские буквы с русскими путаю... Хз.
Так и не понял из-за чего такое происходит.
 
Liahim написал(а):
Сделай и скинь файлики как получилось...
...
А вообще, у меня такое бывает с блоками...
Смотрю, всё проверяю, нет ошибки...
А стоит .json просто заново переписать с нуля. Работает...
Толи там какие-то невидимые символы случайно вставляются...
Толи где-то английские буквы с русскими путаю... Хз.
Так и не понял из-за чего такое происходит.

Да, ок, ща скину.
Насчет .json - я его просто копировал с урока, вроде должно быть все правильно
 
Сверху