[英]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.