繁体   English   中英

Minecraft forge 在 1.12.2 中没有加载我的物品纹理

[英]Minecraft forge doesn't load my item texture in 1.12.2

我正在尝试为我拥有的项目添加纹理,但它没有加载到 Minecraft 中。 这是我的基本模块 class:

package fr.doufut.test;

import fr.doufut.test.events.RegisteringEvent;
import fr.doufut.test.proxy.CommonProxy;
import fr.doufut.test.utils.Reference;
import net.minecraftforge.common.MinecraftForge;
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 = Reference.MODID, name = Reference.NAME , version = Reference.VERSION)
public class TestMain {

    @Mod.Instance(Reference.MODID)
    public static TestMain instance;

    @SidedProxy(clientSide = Reference.CP, serverSide = Reference.SP)
    public static CommonProxy proxy;

    public TestMain()
    {
        MinecraftForge.EVENT_BUS.register(new RegisteringEvent());
    }

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

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

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

我的常用代理 class:

package fr.doufut.test.proxy;

public class CommonProxy {

    public void preinit()
    {

    }

    public void init()
    {

    }

    public void postinit()
    {

    }
}

我的客户代理 class:

package fr.doufut.test.proxy;

import fr.doufut.test.init.ModItems;
import net.minecraftforge.common.MinecraftForge;

public class ClientProxy extends CommonProxy
{

    @Override
    public void preinit() {
        super.preinit();
        MinecraftForge.EVENT_BUS.register(ModItems.INSTANCE);
    }

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

    @Override
    public void postinit() {
        super.postinit();
    }
}


这是实际的 ModItem class:

package fr.doufut.test.init;

import com.google.common.collect.Lists;
import fr.doufut.test.items.HDOItems;
import fr.doufut.test.utils.Reference;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import java.util.List;

public class ModItems {

    public static final ModItems INSTANCE = new ModItems();

    public static Item coca;

    private List<Item> items;

    public void init()
    {
        items = Lists.newArrayList();
        coca = new HDOItems("coca");
    }

    @SubscribeEvent
    public void registerModels(ModelRegistryEvent e)
    {
        for (Item item : items)
        {
            registerModel(item);
        }
    }

    private void registerModel(Item item)
    {
        ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(new ResourceLocation(Reference.MODID, item.getUnlocalizedName().substring(5)), "inventory"));
    }

    public List<Item> getItems()
    {
        return items;
    }
}

这是 HDOItem class 文件:

package fr.doufut.test.items;

import fr.doufut.test.init.ModItems;
import net.minecraft.item.Item;

public class HDOItems extends Item
{

    public HDOItems(String name)
    {
        setRegistryName(name).setUnlocalizedName(name);

        ModItems.INSTANCE.getItems().add(this);
    }
}

这是该项目的 json model 文件:

{

  "parent": "item/generated",
  "textures": {
    "layer0": "hdo:/items/coca"
  }

}

我的文件夹结构:

Json file: C:\Users\rober\Desktop\forge-1.12.2-14.23.5.2859-mdk\src\main\resources\assets\hdo\models\item\coca.json

PNG文件:C:\Users\rober\Desktop\forge-1.12.2-14.23.5.2859-mdk\src\main\resources\assets\hdo\textures\items.json

怀疑,您的 PNG 文件是“items.json”而不是“cocoa.png”? 据我所知,在“纹理”文件夹中应该有 2 个文件夹:“块”、“项目”。 在“纹理/项目”里面是文件“cocoa.png”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM