From 4f9fabd4cf361324353333ed3358898b03d7ca7a Mon Sep 17 00:00:00 2001 From: pjht Date: Thu, 8 Feb 2018 19:05:44 -0600 Subject: [PATCH] Add proxy classes and first item --- src/main/java/com/pjht/ssspcore/SSSPCore.java | 25 +++++++++++++++++- .../java/com/pjht/ssspcore/item/ItemBase.java | 26 +++++++++++++++++++ .../java/com/pjht/ssspcore/item/ModItems.java | 19 ++++++++++++++ .../com/pjht/ssspcore/proxy/ClientProxy.java | 14 ++++++++++ .../com/pjht/ssspcore/proxy/CommonProxy.java | 8 ++++++ src/main/resources/mcmod.info | 2 +- 6 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/pjht/ssspcore/item/ItemBase.java create mode 100644 src/main/java/com/pjht/ssspcore/item/ModItems.java create mode 100644 src/main/java/com/pjht/ssspcore/proxy/ClientProxy.java create mode 100644 src/main/java/com/pjht/ssspcore/proxy/CommonProxy.java diff --git a/src/main/java/com/pjht/ssspcore/SSSPCore.java b/src/main/java/com/pjht/ssspcore/SSSPCore.java index c72c41a..6f2b3b2 100644 --- a/src/main/java/com/pjht/ssspcore/SSSPCore.java +++ b/src/main/java/com/pjht/ssspcore/SSSPCore.java @@ -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 event) { + ModItems.register(event.getRegistry()); + } + + @SubscribeEvent + public static void registerItems(ModelRegistryEvent event) { + ModItems.registerModels(); + } + } + } diff --git a/src/main/java/com/pjht/ssspcore/item/ItemBase.java b/src/main/java/com/pjht/ssspcore/item/ItemBase.java new file mode 100644 index 0000000..0c2c6fd --- /dev/null +++ b/src/main/java/com/pjht/ssspcore/item/ItemBase.java @@ -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; + } +} diff --git a/src/main/java/com/pjht/ssspcore/item/ModItems.java b/src/main/java/com/pjht/ssspcore/item/ModItems.java new file mode 100644 index 0000000..4116e15 --- /dev/null +++ b/src/main/java/com/pjht/ssspcore/item/ModItems.java @@ -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 registry) { + registry.registerAll( + ingotCopper + ); + } + + public static void registerModels() { + ingotCopper.registerItemModel(); + } +} diff --git a/src/main/java/com/pjht/ssspcore/proxy/ClientProxy.java b/src/main/java/com/pjht/ssspcore/proxy/ClientProxy.java new file mode 100644 index 0000000..ed9d860 --- /dev/null +++ b/src/main/java/com/pjht/ssspcore/proxy/ClientProxy.java @@ -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")); + } +} diff --git a/src/main/java/com/pjht/ssspcore/proxy/CommonProxy.java b/src/main/java/com/pjht/ssspcore/proxy/CommonProxy.java new file mode 100644 index 0000000..275b118 --- /dev/null +++ b/src/main/java/com/pjht/ssspcore/proxy/CommonProxy.java @@ -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) { + } +} diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index bc02c58..f32b2c2 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -1,6 +1,6 @@ [ { - "modid": "sssp-core", + "modid": "ssspcore", "name": "SSSP core mod", "description": "Core mod for SSSP.", "version": "${version}",