diff --git a/18 Mappings.txt b/18 Mappings.txt index 2457cf8..e7063c8 100644 --- a/18 Mappings.txt +++ b/18 Mappings.txt @@ -69,6 +69,11 @@ func_174876_a - createContainer —IInteractionObject— func_174875_k - getGuiID +—ItemRenderer— +func_178099_a - renderItem + +field_178112_h - itemRenderer + —RenderItem— func_180451_a - renderEffect @@ -185,15 +190,74 @@ func_177586_a - getModelBlockDefinition func_177590_d - loadItemModels func_177592_e - registerSubModels func_177596_a - getSubModels +func_177570_a - setupModelRegistry +field_177604_a - MODEL_MISSING field_177608_m - itemModelGenerator field_177613_u - subModels +field_177605_n - modelRegistry —ItemModelGenerator— field_178398_a - LAYERS +—RenderItem— +func_175037_a - getItemModelMesher +func_175048_a - loadInventoryModel +func_175047_a - loadInventoryModel +func_175029_a - loadInventoryModel +func_175031_a - loadInventoryModel +func_175041_b - loadInventoryModels + +field_175059_m - itemModelMesher + —Minecraft— +func_175597_ag - getItemRenderer +func_175599_af - getRenderItem + field_175617_aL - modelManager +field_175620_Y - itemRenderer +field_175621_X - renderItem +field_175616_W - renderManager + +—GlStateManager— +func_179094_E - pushMatrix +func_179121_F - popMatrix +func_179114_b - rotate +func_179152_a - scale +func_179139_a - scale +func_179109_b - translate +func_179137_b - translate + +—GLStateManager.BooleanState— +func_179198_a - setDisabled +func_179200_b - setEnabled + +—ItemModelMesher— +func_178083_a - getModelManager +func_178084_b - getItemStackDamage +func_178081_c - getItemID +func_178088_b - getModelForItem +func_178089_a - getModelForItemStack +func_178087_a - getItemTexture +func_178082_a - getItemTexture +func_178086_a - loadItemModel +func_178085_b - resetModels +func_178080_a - addItemMeshDefinition + +field_178090_d - modelManager +field_178093_a - modelLocations +field_178091_b - itemModels +field_178092_c - itemMeshDefinitions + +—IBakedModel— +func_177554_e - getTexture + +—ModelManager— +func_174953_a - getModel +func_174951_a - getDefaultModel + +field_174955_d - defaultModel +field_174958_a - modelRegistry —IWorldNamable— getCommandSenderName - getName diff --git a/src/main/java/cpw/mods/ironchest/ChestChangerType.java b/src/main/java/cpw/mods/ironchest/ChestChangerType.java index 354c9f4..cac424b 100755 --- a/src/main/java/cpw/mods/ironchest/ChestChangerType.java +++ b/src/main/java/cpw/mods/ironchest/ChestChangerType.java @@ -14,9 +14,14 @@ import static cpw.mods.ironchest.IronChestType.IRON; import static cpw.mods.ironchest.IronChestType.OBSIDIAN; import static cpw.mods.ironchest.IronChestType.SILVER; import static cpw.mods.ironchest.IronChestType.WOOD; +import cpw.mods.ironchest.client.ModelHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; public enum ChestChangerType { IRONGOLD(IRON, GOLD, "ironGoldUpgrade", "Iron to Gold Chest Upgrade", "mmm", "msm", "mmm"), @@ -33,7 +38,7 @@ public enum ChestChangerType { private IronChestType target; public String itemName; public String descriptiveName; - private ItemChestChanger item; + public ItemChestChanger item; private String[] recipe; private ChestChangerType(IronChestType source, IronChestType target, String itemName, String descriptiveName, String... recipe) @@ -59,6 +64,8 @@ public enum ChestChangerType { { item = new ItemChestChanger(this); GameRegistry.registerItem(item, itemName); + ModelHelper.loadInventoryModel(item, "ironchest:" + itemName); + return item; } diff --git a/src/main/java/cpw/mods/ironchest/IronChest.java b/src/main/java/cpw/mods/ironchest/IronChest.java index c814b1d..ba6b457 100755 --- a/src/main/java/cpw/mods/ironchest/IronChest.java +++ b/src/main/java/cpw/mods/ironchest/IronChest.java @@ -10,20 +10,31 @@ ******************************************************************************/ package cpw.mods.ironchest; +import java.util.HashMap; +import java.util.Map.Entry; + +import cpw.mods.ironchest.client.ModelHelper; import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; 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.network.NetworkRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; @Mod(modid = "IronChest", name = "Iron Chests", dependencies = "required-after:FML@[7.2,)") -public class IronChest { +public class IronChest +{ public static BlockIronChest ironChestBlock; @SidedProxy(clientSide = "cpw.mods.ironchest.client.ClientProxy", serverSide = "cpw.mods.ironchest.CommonProxy") public static CommonProxy proxy; @@ -36,15 +47,18 @@ public class IronChest { Version.init(event.getVersionProperties()); event.getModMetadata().version = Version.fullVersionString(); - ChestChangerType.buildItems(); - ironChestBlock = new BlockIronChest(); - GameRegistry.registerBlock(ironChestBlock, ItemIronChest.class, "BlockIronChest"); PacketHandler.INSTANCE.ordinal(); } @EventHandler public void load(FMLInitializationEvent evt) { + //Registration has been moved to init to account for the registration of inventory models + //Minecraft.getRenderItem() returns null before this stage + ChestChangerType.buildItems(); + ironChestBlock = new BlockIronChest(); + GameRegistry.registerBlock(ironChestBlock, ItemIronChest.class, "BlockIronChest"); + for (IronChestType typ : IronChestType.values()) { GameRegistry.registerTileEntityWithAlternatives(typ.clazz, "IronChest." + typ.name(), typ.name()); diff --git a/src/main/java/cpw/mods/ironchest/client/ModelHelper.java b/src/main/java/cpw/mods/ironchest/client/ModelHelper.java new file mode 100644 index 0000000..b3f5612 --- /dev/null +++ b/src/main/java/cpw/mods/ironchest/client/ModelHelper.java @@ -0,0 +1,32 @@ +package cpw.mods.ironchest.client; + +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ModelHelper +{ + public static void loadInventoryModel(Item item, int metadata, String itemName) + { + Minecraft.getMinecraft().getRenderItem().getItemModelMesher().loadItemModel(item, metadata, new ModelResourceLocation(itemName, "inventory")); + } + + public static void loadInventoryModel(Block block, int metadata, String blockName) + { + loadInventoryModel(Item.getItemFromBlock(block), metadata, blockName); + } + + public static void loadInventoryModel(Block block, String blockName) + { + loadInventoryModel(block, 0, blockName); + } + + public static void loadInventoryModel(Item item, String itemName) + { + loadInventoryModel(item, 0, itemName); + } +} diff --git a/src/main/resources/assets/ironchest/models/item/copperIronUpgrade.json b/src/main/resources/assets/ironchest/models/item/copperIronUpgrade.json index 11e00d7..3ef545e 100644 --- a/src/main/resources/assets/ironchest/models/item/copperIronUpgrade.json +++ b/src/main/resources/assets/ironchest/models/item/copperIronUpgrade.json @@ -1,7 +1,7 @@ { - "parent": "builtin/generated”, + "parent": "builtin/generated", "textures": { - "layer0": “ironchest:items/copperIronUpgrade” + "layer0": "ironchest:items/copperIronUpgrade" }, "display": { "thirdperson": { diff --git a/src/main/resources/assets/ironchest/models/item/goldDiamondUpgrade.json b/src/main/resources/assets/ironchest/models/item/goldDiamondUpgrade.json index 9869bd3..0a0e626 100755 --- a/src/main/resources/assets/ironchest/models/item/goldDiamondUpgrade.json +++ b/src/main/resources/assets/ironchest/models/item/goldDiamondUpgrade.json @@ -1,7 +1,7 @@ { "parent": "builtin/generated", "textures": { - "layer0": "items/apple" + "layer0": "ironchest:items/goldDiamondUpgrade" }, "display": { "thirdperson": {