mirror of
https://github.com/GTNewHorizons/TinkersConstruct.git
synced 2026-11-13 17:04:24 +00:00
697 lines
22 KiB
Java
697 lines
22 KiB
Java
package tconstruct.blocks;
|
|
|
|
import java.util.List;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.util.AxisAlignedBB;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.world.World;
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
|
import tconstruct.client.block.PaneConnectedRender;
|
|
import tconstruct.util.config.PHConstruct;
|
|
|
|
public class GlassPaneConnected extends GlassBlockConnected
|
|
{
|
|
|
|
private IIcon theIcon;
|
|
|
|
public GlassPaneConnected(String location, boolean hasAlpha)
|
|
{
|
|
super(location, hasAlpha);
|
|
}
|
|
|
|
@Override
|
|
public int getRenderType ()
|
|
{
|
|
return PaneConnectedRender.model;
|
|
// return 0;
|
|
}
|
|
|
|
@Override
|
|
public IIcon getIcon (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
|
|
{
|
|
if (par5 == 0 || par5 == 1)
|
|
{
|
|
return par1IBlockAccess.getBlock(par2, par3 - 1, par4) == this && par5 == 0 ? icons[15] : par1IBlockAccess.getBlock(par2, par3 + 1, par4) == this && par5 == 1 ? icons[15]
|
|
: getSideTextureIndex();
|
|
}
|
|
else
|
|
{
|
|
return super.getIcon(par1IBlockAccess, par2, par3, par4, par5);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public IIcon getConnectedBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5, IIcon[] icons)
|
|
{
|
|
if (par5 == 0 || par5 == 1)
|
|
{
|
|
return getSideTextureIndex();
|
|
}
|
|
|
|
if (PHConstruct.connectedTexturesMode == 0)
|
|
{
|
|
return icons[0];
|
|
}
|
|
|
|
boolean isOpenUp = false, isOpenDown = false, isOpenLeft = false, isOpenRight = false;
|
|
|
|
switch (par5)
|
|
{
|
|
case 0:
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
|
{
|
|
isOpenDown = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
|
{
|
|
isOpenUp = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
|
{
|
|
isOpenLeft = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
|
{
|
|
isOpenRight = true;
|
|
}
|
|
|
|
if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[15];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[11];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenRight)
|
|
{
|
|
return icons[12];
|
|
}
|
|
else if (isOpenUp && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[13];
|
|
}
|
|
else if (isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[14];
|
|
}
|
|
else if (isOpenDown && isOpenUp)
|
|
{
|
|
return icons[5];
|
|
}
|
|
else if (isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[6];
|
|
}
|
|
else if (isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[8];
|
|
}
|
|
else if (isOpenDown && isOpenRight)
|
|
{
|
|
return icons[10];
|
|
}
|
|
else if (isOpenUp && isOpenLeft)
|
|
{
|
|
return icons[7];
|
|
}
|
|
else if (isOpenUp && isOpenRight)
|
|
{
|
|
return icons[9];
|
|
}
|
|
else if (isOpenDown)
|
|
{
|
|
return icons[3];
|
|
}
|
|
else if (isOpenUp)
|
|
{
|
|
return icons[4];
|
|
}
|
|
else if (isOpenLeft)
|
|
{
|
|
return icons[2];
|
|
}
|
|
else if (isOpenRight)
|
|
{
|
|
return icons[1];
|
|
}
|
|
break;
|
|
case 1:
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
|
{
|
|
isOpenDown = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
|
{
|
|
isOpenUp = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
|
{
|
|
isOpenLeft = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
|
{
|
|
isOpenRight = true;
|
|
}
|
|
|
|
if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[15];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[11];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenRight)
|
|
{
|
|
return icons[12];
|
|
}
|
|
else if (isOpenUp && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[13];
|
|
}
|
|
else if (isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[14];
|
|
}
|
|
else if (isOpenDown && isOpenUp)
|
|
{
|
|
return icons[5];
|
|
}
|
|
else if (isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[6];
|
|
}
|
|
else if (isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[8];
|
|
}
|
|
else if (isOpenDown && isOpenRight)
|
|
{
|
|
return icons[10];
|
|
}
|
|
else if (isOpenUp && isOpenLeft)
|
|
{
|
|
return icons[7];
|
|
}
|
|
else if (isOpenUp && isOpenRight)
|
|
{
|
|
return icons[9];
|
|
}
|
|
else if (isOpenDown)
|
|
{
|
|
return icons[3];
|
|
}
|
|
else if (isOpenUp)
|
|
{
|
|
return icons[4];
|
|
}
|
|
else if (isOpenLeft)
|
|
{
|
|
return icons[2];
|
|
}
|
|
else if (isOpenRight)
|
|
{
|
|
return icons[1];
|
|
}
|
|
break;
|
|
case 2:
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
|
{
|
|
isOpenDown = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
|
{
|
|
isOpenUp = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
|
{
|
|
isOpenLeft = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
|
{
|
|
isOpenRight = true;
|
|
}
|
|
|
|
if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[15];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[13];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenRight)
|
|
{
|
|
return icons[14];
|
|
}
|
|
else if (isOpenUp && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[11];
|
|
}
|
|
else if (isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[12];
|
|
}
|
|
else if (isOpenDown && isOpenUp)
|
|
{
|
|
return icons[6];
|
|
}
|
|
else if (isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[5];
|
|
}
|
|
else if (isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[9];
|
|
}
|
|
else if (isOpenDown && isOpenRight)
|
|
{
|
|
return icons[10];
|
|
}
|
|
else if (isOpenUp && isOpenLeft)
|
|
{
|
|
return icons[7];
|
|
}
|
|
else if (isOpenUp && isOpenRight)
|
|
{
|
|
return icons[8];
|
|
}
|
|
else if (isOpenDown)
|
|
{
|
|
return icons[1];
|
|
}
|
|
else if (isOpenUp)
|
|
{
|
|
return icons[2];
|
|
}
|
|
else if (isOpenLeft)
|
|
{
|
|
return icons[4];
|
|
}
|
|
else if (isOpenRight)
|
|
{
|
|
return icons[3];
|
|
}
|
|
break;
|
|
case 3:
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
|
{
|
|
isOpenDown = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
|
{
|
|
isOpenUp = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
|
{
|
|
isOpenLeft = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
|
{
|
|
isOpenRight = true;
|
|
}
|
|
|
|
if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[15];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[14];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenRight)
|
|
{
|
|
return icons[13];
|
|
}
|
|
else if (isOpenUp && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[11];
|
|
}
|
|
else if (isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[12];
|
|
}
|
|
else if (isOpenDown && isOpenUp)
|
|
{
|
|
return icons[6];
|
|
}
|
|
else if (isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[5];
|
|
}
|
|
else if (isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[10];
|
|
}
|
|
else if (isOpenDown && isOpenRight)
|
|
{
|
|
return icons[9];
|
|
}
|
|
else if (isOpenUp && isOpenLeft)
|
|
{
|
|
return icons[8];
|
|
}
|
|
else if (isOpenUp && isOpenRight)
|
|
{
|
|
return icons[7];
|
|
}
|
|
else if (isOpenDown)
|
|
{
|
|
return icons[1];
|
|
}
|
|
else if (isOpenUp)
|
|
{
|
|
return icons[2];
|
|
}
|
|
else if (isOpenLeft)
|
|
{
|
|
return icons[3];
|
|
}
|
|
else if (isOpenRight)
|
|
{
|
|
return icons[4];
|
|
}
|
|
break;
|
|
case 4:
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
|
{
|
|
isOpenDown = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
|
{
|
|
isOpenUp = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
|
{
|
|
isOpenLeft = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
|
{
|
|
isOpenRight = true;
|
|
}
|
|
|
|
if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[15];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[14];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenRight)
|
|
{
|
|
return icons[13];
|
|
}
|
|
else if (isOpenUp && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[11];
|
|
}
|
|
else if (isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[12];
|
|
}
|
|
else if (isOpenDown && isOpenUp)
|
|
{
|
|
return icons[6];
|
|
}
|
|
else if (isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[5];
|
|
}
|
|
else if (isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[10];
|
|
}
|
|
else if (isOpenDown && isOpenRight)
|
|
{
|
|
return icons[9];
|
|
}
|
|
else if (isOpenUp && isOpenLeft)
|
|
{
|
|
return icons[8];
|
|
}
|
|
else if (isOpenUp && isOpenRight)
|
|
{
|
|
return icons[7];
|
|
}
|
|
else if (isOpenDown)
|
|
{
|
|
return icons[1];
|
|
}
|
|
else if (isOpenUp)
|
|
{
|
|
return icons[2];
|
|
}
|
|
else if (isOpenLeft)
|
|
{
|
|
return icons[3];
|
|
}
|
|
else if (isOpenRight)
|
|
{
|
|
return icons[4];
|
|
}
|
|
break;
|
|
case 5:
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
|
{
|
|
isOpenDown = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
|
{
|
|
isOpenUp = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
|
{
|
|
isOpenLeft = true;
|
|
}
|
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.getBlock(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
|
{
|
|
isOpenRight = true;
|
|
}
|
|
|
|
if (isOpenUp && isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[15];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[13];
|
|
}
|
|
else if (isOpenUp && isOpenDown && isOpenRight)
|
|
{
|
|
return icons[14];
|
|
}
|
|
else if (isOpenUp && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[11];
|
|
}
|
|
else if (isOpenDown && isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[12];
|
|
}
|
|
else if (isOpenDown && isOpenUp)
|
|
{
|
|
return icons[6];
|
|
}
|
|
else if (isOpenLeft && isOpenRight)
|
|
{
|
|
return icons[5];
|
|
}
|
|
else if (isOpenDown && isOpenLeft)
|
|
{
|
|
return icons[9];
|
|
}
|
|
else if (isOpenDown && isOpenRight)
|
|
{
|
|
return icons[10];
|
|
}
|
|
else if (isOpenUp && isOpenLeft)
|
|
{
|
|
return icons[7];
|
|
}
|
|
else if (isOpenUp && isOpenRight)
|
|
{
|
|
return icons[8];
|
|
}
|
|
else if (isOpenDown)
|
|
{
|
|
return icons[1];
|
|
}
|
|
else if (isOpenUp)
|
|
{
|
|
return icons[2];
|
|
}
|
|
else if (isOpenLeft)
|
|
{
|
|
return icons[4];
|
|
}
|
|
else if (isOpenRight)
|
|
{
|
|
return icons[3];
|
|
}
|
|
break;
|
|
}
|
|
|
|
return icons[0];
|
|
}
|
|
|
|
@Override
|
|
public void addCollisionBoxesToList (World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity)
|
|
{
|
|
boolean flag = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.NORTH);
|
|
boolean flag1 = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.SOUTH);
|
|
boolean flag2 = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.WEST);
|
|
boolean flag3 = this.canPaneConnectTo(par1World, par2, par3, par4, ForgeDirection.EAST);
|
|
|
|
if ((!flag2 || !flag3) && (flag2 || flag3 || flag || flag1))
|
|
{
|
|
if (flag2 && !flag3)
|
|
{
|
|
this.setBlockBounds(0.0F, 0.0F, 0.4375F, 0.5F, 1.0F, 0.5625F);
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
}
|
|
else if (!flag2 && flag3)
|
|
{
|
|
this.setBlockBounds(0.5F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.setBlockBounds(0.0F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
}
|
|
|
|
if ((!flag || !flag1) && (flag2 || flag3 || flag || flag1))
|
|
{
|
|
if (flag && !flag1)
|
|
{
|
|
this.setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 0.5F);
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
}
|
|
else if (!flag && flag1)
|
|
{
|
|
this.setBlockBounds(0.4375F, 0.0F, 0.5F, 0.5625F, 1.0F, 1.0F);
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.setBlockBounds(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 1.0F);
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void setBlockBoundsForItemRender ()
|
|
{
|
|
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
|
}
|
|
|
|
@Override
|
|
public void setBlockBoundsBasedOnState (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
|
|
{
|
|
float f = 0.4375F;
|
|
float f1 = 0.5625F;
|
|
float f2 = 0.4375F;
|
|
float f3 = 0.5625F;
|
|
boolean flag = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.NORTH);
|
|
boolean flag1 = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.SOUTH);
|
|
boolean flag2 = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.WEST);
|
|
boolean flag3 = this.canPaneConnectTo(par1IBlockAccess, par2, par3, par4, ForgeDirection.EAST);
|
|
|
|
if ((!flag2 || !flag3) && (flag2 || flag3 || flag || flag1))
|
|
{
|
|
if (flag2 && !flag3)
|
|
{
|
|
f = 0.0F;
|
|
}
|
|
else if (!flag2 && flag3)
|
|
{
|
|
f1 = 1.0F;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
f = 0.0F;
|
|
f1 = 1.0F;
|
|
}
|
|
|
|
if ((!flag || !flag1) && (flag2 || flag3 || flag || flag1))
|
|
{
|
|
if (flag && !flag1)
|
|
{
|
|
f2 = 0.0F;
|
|
}
|
|
else if (!flag && flag1)
|
|
{
|
|
f3 = 1.0F;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
f2 = 0.0F;
|
|
f3 = 1.0F;
|
|
}
|
|
|
|
this.setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3);
|
|
}
|
|
|
|
public IIcon getSideTextureIndex ()
|
|
{
|
|
return this.theIcon;
|
|
}
|
|
|
|
public final boolean canThisPaneConnectToThisBlock (Block b)
|
|
{
|
|
return b.isOpaqueCube() || b == (Block) this || b == Blocks.glass;
|
|
}
|
|
|
|
public void registerBlockIcons (IIconRegister par1IconRegister)
|
|
{
|
|
super.registerBlockIcons(par1IconRegister);
|
|
this.theIcon = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_side");
|
|
}
|
|
|
|
public boolean canPaneConnectTo (IBlockAccess access, int x, int y, int z, ForgeDirection dir)
|
|
{
|
|
return canThisPaneConnectToThisBlock(access.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))
|
|
|| access.isSideSolid(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite(), false);
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldSideBeRendered (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
|
|
{
|
|
// if(par5 == 0 || par5 == 1){
|
|
// return par1IBlockAccess.getBlock(par2, par3, par4) != this.blockID;
|
|
// }else{
|
|
// return true;
|
|
// }
|
|
return true;
|
|
}
|
|
}
|