this is the tree of the project
└───main
├───java
│ └───com
│ └───GameAndDev
│ └───betterSurvival
│ │ Main.java
│ │
│ ├───proxy
│ │ ClientProxy.java
│ │ CommonProxy.java
│ │ ServerProxy.java
│ │
│ └───utils
│ ModItems.java
│ References.java
│
└───resources
│ mcmod.info
│
└───assets
└───BetterSurvivalMOD
├───models
│ └───item
│ guide.json
│
└───textures
└───items
guide.png
this is my main class
package com.GameAndDev.betterSurvival;
import com.GameAndDev.betterSurvival.proxy.CommonProxy;
import com.GameAndDev.betterSurvival.utils.References;
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.FMLPreInitializationEvent;
@Mod(modid = References.MODID, name = References.NAME, version = References.VERSION)
public class Main
{
@SidedProxy(clientSide = References.CLIENT_PROXY, serverSide = References.SERVER_PROXY)
public static CommonProxy proxy;
@Mod.Instance(References.MODID)
public static Main instance;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
{
proxy.preInit();
}
@Mod.EventHandler
public void init(FMLInitializationEvent event)
{
proxy.Init();
}
}
this is my reference class
package com.GameAndDev.betterSurvival.utils;
public class References {
public static final String MODID = "BetterSurvivalMOD";
public static final String NAME = "Better Survival MOD";
public static final String VERSION = "1.0";
public static final String CLIENT_PROXY = "com.GameAndDev.betterSurvival.proxy.ClientProxy";
public static final String SERVER_PROXY = "com.GameAndDev.betterSurvival.proxy.ServerProxy";
}
This is my clientProxy class
package com.GameAndDev.betterSurvival.proxy;
public class ClientProxy extends CommonProxy {
@Override
public void preInit() {
super.preInit();
}
@Override
public void Init() {
super.Init();
}
}
package com.GameAndDev.betterSurvival.proxy;
public class ClientProxy extends CommonProxy {
@Override
public void preInit() {
super.preInit();
}
@Override
public void Init() {
super.Init();
}
}
This my common proxy
package com.GameAndDev.betterSurvival.proxy;
import com.GameAndDev.betterSurvival.utils.ModItems;
public class CommonProxy {
public void preInit()
{
new ModItems();
}
public void Init()
{
}
}
This is my server proxy
package com.GameAndDev.betterSurvival.proxy;
public class ServerProxy extends CommonProxy{
@Override
public void preInit() {
super.preInit();
}
@Override
public void Init() {
super.Init();
}
}
and my mod item class
package com.GameAndDev.betterSurvival.utils;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ModItems {
public ModItems()
{
initItems();
registerItems();
registerRenders();
}
public Item Guide;
public void initItems()
{
Guide = new Item().setRegistryName("guide_book").setUnlocalizedName("guide");
}
public void registerItems()
{
registerItem(Guide);
}
@SideOnly(Side.CLIENT)
public void registerRenders()
{
registerRender(Guide,0);
}
public void registerItem(Item item)
{
GameRegistry.register(item);
}
public void registerRender(Item item, int meta)
{
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(new ResourceLocation(References.MODID, item.getUnlocalizedName().substring(5)), "inventory"));
}
}