fix filler rendering, remove useless quarry code
This commit is contained in:
parent
5ce27e1c2a
commit
0fabb7692a
8 changed files with 39 additions and 105 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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[] {
|
||||
|
|
|
@ -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;
|
||||
|
|
35
common/buildcraft/builders/render/RenderFiller.java
Normal file
35
common/buildcraft/builders/render/RenderFiller.java
Normal file
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"),
|
||||
|
|
Loading…
Reference in a new issue