- 21
- 2
Знаю, знаю, новички часто бесят своей тупоголовостью... Но мне просто уже не к кому обратиться чувствую себя полной идиоткой. Помогите, умоляю! Учусь по вашему учебнику, ответы на любые вопросы до сих пор находила там же, в самых разных статьях, очень помогли в свое время видео. Но здесь просто в ступор впадаю. Вроде все сделала, как учили, а майн хоть убейся не видит текстуру.
Догадываюсь, что ответ на проблему кроется в маленьком предупреждении "Argument 'item.getRegistryName()' might be null":
...но ёлки-иголки, где я что пропустила?
Догадываюсь, что ответ на проблему кроется в маленьком предупреждении "Argument 'item.getRegistryName()' might be null":
...но ёлки-иголки, где я что пропустила?
Код:
package ester.tutorial;
import ester.tutorial.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.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
@Mod(modid = "tut")
public class TestMod
{
@SidedProxy(clientSide = "ester.tutorial.proxy.ClientProxy", serverSide = "ester.tutorial.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);
}
}
Код:
package ester.tutorial;
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 key = new ItemKey("key");
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.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
}
Код:
package ester.tutorial;
import net.minecraft.item.Item;
public class ItemKey extends Item
{
public ItemKey(String key)
{
this.setRegistryName(key);
this.setUnlocalizedName(key);
}
}
Код:
package ester.tutorial.proxy;
import ester.tutorial.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)
{
ItemsRegister.registerRender();
super.init(event);
}
@Override
public void postInit (FMLPostInitializationEvent event)
{
super.postInit(event);
}
}
Код:
package ester.tutorial.proxy;
import ester.tutorial.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)
{
}
}
Код:
{
"parent": "item/generated",
"textures":
{
"layer0": "tut:items/key"
}
}