2013-07-26 21:18:53 -07:00
|
|
|
package tconstruct.blocks;
|
|
|
|
|
|
2013-10-01 19:44:04 -07:00
|
|
|
import tconstruct.util.config.PHConstruct;
|
2013-09-17 20:00:54 +10:00
|
|
|
|
2013-07-26 21:18:53 -07:00
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import tconstruct.client.block.PaneConnectedRender;
|
|
|
|
|
import net.minecraft.block.Block;
|
2013-12-31 11:26:08 -05:00
|
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
2013-07-26 21:18:53 -07:00
|
|
|
import net.minecraft.entity.Entity;
|
2014-01-01 09:30:55 -05:00
|
|
|
import net.minecraft.init.Blocks;
|
2013-07-26 21:18:53 -07:00
|
|
|
import net.minecraft.util.AxisAlignedBB;
|
2013-12-31 11:26:08 -05:00
|
|
|
import net.minecraft.util.IIcon;
|
2013-07-26 21:18:53 -07:00
|
|
|
import net.minecraft.world.IBlockAccess;
|
|
|
|
|
import net.minecraft.world.World;
|
2013-12-31 11:26:08 -05:00
|
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
2013-07-26 21:18:53 -07:00
|
|
|
|
2013-11-10 13:57:35 -08:00
|
|
|
public class GlassPaneConnected extends GlassBlockConnected
|
|
|
|
|
{
|
|
|
|
|
|
2013-12-31 11:26:08 -05:00
|
|
|
private IIcon theIcon;
|
2013-11-10 13:57:35 -08:00
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
public GlassPaneConnected(String location, boolean hasAlpha)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
2014-01-11 05:29:27 -05:00
|
|
|
super(location, hasAlpha);
|
2013-11-10 13:57:35 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getRenderType ()
|
|
|
|
|
{
|
|
|
|
|
return PaneConnectedRender.model;
|
|
|
|
|
// return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2014-01-01 08:54:06 -05:00
|
|
|
public IIcon getBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
if (par5 == 0 || par5 == 1)
|
|
|
|
|
{
|
2014-01-11 05:29:27 -05:00
|
|
|
return par1IBlockAccess.func_147439_a(par2, par3 - 1, par4) == this && par5 == 0 ? icons[15]
|
|
|
|
|
: par1IBlockAccess.func_147439_a(par2, par3 + 1, par4) == this && par5 == 1 ? icons[15] : getSideTextureIndex();
|
2013-11-10 13:57:35 -08:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return super.getBlockTexture(par1IBlockAccess, par2, par3, par4, par5);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2014-01-01 08:54:06 -05:00
|
|
|
public IIcon getConnectedBlockTexture (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5, IIcon[] icons)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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:
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenDown = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenUp = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenLeft = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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:
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenDown = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenUp = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenLeft = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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:
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenDown = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenUp = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenLeft = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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:
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenDown = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenUp = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 - 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 - 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenLeft = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2 + 1, par3, par4), par1IBlockAccess.getBlockMetadata(par2 + 1, par3, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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:
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenDown = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenUp = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenLeft = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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:
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 - 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 - 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenDown = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3 + 1, par4), par1IBlockAccess.getBlockMetadata(par2, par3 + 1, par4)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenUp = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 - 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 - 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
isOpenLeft = true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-11 05:29:27 -05:00
|
|
|
if (shouldConnectToBlock(par1IBlockAccess, par2, par3, par4, par1IBlockAccess.func_147439_a(par2, par3, par4 + 1), par1IBlockAccess.getBlockMetadata(par2, par3, par4 + 1)))
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.0F, 0.0F, 0.4375F, 0.5F, 1.0F, 0.5625F);
|
2013-11-10 13:57:35 -08:00
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
else if (!flag2 && flag3)
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.5F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
|
2013-11-10 13:57:35 -08:00
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.0F, 0.0F, 0.4375F, 1.0F, 1.0F, 0.5625F);
|
2013-11-10 13:57:35 -08:00
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((!flag || !flag1) && (flag2 || flag3 || flag || flag1))
|
|
|
|
|
{
|
|
|
|
|
if (flag && !flag1)
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 0.5F);
|
2013-11-10 13:57:35 -08:00
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
else if (!flag && flag1)
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.4375F, 0.0F, 0.5F, 0.5625F, 1.0F, 1.0F);
|
2013-11-10 13:57:35 -08:00
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.4375F, 0.0F, 0.0F, 0.5625F, 1.0F, 1.0F);
|
2013-11-10 13:57:35 -08:00
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void setBlockBoundsForItemRender ()
|
|
|
|
|
{
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
2013-11-10 13:57:35 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2014-01-16 01:36:18 -05:00
|
|
|
public void func_149719_a (IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-16 01:36:18 -05:00
|
|
|
this.func_149676_a(f, 0.0F, f2, f1, 1.0F, f3);
|
2013-11-10 13:57:35 -08:00
|
|
|
}
|
|
|
|
|
|
2013-12-31 11:58:36 -05:00
|
|
|
public IIcon getSideTextureIndex ()
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
return this.theIcon;
|
|
|
|
|
}
|
|
|
|
|
|
2014-01-07 13:50:35 -05:00
|
|
|
public final boolean canThisPaneConnectToThisBlock (Block b)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
2014-01-07 13:50:35 -05:00
|
|
|
return Block.opaqueCubeLookup[b] || b == (Block) this || b == Blocks.glass;
|
2013-11-10 13:57:35 -08:00
|
|
|
}
|
|
|
|
|
|
2014-01-18 02:52:49 -05:00
|
|
|
public void func_149651_a (IIconRegister par1IconRegister)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
2014-01-18 02:52:49 -05:00
|
|
|
super.func_149651_a(par1IconRegister);
|
2013-11-10 13:57:35 -08:00
|
|
|
this.theIcon = par1IconRegister.registerIcon("tinker:glass/" + folder + "/glass_side");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean canPaneConnectTo (IBlockAccess access, int x, int y, int z, ForgeDirection dir)
|
|
|
|
|
{
|
2014-01-11 05:29:27 -05:00
|
|
|
return canThisPaneConnectToThisBlock(access.func_147439_a(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))
|
2014-01-15 23:19:27 -05:00
|
|
|
|| access.isSideSolid(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite(), false);
|
2013-11-10 13:57:35 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2014-01-15 23:19:27 -05:00
|
|
|
public boolean func_149646_a (IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
|
2013-11-10 13:57:35 -08:00
|
|
|
{
|
|
|
|
|
// if(par5 == 0 || par5 == 1){
|
2014-01-11 05:29:27 -05:00
|
|
|
// return par1IBlockAccess.func_147439_a(par2, par3, par4) != this.blockID;
|
2013-11-10 13:57:35 -08:00
|
|
|
// }else{
|
|
|
|
|
// return true;
|
|
|
|
|
// }
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|