72 lines
1.9 KiB
Java
72 lines
1.9 KiB
Java
package buildcraft.core;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.world.IBlockAccess;
|
|
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
|
|
|
import buildcraft.BuildCraftCore;
|
|
import buildcraft.api.transport.IPipeTile;
|
|
import buildcraft.core.lib.block.BlockBuildCraft;
|
|
import buildcraft.core.lib.utils.ResourceUtils;
|
|
import buildcraft.core.lib.utils.Utils;
|
|
|
|
public abstract class BlockHatched extends BlockBuildCraft {
|
|
private IIcon itemHatch;
|
|
|
|
protected BlockHatched(Material material) {
|
|
super(material);
|
|
|
|
setRotatable(true);
|
|
setPassCount(2);
|
|
}
|
|
|
|
@Override
|
|
public int getLightValue(IBlockAccess world, int x, int y, int z) {
|
|
return 1;
|
|
}
|
|
|
|
@Override
|
|
public void registerBlockIcons(IIconRegister register) {
|
|
super.registerBlockIcons(register);
|
|
String base = ResourceUtils.getObjectPrefix(Block.blockRegistry.getNameForObject(this));
|
|
itemHatch = register.registerIcon(base + "/item_hatch");
|
|
}
|
|
|
|
@Override
|
|
public IIcon getIcon(IBlockAccess access, int x, int y, int z, int side) {
|
|
// The quarry's pipe connection method has no idea about "sides".
|
|
if (renderPass == 1) {
|
|
return Utils.isPipeConnected(access, x, y, z, ForgeDirection.getOrientation(side), IPipeTile.PipeType.ITEM) ? itemHatch : BuildCraftCore.transparentTexture;
|
|
} else {
|
|
return super.getIcon(access, x, y, z, side);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public IIcon getIconAbsolute(IBlockAccess access, int x, int y, int z, int side, int meta) {
|
|
if (renderPass == 0) {
|
|
return super.getIconAbsolute(access, x, y, z, side, meta);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public IIcon getIconAbsolute(int side, int meta) {
|
|
if (renderPass == 0) {
|
|
return super.getIconAbsolute(side, meta);
|
|
} else {
|
|
return side == 1 ? itemHatch : null;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public boolean renderAsNormalBlock() {
|
|
return false;
|
|
}
|
|
}
|