From de44385a1632595b4c9917cadbf231248a2ba317 Mon Sep 17 00:00:00 2001 From: Bernhard Bonigl Date: Thu, 21 Aug 2014 17:33:34 +0200 Subject: [PATCH] Make Stained Clear Glass Panes use the code of vanilla glass panes. Also uses the vanilla stained glass pane renderer now. --- .../tconstruct/smeltery/blocks/PaneBase.java | 141 +------- .../tconstruct/smeltery/model/PaneRender.java | 341 +----------------- 2 files changed, 22 insertions(+), 460 deletions(-) diff --git a/src/main/java/tconstruct/smeltery/blocks/PaneBase.java b/src/main/java/tconstruct/smeltery/blocks/PaneBase.java index 1ef7662fb6d..bbe580bfc66 100644 --- a/src/main/java/tconstruct/smeltery/blocks/PaneBase.java +++ b/src/main/java/tconstruct/smeltery/blocks/PaneBase.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockPane; +import net.minecraft.block.BlockStainedGlassPane; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -20,7 +21,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class PaneBase extends Block +public class PaneBase extends BlockStainedGlassPane { public String[] textureNames; public String folder; @@ -29,27 +30,11 @@ public class PaneBase extends Block public PaneBase(Material material, String folder, String[] blockTextures) { - super(material); + super(); textureNames = blockTextures; this.folder = folder; } - public final boolean canPaneConnectToBlock (Block p_150098_1_) - { - return p_150098_1_.func_149730_j() || p_150098_1_ == this || p_150098_1_ == Blocks.glass || p_150098_1_ == Blocks.stained_glass || p_150098_1_ == Blocks.stained_glass_pane - || p_150098_1_ instanceof BlockPane; - } - - public boolean canConnectTo (IBlockAccess world, int x, int y, int z, ForgeDirection dir) - { - return canPaneConnectToBlock(world.getBlock(x, y, z)) || world.isSideSolid(x, y, z, dir.getOpposite(), false); - } - - public IIcon getSideTextureIndex (int meta) - { - return sideIcons[meta]; - } - @Override @SideOnly(Side.CLIENT) public void registerBlockIcons (IIconRegister iconRegister) @@ -66,12 +51,25 @@ public void registerBlockIcons (IIconRegister iconRegister) @Override @SideOnly(Side.CLIENT) - public IIcon getIcon (int side, int meta) + public IIcon func_149735_b(int p_149735_1_, int p_149735_2_) + { + return icons[p_149735_2_]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon func_150104_b(int p_150104_1_) { - return icons[meta]; + return sideIcons[p_150104_1_]; + } + + @Override + public IIcon getIcon(int p_149691_1_, int p_149691_2_) { + return icons[p_149691_2_]; } @Override + @SideOnly(Side.CLIENT) public void getSubBlocks (Item b, CreativeTabs tab, List list) { for (int iter = 0; iter < textureNames.length; iter++) @@ -93,108 +91,7 @@ public boolean renderAsNormalBlock () } @Override - public int getRenderType () - { + public int getRenderType() { return PaneRender.model; } - - @Override - public boolean shouldSideBeRendered (IBlockAccess iblockaccess, int i, int j, int k, int l) - { - Block b = iblockaccess.getBlock(i, j, k); - if (b instanceof PaneBase || b instanceof BlockPane) - { - return false; - } - else - { - return super.shouldSideBeRendered(iblockaccess, i, j, k, l); - } - } - - @Override - public void addCollisionBoxesToList (World world, int x, int y, int z, AxisAlignedBB axisalignedbb, List arraylist, Entity entity) - { - boolean south = canConnectTo(world, x, y, z - 1, ForgeDirection.NORTH); - boolean north = canConnectTo(world, x, y, z + 1, ForgeDirection.SOUTH); - boolean east = canConnectTo(world, x - 1, y, z, ForgeDirection.EAST); - boolean west = canConnectTo(world, x + 1, y, z, ForgeDirection.WEST); - if (east && west || !east && !west && !south && !north) - { - setBlockBounds(0.0F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F); - super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity); - } - else if (east && !west) - { - setBlockBounds(0.0F, 0.0F, 0.4375F, 0.5F, 1.0F, 0.5625F); - super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity); - } - else if (!east && west) - { - setBlockBounds(0.5F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F); - super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity); - } - if (south && north || !east && !west && !south && !north) - { - setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity); - } - else if (south && !north) - { - setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 0.5F); - super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity); - } - else if (!south && north) - { - setBlockBounds(0.4375F, 0.0F, 0.5F, 0.5625F, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, x, y, z, axisalignedbb, arraylist, entity); - } - } - - @Override - public void setBlockBoundsForItemRender () - { - setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - @Override - public void setBlockBoundsBasedOnState (IBlockAccess iblockaccess, int i, int j, int k) - { - float f = 0.4375F; - float f1 = 0.5625F; - float f2 = 0.4375F; - float f3 = 0.5625F; - boolean flag = canConnectTo(iblockaccess, i, j, k - 1, ForgeDirection.NORTH); - boolean flag1 = canConnectTo(iblockaccess, i, j, k + 1, ForgeDirection.SOUTH); - boolean flag2 = canConnectTo(iblockaccess, i - 1, j, k, ForgeDirection.EAST); - boolean flag3 = canConnectTo(iblockaccess, i + 1, j, k, ForgeDirection.WEST); - if (flag2 && flag3 || !flag2 && !flag3 && !flag && !flag1) - { - f = 0.0F; - f1 = 1.0F; - } - else if (flag2 && !flag3) - { - f = 0.0F; - } - else if (!flag2 && flag3) - { - f1 = 1.0F; - } - if (flag && flag1 || !flag2 && !flag3 && !flag && !flag1) - { - f2 = 0.0F; - f3 = 1.0F; - } - else if (flag && !flag1) - { - f2 = 0.0F; - } - else if (!flag && flag1) - { - f3 = 1.0F; - } - setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3); - } - } diff --git a/src/main/java/tconstruct/smeltery/model/PaneRender.java b/src/main/java/tconstruct/smeltery/model/PaneRender.java index 58eecb538a1..22a47c8966d 100644 --- a/src/main/java/tconstruct/smeltery/model/PaneRender.java +++ b/src/main/java/tconstruct/smeltery/model/PaneRender.java @@ -32,7 +32,9 @@ public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block { if (modelID == model) { - return renderPaneInWorld(renderer, world, x, y, z, (PaneBase) block); + //renderer.setOverrideBlockTexture(((PaneBase)block).getIcon(0, world.getBlockMetadata(x,y,z))); + return renderer.renderBlockStainedGlassPane(block, x,y,z); + //return renderPaneInWorld(renderer, world, x, y, z, (PaneBase) block); } else @@ -52,341 +54,4 @@ public int getRenderId () { return model; } - - public static boolean renderPaneInWorld (RenderBlocks renderblocks, IBlockAccess iblockaccess, int x, int y, int z, PaneBase pane) - { - int l = iblockaccess.getHeight(); - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(pane.getMixedBrightnessForBlock(iblockaccess, x, y, z)); - float f = 1.0F; - int i1 = pane.colorMultiplier(iblockaccess, x, y, z); - float f1 = (float) (i1 >> 16 & 0xff) / 255F; - float f2 = (float) (i1 >> 8 & 0xff) / 255F; - float f3 = (float) (i1 & 0xff) / 255F; - if (EntityRenderer.anaglyphEnable) - { - float f4 = (f1 * 30F + f2 * 59F + f3 * 11F) / 100F; - float f5 = (f1 * 30F + f2 * 70F) / 100F; - float f6 = (f1 * 30F + f3 * 70F) / 100F; - f1 = f4; - f2 = f5; - f3 = f6; - } - tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - boolean flag = false; - boolean flag1 = false; - IIcon icon; - IIcon icon1; - int meta = iblockaccess.getBlockMetadata(x, y, z); - icon = renderblocks.getBlockIconFromSideAndMetadata(pane, 0, meta); - icon1 = pane.getSideTextureIndex(meta); - - meta = icon.getIconWidth(); - int k1 = icon.getIconHeight(); - double d = (double) icon.getMinU(); - double d1 = (double) icon.getInterpolatedU(8.0D); - double d2 = (double) icon.getMaxU(); - double d3 = (double) icon.getMinV(); - double d4 = (double) icon.getMaxV(); - int l1 = icon1.getIconWidth(); - int i2 = icon1.getIconHeight(); - double d5 = (double) icon1.getInterpolatedU(7.0D); - double d6 = (double) icon1.getInterpolatedU(9.0D); - double d7 = (double) icon1.getMinV(); - double d8 = (double) icon1.getInterpolatedV(8.0D); - double d9 = (double) icon1.getMaxV(); - - /* - * int blockTextureIndex; int blockSideIndex; - * - * int j1 = iblockaccess.getBlockMetadata(x, y, z); blockTextureIndex = - * pane.getBlockTextureFromSideAndMetadata(0, j1); blockSideIndex = - * pane.getSideTextureIndex(j1); - * - * int k1 = (blockTextureIndex & 0xf) << 4; int j2 = blockTextureIndex & - * 0xf0; double d = (float) k1 / 256F; double d1 = ((float) k1 + 7.99F) - * / 256F; double d2 = ((float) k1 + 15.99F) / 256F; double d3 = (float) - * j2 / 256F; double d4 = ((float) j2 + 15.99F) / 256F; int k2 = - * (blockSideIndex & 0xf) << 4; int l2 = blockSideIndex & 0xf0; double - * d5 = (float) (k2 + 7) / 256F; double d6 = ((float) k2 + 8.99F) / - * 256F; double d7 = (float) l2 / 256F; double d8 = (float) (l2 + 8) / - * 256F; double d9 = ((float) l2 + 15.99F) / 256F; - */ - - double xBot = x; - double xMid = (double) x + 0.5D; - double xTop = x + 1; - double zBot = z; - double zMid = (double) z + 0.5D; - double zTop = z + 1; - double xMidDown = ((double) x + 0.5D) - 0.0625D; - double xMidUp = (double) x + 0.5D + 0.0625D; - double zMidDown = ((double) z + 0.5D) - 0.0625D; - double zMidUp = (double) z + 0.5D + 0.0625D; - boolean west = pane.canConnectTo(iblockaccess, x, y, z - 1, ForgeDirection.NORTH); - boolean east = pane.canConnectTo(iblockaccess, x, y, z + 1, ForgeDirection.SOUTH); - boolean south = pane.canConnectTo(iblockaccess, x - 1, y, z, ForgeDirection.EAST); - boolean north = pane.canConnectTo(iblockaccess, x + 1, y, z, ForgeDirection.WEST); - - boolean renderAbove = pane.shouldSideBeRendered(iblockaccess, x, y + 1, z, 1); - boolean renderBelow = pane.shouldSideBeRendered(iblockaccess, x, y - 1, z, 0); - if ((!south || !north) && (south || north || west || east)) - { - if (south && !north) - { - tessellator.addVertexWithUV(xBot, y + 1, zMidDown, d, d3); - tessellator.addVertexWithUV(xBot, y + 0, zMidDown, d, d4); - tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d1, d4); - tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d1, d3); - tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d, d3); - tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d, d4); - tessellator.addVertexWithUV(xBot, y + 0, zMidUp, d1, d4); - tessellator.addVertexWithUV(xBot, y + 1, zMidUp, d1, d3); - if (!east && !west) - { - tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d5, d7); - tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d5, d9); - tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d6, d9); - tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d6, d7); - } - if (renderAbove || y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x - 1, y + 1, z)) - { - tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d9); - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d9); - tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidDown, d5, d8); - } - if (renderBelow || y > 1 && WorldHelper.isAirBlock(iblockaccess, x - 1, y - 1, z)) - { - tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d9); - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d9); - tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidDown, d5, d8); - } - } - else if (!south && north) - { - tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d1, d3); - tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d1, d4); - tessellator.addVertexWithUV(xTop, y + 0, zMidDown, d2, d4); - tessellator.addVertexWithUV(xTop, y + 1, zMidDown, d2, d3); - tessellator.addVertexWithUV(xTop, y + 1, zMidUp, d1, d3); - tessellator.addVertexWithUV(xTop, y + 0, zMidUp, d1, d4); - tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d2, d4); - tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d2, d3); - if (!east && !west) - { - tessellator.addVertexWithUV(xMid, y + 1, zMidDown, d5, d7); - tessellator.addVertexWithUV(xMid, y + 0, zMidDown, d5, d9); - tessellator.addVertexWithUV(xMid, y + 0, zMidUp, d6, d9); - tessellator.addVertexWithUV(xMid, y + 1, zMidUp, d6, d7); - } - if (renderAbove || y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x + 1, y + 1, z)) - { - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d7); - tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidDown, d5, d8); - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d7); - } - if (renderBelow || y > 1 && WorldHelper.isAirBlock(iblockaccess, x + 1, y - 1, z)) - { - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d7); - tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidDown, d5, d8); - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d7); - } - } - } - else - { - tessellator.addVertexWithUV(xBot, y + 1, zMidDown, d, d3); - tessellator.addVertexWithUV(xBot, y + 0, zMidDown, d, d4); - tessellator.addVertexWithUV(xTop, y + 0, zMidDown, d2, d4); - tessellator.addVertexWithUV(xTop, y + 1, zMidDown, d2, d3); - tessellator.addVertexWithUV(xTop, y + 1, zMidUp, d, d3); - tessellator.addVertexWithUV(xTop, y + 0, zMidUp, d, d4); - tessellator.addVertexWithUV(xBot, y + 0, zMidUp, d2, d4); - tessellator.addVertexWithUV(xBot, y + 1, zMidUp, d2, d3); - if (renderAbove) - { - tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidUp, d6, d9); - tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidUp, d6, d7); - tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidDown, d5, d7); - tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidDown, d5, d9); - } - else - { - if (y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x - 1, y + 1, z)) - { - tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d9); - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d9); - tessellator.addVertexWithUV(xBot, (double) (y + 1) + 0.01D, zMidDown, d5, d8); - } - if (y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x + 1, y + 1, z)) - { - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidUp, d6, d7); - tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xTop, (double) (y + 1) + 0.01D, zMidDown, d5, d8); - tessellator.addVertexWithUV(xMid, (double) (y + 1) + 0.01D, zMidDown, d5, d7); - } - } - if (renderBelow) - { - tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidUp, d6, d9); - tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidUp, d6, d7); - tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidDown, d5, d7); - tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidDown, d5, d9); - } - else - { - if (y > 1 && WorldHelper.isAirBlock(iblockaccess, x - 1, y - 1, z)) - { - tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d9); - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d9); - tessellator.addVertexWithUV(xBot, (double) y - 0.01D, zMidDown, d5, d8); - } - if (y > 1 && WorldHelper.isAirBlock(iblockaccess, x + 1, y - 1, z)) - { - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidUp, d6, d7); - tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidUp, d6, d8); - tessellator.addVertexWithUV(xTop, (double) y - 0.01D, zMidDown, d5, d8); - tessellator.addVertexWithUV(xMid, (double) y - 0.01D, zMidDown, d5, d7); - } - } - } - if ((!west || !east) && (south || north || west || east)) - { - if (west && !east) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d, d3); - tessellator.addVertexWithUV(xMidDown, y + 0, zBot, d, d4); - tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d1, d4); - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d1, d3); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d, d3); - tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d, d4); - tessellator.addVertexWithUV(xMidUp, y + 0, zBot, d1, d4); - tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d1, d3); - if (!north && !south) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d5, d7); - tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d5, d9); - tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d6, d9); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d6, d7); - } - if (renderAbove || y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x, y + 1, z - 1)) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d6, d7); - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d6, d8); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d5, d8); - tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d5, d7); - } - if (renderBelow || y > 1 && WorldHelper.isAirBlock(iblockaccess, x, y - 1, z - 1)) - { - tessellator.addVertexWithUV(xMidDown, y, zBot, d6, d7); - tessellator.addVertexWithUV(xMidDown, y, zMid, d6, d8); - tessellator.addVertexWithUV(xMidUp, y, zMid, d5, d8); - tessellator.addVertexWithUV(xMidUp, y, zBot, d5, d7); - } - } - else if (!west && east) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d1, d3); - tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d1, d4); - tessellator.addVertexWithUV(xMidDown, y + 0, zTop, d2, d4); - tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d2, d3); - tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d1, d3); - tessellator.addVertexWithUV(xMidUp, y + 0, zTop, d1, d4); - tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d2, d4); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d2, d3); - if (!north && !south) - { - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d5, d7); - tessellator.addVertexWithUV(xMidUp, y + 0, zMid, d5, d9); - tessellator.addVertexWithUV(xMidDown, y + 0, zMid, d6, d9); - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d6, d7); - } - if (renderAbove || y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x, y + 1, z + 1)) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d5, d8); - tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d5, d9); - tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d6, d9); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d6, d8); - } - if (renderBelow || y > 1 && WorldHelper.isAirBlock(iblockaccess, x, y - 1, z + 1)) - { - tessellator.addVertexWithUV(xMidDown, y, zMid, d5, d8); - tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d9); - tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d9); - tessellator.addVertexWithUV(xMidUp, y, zMid, d6, d8); - } - } - } - else - { - tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d, d3); - tessellator.addVertexWithUV(xMidDown, y + 0, zTop, d, d4); - tessellator.addVertexWithUV(xMidDown, y + 0, zBot, d2, d4); - tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d2, d3); - tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d, d3); - tessellator.addVertexWithUV(xMidUp, y + 0, zBot, d, d4); - tessellator.addVertexWithUV(xMidUp, y + 0, zTop, d2, d4); - tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d2, d3); - if (renderAbove) - { - tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d6, d9); - tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d6, d7); - tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d5, d7); - tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d5, d9); - } - else - { - if (y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x, y + 1, z - 1)) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zBot, d6, d7); - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d6, d8); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d5, d8); - tessellator.addVertexWithUV(xMidUp, y + 1, zBot, d5, d7); - } - if (y < l - 1 && WorldHelper.isAirBlock(iblockaccess, x, y + 1, z + 1)) - { - tessellator.addVertexWithUV(xMidDown, y + 1, zMid, d5, d8); - tessellator.addVertexWithUV(xMidDown, y + 1, zTop, d5, d9); - tessellator.addVertexWithUV(xMidUp, y + 1, zTop, d6, d9); - tessellator.addVertexWithUV(xMidUp, y + 1, zMid, d6, d8); - } - } - if (renderBelow) - { - tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d9); - tessellator.addVertexWithUV(xMidUp, y, zBot, d6, d7); - tessellator.addVertexWithUV(xMidDown, y, zBot, d5, d7); - tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d9); - tessellator.addVertexWithUV(xMidUp, y, zBot, d6, d9); - tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d7); - tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d7); - tessellator.addVertexWithUV(xMidDown, y, zBot, d5, d9); - } - else - { - if (y > 1 && WorldHelper.isAirBlock(iblockaccess, x, y - 1, z - 1)) - { - tessellator.addVertexWithUV(xMidDown, y, zBot, d6, d7); - tessellator.addVertexWithUV(xMidDown, y, zMid, d6, d8); - tessellator.addVertexWithUV(xMidUp, y, zMid, d5, d8); - tessellator.addVertexWithUV(xMidUp, y, zBot, d5, d7); - } - if (y > 1 && WorldHelper.isAirBlock(iblockaccess, x, y - 1, z + 1)) - { - tessellator.addVertexWithUV(xMidDown, y, zMid, d5, d8); - tessellator.addVertexWithUV(xMidDown, y, zTop, d5, d9); - tessellator.addVertexWithUV(xMidUp, y, zTop, d6, d9); - tessellator.addVertexWithUV(xMidUp, y, zMid, d6, d8); - } - } - } - return true; - } - }