diff options
author | kekzdealer <kekzdealer@gmail.com> | 2020-05-07 17:33:25 +0200 |
---|---|---|
committer | kekzdealer <kekzdealer@gmail.com> | 2020-05-07 17:33:25 +0200 |
commit | 46494ec70f01c07dbf73e0097ea8b42a891e6fa6 (patch) | |
tree | 2e6d97d2d999de5347af48e739c8ad9bc798d57b /src/main | |
parent | 943a4cb9248eee69c6c626489566098e2827d77d (diff) | |
download | GT5-Unofficial-46494ec70f01c07dbf73e0097ea8b42a891e6fa6.tar.gz GT5-Unofficial-46494ec70f01c07dbf73e0097ea8b42a891e6fa6.tar.bz2 GT5-Unofficial-46494ec70f01c07dbf73e0097ea8b42a891e6fa6.zip |
super minor renderer progress
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/common/Blocks.java | 2 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_ItemProxyCable.java | 22 | ||||
-rw-r--r-- | src/main/java/render/ConduitRenderer.java | 56 |
3 files changed, 63 insertions, 17 deletions
diff --git a/src/main/java/common/Blocks.java b/src/main/java/common/Blocks.java index d7211e2b13..5c9a94ee3a 100644 --- a/src/main/java/common/Blocks.java +++ b/src/main/java/common/Blocks.java @@ -60,7 +60,7 @@ public class Blocks { registerBlocks_TFFT(); registerBlocks_Nuclear(); //registerBlocks_ItemServer(); - //registerBlocks_ItemProxy(); + registerBlocks_ItemProxy(); registerBlocks_Jars(); registerBlocks_LSC(); diff --git a/src/main/java/common/blocks/Block_ItemProxyCable.java b/src/main/java/common/blocks/Block_ItemProxyCable.java index 23f082a2bd..e32e4cb8f0 100644 --- a/src/main/java/common/blocks/Block_ItemProxyCable.java +++ b/src/main/java/common/blocks/Block_ItemProxyCable.java @@ -2,13 +2,17 @@ package common.blocks; import common.itemBlocks.IB_ItemProxyCable; import common.tileentities.TE_ItemProxyCable; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import kekztech.KekzCore; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import render.ConduitRenderer; public class Block_ItemProxyCable extends Block { @@ -49,4 +53,22 @@ public class Block_ItemProxyCable extends Block { return true; } + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + public int getRenderType() { + if (FMLCommonHandler.instance().getSide().isClient()) { + return ConduitRenderer.RID; + } else + return 0; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } } diff --git a/src/main/java/render/ConduitRenderer.java b/src/main/java/render/ConduitRenderer.java index c4eefd50a2..3f4f97a95c 100644 --- a/src/main/java/render/ConduitRenderer.java +++ b/src/main/java/render/ConduitRenderer.java @@ -10,12 +10,13 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; +import org.lwjgl.opengl.GL11; public class ConduitRenderer implements ISimpleBlockRenderingHandler { + public static final int RID = RenderingRegistry.getNextAvailableRenderId(); private static final ConduitRenderer instance = new ConduitRenderer(); - private final int renderID = RenderingRegistry.getNextAvailableRenderId(); - + private ConduitRenderer() { } @@ -23,25 +24,44 @@ public class ConduitRenderer implements ISimpleBlockRenderingHandler { public static ConduitRenderer getInstance() { return instance; } - - public void registerRenderer() { - RenderingRegistry.registerBlockHandler(this); - } - - @Override - public int getRenderId() { - return renderID; - } @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - + Tessellator tessellator = Tessellator.instance; + block.setBlockBoundsForItemRender(); + renderer.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - System.out.println("custom renderer"); final TileEntity te = world.getTileEntity(x, y, z); if(te instanceof TE_ItemProxyCable) { final TE_ItemProxyCable cable = (TE_ItemProxyCable) te; @@ -62,7 +82,6 @@ public class ConduitRenderer implements ISimpleBlockRenderingHandler { IIcon icon = block.getIcon(0, 0); // South face if(cable.isConnected(ForgeDirection.SOUTH)) { - System.out.println("tesselating"); f.addVertexWithUV(x + space + thickness, y + space, z + 1, icon.getMaxU(), icon.getMaxV()); f.addVertexWithUV(x + space + thickness, y + space + thickness, z + 1, icon.getMaxU(), icon.getMinV()); f.addVertexWithUV(x + space, y + space + thickness, z + 1, icon.getMinU(), icon.getMinV()); @@ -77,7 +96,12 @@ public class ConduitRenderer implements ISimpleBlockRenderingHandler { @Override public boolean shouldRender3DInInventory(int modelId) { - return false; + return true; } - + + @Override + public int getRenderId() { + return ConduitRenderer.RID; + } + } |