Add proxy classes and first item

This commit is contained in:
pjht 2018-02-08 19:05:44 -06:00
parent b7754e0528
commit 4f9fabd4cf
6 changed files with 92 additions and 2 deletions

View File

@ -1,9 +1,17 @@
package com.pjht.ssspcore;
import com.pjht.ssspcore.item.ModItems;
import com.pjht.ssspcore.proxy.CommonProxy;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
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 net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@Mod(modid = SSSPCore.modId, name = SSSPCore.name, version = SSSPCore.version)
public class SSSPCore {
@ -14,6 +22,9 @@ public class SSSPCore {
@Mod.Instance(modId)
public static SSSPCore instance;
@SidedProxy(serverSide = "com.pjht.ssspcore.proxy.CommonProxy", clientSide = "com.pjht.ssspcore.proxy.ClientProxy")
public static CommonProxy proxy;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
System.out.println(name + " is loading!");
@ -29,5 +40,17 @@ public class SSSPCore {
}
@Mod.EventBusSubscriber
public static class RegistrationHandler {
@SubscribeEvent
public static void registerItems(RegistryEvent.Register<Item> event) {
ModItems.register(event.getRegistry());
}
@SubscribeEvent
public static void registerItems(ModelRegistryEvent event) {
ModItems.registerModels();
}
}
}

View File

@ -0,0 +1,26 @@
package com.pjht.ssspcore.item;
import com.pjht.ssspcore.SSSPCore;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public class ItemBase extends Item {
protected String name;
public ItemBase(String name) {
this.name = name;
setUnlocalizedName(name);
setRegistryName(name);
}
public void registerItemModel() {
SSSPCore.proxy.registerItemRenderer(this, 0, name);
}
@Override
public ItemBase setCreativeTab(CreativeTabs tab) {
super.setCreativeTab(tab);
return this;
}
}

View File

@ -0,0 +1,19 @@
package com.pjht.ssspcore.item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.registries.IForgeRegistry;
public class ModItems {
public static ItemBase ingotCopper = new ItemBase("ingot_copper").setCreativeTab(CreativeTabs.MATERIALS);
public static void register(IForgeRegistry<Item> registry) {
registry.registerAll(
ingotCopper
);
}
public static void registerModels() {
ingotCopper.registerItemModel();
}
}

View File

@ -0,0 +1,14 @@
package com.pjht.ssspcore.proxy;
import com.pjht.ssspcore.SSSPCore;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
public class ClientProxy extends CommonProxy {
@Override
public void registerItemRenderer(Item item, int meta, String id) {
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(SSSPCore.modId + ":" + id, "inventory"));
}
}

View File

@ -0,0 +1,8 @@
package com.pjht.ssspcore.proxy;
import net.minecraft.item.Item;
public class CommonProxy {
public void registerItemRenderer(Item item, int meta, String id) {
}
}

View File

@ -1,6 +1,6 @@
[
{
"modid": "sssp-core",
"modid": "ssspcore",
"name": "SSSP core mod",
"description": "Core mod for SSSP.",
"version": "${version}",