From 58ec00004ce05dfe7e37eeb2d3a788437ab03c4d Mon Sep 17 00:00:00 2001 From: George Paton Date: Mon, 12 Feb 2024 16:14:05 +1100 Subject: [PATCH] Render the blocks in the inventory correctly Add crafting recipes for the three light types --- .../java/com/hbm/main/CraftingManager.java | 3 +++ .../com/hbm/render/block/RenderLight.java | 23 ++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index fb36d022f..04f6ac617 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -462,6 +462,9 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.lamp_tritium_green_off, 1), new Object[] { "GPG", "1T2", "GPG", 'G', KEY_ANYGLASS, 'P', P_RED.dust(), 'T', ModItems.cell_tritium, '1', "dustSulfur", '2', CU.dust() }); addRecipeAuto(new ItemStack(ModBlocks.lamp_tritium_blue_off, 1), new Object[] { "GPG", "1T2", "GPG", 'G', KEY_ANYGLASS, 'P',P_RED.dust(), 'T', ModItems.cell_tritium, '1', AL.dust(), '2', ST.dust() }); addRecipeAuto(new ItemStack(ModBlocks.lantern, 1), new Object[] { "PGP", " S ", " S ", 'P', KEY_ANYPANE, 'G', Items.glowstone_dust, 'S', ModBlocks.steel_beam }); + addRecipeAuto(new ItemStack(ModBlocks.spotlight_incandescent, 8), new Object[] { " G ", " T ", " I ", 'G', KEY_ANYPANE, 'T', ModItems.wire_tungsten, 'I', Items.iron_ingot }); + addRecipeAuto(new ItemStack(ModBlocks.spotlight_fluoro, 8), new Object[] { " G ", " M ", " A ", 'G', KEY_ANYPANE, 'M', ModItems.ingot_mercury, 'A', ModItems.plate_aluminium }); + addRecipeAuto(new ItemStack(ModBlocks.spotlight_halogen, 8), new Object[] { " G ", " B ", " S ", 'G', KEY_ANYPANE, 'B', ModItems.powder_bromine, 'S', ModItems.plate_steel }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire, 16), new Object[] { "AIA", "I I", "AIA", 'A', ModItems.wire_aluminium, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_fire, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', P_RED.dust() }); diff --git a/src/main/java/com/hbm/render/block/RenderLight.java b/src/main/java/com/hbm/render/block/RenderLight.java index 4c1ce369a..465bae66e 100644 --- a/src/main/java/com/hbm/render/block/RenderLight.java +++ b/src/main/java/com/hbm/render/block/RenderLight.java @@ -1,5 +1,7 @@ package com.hbm.render.block; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.machine.Spotlight; import com.hbm.blocks.machine.SpotlightModular; import com.hbm.render.util.ObjUtil; @@ -8,6 +10,7 @@ import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; @@ -15,7 +18,25 @@ public class RenderLight implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + if (!(block instanceof Spotlight)) return; + Spotlight spot = (Spotlight) block; + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + GL11.glRotated(-90, 0, 1, 0); + GL11.glScaled(1.5D, 1.5D, 1.5D); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon(spot.getModel(), spot.getPartName(0), iicon, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); } @Override @@ -70,7 +91,7 @@ public class RenderLight implements ISimpleBlockRenderingHandler { @Override public boolean shouldRender3DInInventory(int modelId) { - return false; + return true; } @Override