- 3
- 0
Пытался создать предмет по учебнику, но увы и ах, ничего не получилось, может быть я чего-то не понимаю, в Java и программировании в целом понимаю лишь на базовом уровне, потому могу не видеть очевидного, мод пишу впервые, так что, господа, надеюсь вы сможете подсказать что у меня не так)
Делаю в intellij idea, думаю это может иметь значение.
Причем, создавая блок по этому учебнику, все работает, блок появляется, могу лишь предположить что нужно вызвать какую-то функцию из ItemsRegister в CommonProxy.
Делаю в intellij idea, думаю это может иметь значение.
Причем, создавая блок по этому учебнику, все работает, блок появляется, могу лишь предположить что нужно вызвать какую-то функцию из ItemsRegister в CommonProxy.
Main:
package ru.cherv.gcc;
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;
import ru.cherv.gcc.proxy.CommonProxy;
@Mod(modid = Tutorial.MODID , version = Tutorial.VERSION ,acceptedMinecraftVersions = "[1.12.2]",name = Tutorial.NAME)
public class Tutorial
{
public static final String MODID = "gcc";
public static final String VERSION = "0.0.1";
public static final String NAME = "Test cherv`s mod";
@SidedProxy(clientSide = "ru.cherv.gcc.proxy.ClientProxy", serverSide = "ru.cherv.gcc.proxy.CommonProxy")
public static CommonProxy proxy;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
{
proxy.preInit(event);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event)
{
proxy.init(event);
}
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event)
{
proxy.postInit(event);
}
}
ItemKey(Как понял это конструктор предмета):
package ru.cherv.gcc;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public class ItemKey extends Item {
public ItemKey() {
this.setRegistryName("test");
this.setUnlocalizedName("test");
setCreativeTab(CreativeTabs.MATERIALS);
this.setCreativeTab(CreativeTabs.MISC);
}
}
ItemsRegister:
package ru.cherv.gcc;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelBakery;
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.event.RegistryEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@GameRegistry.ObjectHolder(Tutorial.MODID)
public class ItemsRegister
{
@GameRegistry.ObjectHolder("test")
public static final Item TEST = null;
@SubscribeEvent
public static void onRegistryItem(RegistryEvent.Register<Item> e) {
e.getRegistry().register(new ItemKey());
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public static void onRegistryModel(ModelRegistryEvent e) {
registryModel(TEST);
}
@SideOnly(Side.CLIENT)
private static void registryModel(Item item) {
final ResourceLocation regName = item.getRegistryName();
final ModelResourceLocation mrl = new ModelResourceLocation(regName, "inventory");
ModelBakery.registerItemVariants(item, mrl);
ModelLoader.setCustomModelResourceLocation(item, 0, mrl);
}
}
ClientProxy:
package ru.cherv.gcc.proxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import ru.cherv.gcc.ItemsRegister;
public class ClientProxy extends CommonProxy
{
@Override
public void preInit(FMLPreInitializationEvent event)
{
super.preInit(event);
}
@Override
public void init(FMLInitializationEvent event)
{
super.init(event);
}
@Override
public void postInit(FMLPostInitializationEvent event)
{
super.postInit(event);
}
}
CommonProxy:
package ru.cherv.gcc.proxy;
import net.minecraft.item.Item;
import ru.cherv.gcc.BlocksRegister;
import ru.cherv.gcc.ItemKey;
//import ru.cherv.gcc.ItemsRegister;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import ru.cherv.gcc.ItemsRegister;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event)
{
BlocksRegister.register();
}
public void init(FMLInitializationEvent event)
{
}
public void postInit(FMLPostInitializationEvent event) {
}
}