From d05854f5148a75cb5ab0d76810a63a8f0832ed09 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 30 Mar 2022 16:10:17 +0200 Subject: [PATCH] classic cable --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../com/hbm/blocks/network/BlockCable.java | 8 +++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../hbm/render/block/RenderCableClassic.java | 66 ++++++++++++++++++ .../hbm/textures/blocks/block_smore_side.png | Bin 219 -> 210 bytes .../hbm/textures/blocks/red_cable_classic.png | Bin 0 -> 229 bytes 6 files changed, 78 insertions(+) create mode 100644 src/main/java/com/hbm/render/block/RenderCableClassic.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/red_cable_classic.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d355520dd..5420a428a 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -720,6 +720,7 @@ public class ModBlocks { public static Block red_wire_coated; public static Block red_cable; + public static Block red_cable_classic; public static Block red_connector; public static Block red_pylon; public static Block red_pylon_large; @@ -1847,6 +1848,7 @@ public class ModBlocks { red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_neo"); + red_cable_classic = new BlockCable(Material.iron).setBlockName("red_cable_classic").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_classic"); rf_cable = new BlockRFCable(Material.iron).setBlockName("rf_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rf_cable_icon"); red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector"); red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); @@ -2963,6 +2965,7 @@ public class ModBlocks { GameRegistry.registerBlock(pribris_digamma, pribris_digamma.getUnlocalizedName()); GameRegistry.registerBlock(red_cable, red_cable.getUnlocalizedName()); + GameRegistry.registerBlock(red_cable_classic, red_cable_classic.getUnlocalizedName()); GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName()); GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName()); GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/network/BlockCable.java b/src/main/java/com/hbm/blocks/network/BlockCable.java index 85a55ff90..ffc7c7f36 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCable.java @@ -1,9 +1,11 @@ package com.hbm.blocks.network; +import com.hbm.blocks.ModBlocks; import com.hbm.blocks.test.TestConductor; import com.hbm.lib.Library; import com.hbm.tileentity.network.TileEntityCableBaseNT; +import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; @@ -21,9 +23,15 @@ public class BlockCable extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityCableBaseNT(); } + + public static int renderIDClassic = RenderingRegistry.getNextAvailableRenderId(); @Override public int getRenderType() { + + if(this == ModBlocks.red_cable_classic) + return renderIDClassic; + return TestConductor.renderID; } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 21cb9e94c..b24f96d5c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -679,6 +679,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderAnvil()); RenderingRegistry.registerBlockHandler(new RenderCrystal()); RenderingRegistry.registerBlockHandler(new RenderTestCable()); + RenderingRegistry.registerBlockHandler(new RenderCableClassic()); RenderingRegistry.registerBlockHandler(new RenderTestPipe()); RenderingRegistry.registerBlockHandler(new RenderBlockCT()); RenderingRegistry.registerBlockHandler(new RenderDetCord()); diff --git a/src/main/java/com/hbm/render/block/RenderCableClassic.java b/src/main/java/com/hbm/render/block/RenderCableClassic.java new file mode 100644 index 000000000..1ccfbcd7b --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderCableClassic.java @@ -0,0 +1,66 @@ +package com.hbm.render.block; + +import com.hbm.blocks.network.BlockCable; +import com.hbm.lib.Library; + +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; + +public class RenderCableClassic implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + boolean pX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); + boolean nX = Library.canConnect(world, x - 1, y, z, Library.POS_X); + boolean pY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); + boolean nY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); + boolean pZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); + boolean nZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); + + double spanU = iicon.getMaxU() - iicon.getMinU(); + double spanV = iicon.getMaxV() - iicon.getMinV(); + double px = 0.0625D; + + double uv_cL = iicon.getMinU(); + double uv_cR = iicon.getMinU() + spanU * 5 / px; + double uv_cT = iicon.getMaxV(); + double uv_cB = iicon.getMaxV() - spanV * 5 / px; + + double pos_min = px * 5.5D; + double pos_max = px * 10.5D; + + //TODO: all that manual tessellator crap + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return false; + } + + @Override + public int getRenderId() { + return BlockCable.renderIDClassic; + } + +} diff --git a/src/main/resources/assets/hbm/textures/blocks/block_smore_side.png b/src/main/resources/assets/hbm/textures/blocks/block_smore_side.png index f00014e1a9576adfb3f144564b0e1373131cce43..071a015ff380e23f1f6c725fff0c300713cc0474 100644 GIT binary patch delta 166 zcmV;X09pUr0n!1GG=GUnL_t(IjqQ-J2|_^-MCU+EG!YaG6v5Qsj7+S<0t{`yDy+lS zu7>@$vt#hTAPU!jKbp5Q(Z2M2TvVN?9;i2}_VAut4L$Pg%iA*|+8 zwDwd=k(r_EI+z*0Ip_S-eR8^APjUuGfed)`{O;Dv8Cv_~cpum`e;gf*4*tZ!3pmQP UM3R^#tpET307*qoM6N<$g4P*N3;+NC delta 175 zcmV;g08szZ0owtPG=GvwL_t(IjqQ-J4FW+71oxyD5h)=ee}W??padd{pap7pi7u#z zgaU{zL*g^vd2ND!Bm~kmz(+e?JMeC}bO$d=6g3njbkt!s^v@nj1L+_QY6HK$aNI7P z=Ab#~qnd*b&>V~T47GhoDY=Ls=L`|SH^&%%yiab4-uc`;v+kNU_ d>fj$bcmbDGz$<1#rSbp(002ovPDHLkV1i8jNwEL` diff --git a/src/main/resources/assets/hbm/textures/blocks/red_cable_classic.png b/src/main/resources/assets/hbm/textures/blocks/red_cable_classic.png new file mode 100644 index 0000000000000000000000000000000000000000..0990a1e90594503c50498196e876f410cd2c6e9e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfs@(Xnud#4*_<~vbo;)Eh3UXYAxX9s*%t5lLPEE)%qi|Tv0IN}QjnAAt+M9t327DY zITiot=(9cMsI5P0nK7$vj>);uK&AS(ISUz7brmbCn afcNi8eNEM?Q-RK8VDNPHb6Mw<&;$U!cv6x8 literal 0 HcmV?d00001