aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorkekzdealer <kekzdealer@gmail.com>2020-05-07 17:33:25 +0200
committerkekzdealer <kekzdealer@gmail.com>2020-05-07 17:33:25 +0200
commit46494ec70f01c07dbf73e0097ea8b42a891e6fa6 (patch)
tree2e6d97d2d999de5347af48e739c8ad9bc798d57b /src/main
parent943a4cb9248eee69c6c626489566098e2827d77d (diff)
downloadGT5-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.java2
-rw-r--r--src/main/java/common/blocks/Block_ItemProxyCable.java22
-rw-r--r--src/main/java/render/ConduitRenderer.java56
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;
+ }
+
}