- 21
- 1
Ранее столкнулся с неизвестной ошибкой в рендере:
Я не нашёл другого решения, так что создал по учебнику новый мод. Но там то же самое. Всё делал правильно. Вот структура файлов и их содержимое:
Вряд ли это важно, но у меня файл mcmod.info написан с кодировкой "UTF-8 без BOM"
Я не нашёл другого решения, так что создал по учебнику новый мод. Но там то же самое. Всё делал правильно. Вот структура файлов и их содержимое:
Java:
package moremod;
import moremod.proxy.CommonProxy;
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;
@Mod(modid = "more", useMetadata = true)
public class MainClass {
@SidedProxy(clientSide = "moremod.proxy.ClientProxy", serverSide = "moremod.proxy.CommonProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
proxy.preInit(event);
}
@EventHandler
public void init(FMLInitializationEvent event)
{
proxy.init(event);
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
proxy.postInit(event);
}
}
Java:
package moremod;
import net.minecraft.item.Item;
public class Sandwich extends Item
{
public Sandwich(String name)
{
this.setRegistryName("sandwich");
this.setUnlocalizedName("Sandwich");
}
}
Java:
package moremod;
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;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemsRegister
{
public static Item SANDWICH = new Sandwich("sandwich");
public static void register()
{
setRegister(SANDWICH);
}
@SideOnly(Side.CLIENT)
public static void registerRender()
{
setRender(SANDWICH);
}
private static void setRegister(Item item)
{
ForgeRegistries.ITEMS.register(item);
}
@SideOnly(Side.CLIENT)
private static void setRender(Item item)
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
}
Java:
package moremod.proxy;
import moremod.ItemsRegister;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class CommonProxy
{
public void preInit(FMLPreInitializationEvent event)
{
ItemsRegister.register();
}
public void init(FMLInitializationEvent event)
{
}
public void postInit(FMLPostInitializationEvent event) {
}
}
Java:
package moremod.proxy;
import moremod.ItemsRegister;
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
{
@Override
public void preInit(FMLPreInitializationEvent event)
{
super.preInit(event);
}
@Override
public void init(FMLInitializationEvent event)
{
super.init(event);
ItemsRegister.registerRender();
}
@Override
public void postInit(FMLPostInitializationEvent event)
{
super.postInit(event);
}
}
Вряд ли это важно, но у меня файл mcmod.info написан с кодировкой "UTF-8 без BOM"