diff --git a/common/buildcraft/builders/BlockFiller.java b/common/buildcraft/builders/BlockFiller.java index 43bdcbab..79db356e 100644 --- a/common/buildcraft/builders/BlockFiller.java +++ b/common/buildcraft/builders/BlockFiller.java @@ -11,7 +11,6 @@ package buildcraft.builders; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -28,7 +27,6 @@ public class BlockFiller extends BlockBuildCraft { setHardness(5F); setCreativeTab(BCCreativeTab.get("main")); setRotatable(true); - setPassCount(4); } @Override @@ -48,16 +46,6 @@ public class BlockFiller extends BlockBuildCraft { } - @Override - public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { - if (renderPass == 0 || renderPass == 3) { - return -1; - } else { - TileFiller tile = (TileFiller) access.getTileEntity(x, y, z); - return tile.getIconGlowLevel(renderPass); - } - } - @Override public TileEntity createNewTileEntity(World world, int metadata) { return new TileFiller(); @@ -77,28 +65,4 @@ public class BlockFiller extends BlockBuildCraft { public int getLightValue(IBlockAccess world, int x, int y, int z) { return 1; } - - @Override - public IIcon getIconAbsolute(IBlockAccess access, int x, int y, int z, int side, int meta) { - if (renderPass < 3) { - return super.getIconAbsolute(access, x, y, z, side, meta); - } else { - if (side == 2) { - TileEntity tile = access.getTileEntity(x, y, z); - if (tile instanceof TileFiller && ((TileFiller) tile).currentPattern != null) { - return ((TileFiller) tile).currentPattern.getBlockOverlay(); - } - } - return null; - } - } - - @Override - public IIcon getIconAbsolute(int side, int meta) { - if (renderPass < 3) { - return super.getIconAbsolute(side, meta); - } else { - return null; - } - } } diff --git a/common/buildcraft/builders/BlockQuarry.java b/common/buildcraft/builders/BlockQuarry.java index bfcbe606..0717160e 100644 --- a/common/buildcraft/builders/BlockQuarry.java +++ b/common/buildcraft/builders/BlockQuarry.java @@ -149,14 +149,4 @@ public class BlockQuarry extends BlockHatched { public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) { return false; } - - @Override - public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { - if (renderPass < 2) { - return -1; - } else { - TileQuarry tile = (TileQuarry) access.getTileEntity(x, y, z); - return tile.getIconGlowLevel(renderPass); - } - } } diff --git a/common/buildcraft/builders/BuilderProxyClient.java b/common/buildcraft/builders/BuilderProxyClient.java index b885bc70..355aa7f4 100644 --- a/common/buildcraft/builders/BuilderProxyClient.java +++ b/common/buildcraft/builders/BuilderProxyClient.java @@ -16,6 +16,7 @@ import cpw.mods.fml.client.registry.RenderingRegistry; import buildcraft.BuildCraftBuilders; import buildcraft.builders.render.RenderBuilderTile; +import buildcraft.builders.render.RenderFiller; import buildcraft.builders.urbanism.TileUrbanist; import buildcraft.core.lib.EntityBlock; import buildcraft.core.lib.render.RenderMultiTESR; @@ -44,7 +45,7 @@ public class BuilderProxyClient extends BuilderProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileFiller.class, new RenderMultiTESR(new TileEntitySpecialRenderer[] { new RenderLEDTile(BuildCraftBuilders.fillerBlock), - new RenderBuilder() + new RenderFiller() })); ClientRegistry.bindTileEntitySpecialRenderer(TileQuarry.class, new RenderMultiTESR(new TileEntitySpecialRenderer[] { diff --git a/common/buildcraft/builders/TileQuarry.java b/common/buildcraft/builders/TileQuarry.java index 7448edfb..c59c45be 100644 --- a/common/buildcraft/builders/TileQuarry.java +++ b/common/buildcraft/builders/TileQuarry.java @@ -863,16 +863,6 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI } } - public int getIconGlowLevel(int renderPass) { - if (renderPass == 2) { // Red LED - return ledState & 15; - } else if (renderPass == 3) { // Green LED - return (ledState >> 4) > 0 ? 15 : 0; - } else { - return -1; - } - } - @Override public boolean hasCustomInventoryName() { return false; diff --git a/common/buildcraft/builders/render/RenderFiller.java b/common/buildcraft/builders/render/RenderFiller.java new file mode 100644 index 00000000..dee35a5f --- /dev/null +++ b/common/buildcraft/builders/render/RenderFiller.java @@ -0,0 +1,35 @@ +package buildcraft.builders.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.tileentity.TileEntity; + +import buildcraft.BuildCraftBuilders; +import buildcraft.builders.TileFiller; +import buildcraft.core.lib.render.RenderEntityBlock; +import buildcraft.core.render.RenderBuilder; + +public class RenderFiller extends RenderBuilder { + private static final float Z_OFFSET = 2049 / 2048.0F; + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + super.renderTileEntityAt(tileentity, x, y, z, f); + + bindTexture(TextureMap.locationBlocksTexture); + RenderEntityBlock.RenderInfo renderBox = new RenderEntityBlock.RenderInfo(); + + GL11.glPushMatrix(); + + GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F); + GL11.glScalef(Z_OFFSET, Z_OFFSET, Z_OFFSET); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + + renderBox.setRenderSingleSide(BuildCraftBuilders.fillerBlock.getFrontSide(tileentity.getBlockMetadata())); + renderBox.texture = ((TileFiller) tileentity).currentPattern.getBlockOverlay(); + RenderEntityBlock.INSTANCE.renderBlock(renderBox); + + GL11.glPopMatrix(); + } +} diff --git a/common/buildcraft/core/lib/block/BlockBuildCraft.java b/common/buildcraft/core/lib/block/BlockBuildCraft.java index bbfb2006..a49d70c5 100644 --- a/common/buildcraft/core/lib/block/BlockBuildCraft.java +++ b/common/buildcraft/core/lib/block/BlockBuildCraft.java @@ -267,14 +267,6 @@ public abstract class BlockBuildCraft extends BlockContainer { return renderPass; } - public int getIconGlowLevel() { - return -1; - } - - public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { - return getIconGlowLevel(); - } - public int getFrontSide(int meta) { if (!isRotatable()) { return -1; diff --git a/common/buildcraft/core/lib/render/RenderBlockComplex.java b/common/buildcraft/core/lib/render/RenderBlockComplex.java index de9fa143..20aee501 100644 --- a/common/buildcraft/core/lib/render/RenderBlockComplex.java +++ b/common/buildcraft/core/lib/render/RenderBlockComplex.java @@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11; 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 cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; @@ -34,12 +33,7 @@ public class RenderBlockComplex implements ISimpleBlockRenderingHandler { renderer.uvRotateBottom = Y_ROTATE[block.getFrontSide(meta) - 2]; } - if (block.getIconGlowLevel() >= 0) { - Tessellator.instance.setBrightness(block.getIconGlowLevel() << 4); - RenderUtils.drawBlockItem(renderer, Tessellator.instance, block, meta); - } else { - RenderUtils.drawBlockItem(renderer, Tessellator.instance, block, meta); - } + RenderUtils.drawBlockItem(renderer, Tessellator.instance, block, meta); renderer.uvRotateTop = 0; renderer.uvRotateBottom = 0; @@ -59,38 +53,7 @@ public class RenderBlockComplex implements ISimpleBlockRenderingHandler { block.getBlockBoundsMaxY() + pDouble, block.getBlockBoundsMaxZ() + pDouble); - if (block.getIconGlowLevel(world, x, y, z) >= 0) { - Tessellator.instance.setBrightness(block.getIconGlowLevel(world, x, y, z) << 4); - Tessellator.instance.setColorOpaque_F(1.0F, 1.0F, 1.0F); - IIcon icon; - - icon = block.getIcon(world, x, y, z, 0); - if (icon != BuildCraftCore.transparentTexture && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y - 1, z, 0))) { - renderer.renderFaceYNeg(block, x, y, z, icon); - } - icon = block.getIcon(world, x, y, z, 1); - if (icon != BuildCraftCore.transparentTexture && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y + 1, z, 1))) { - renderer.renderFaceYPos(block, x, y, z, icon); - } - icon = block.getIcon(world, x, y, z, 2); - if (icon != BuildCraftCore.transparentTexture && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y, z - 1, 2))) { - renderer.renderFaceZNeg(block, x, y, z, icon); - } - icon = block.getIcon(world, x, y, z, 3); - if (icon != BuildCraftCore.transparentTexture && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y, z + 1, 3))) { - renderer.renderFaceZPos(block, x, y, z, icon); - } - icon = block.getIcon(world, x, y, z, 4); - if (icon != BuildCraftCore.transparentTexture && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x - 1, y, z, 4))) { - renderer.renderFaceXNeg(block, x, y, z, icon); - } - icon = block.getIcon(world, x, y, z, 5); - if (icon != BuildCraftCore.transparentTexture && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x + 1, y, z, 5))) { - renderer.renderFaceXPos(block, x, y, z, icon); - } - } else { - renderer.renderStandardBlock(block, x, y, z); - } + renderer.renderStandardBlock(block, x, y, z); renderer.uvRotateTop = 0; renderer.uvRotateBottom = 0; diff --git a/common/buildcraft/core/render/RenderLEDTile.java b/common/buildcraft/core/render/RenderLEDTile.java index dc2b4f12..5fb51442 100644 --- a/common/buildcraft/core/render/RenderLEDTile.java +++ b/common/buildcraft/core/render/RenderLEDTile.java @@ -30,7 +30,6 @@ public class RenderLEDTile extends TileEntitySpecialRenderer { public static void registerBlockIcons(IIconRegister register) { for (Block b : iconMap.keySet().toArray(new Block[iconMap.keySet().size()])) { // TODO (7.1): The count of icons is hardcoded here. Consider adding a better way. - IIcon[] array = new IIcon[2]; String base = ResourceUtils.getObjectPrefix(Block.blockRegistry.getNameForObject(b)); iconMap.put(b, new IIcon[] { register.registerIcon(base + "/led_red"),