Fixed shaft connections
This commit is contained in:
parent
5487528ac3
commit
87be8ec6e8
2 changed files with 8 additions and 7 deletions
|
@ -64,7 +64,7 @@ class NodeGear(parent: PartGear) extends NodeMechanical(parent: PartGear)
|
||||||
//Check internal
|
//Check internal
|
||||||
for (i <- 0 until 6)
|
for (i <- 0 until 6)
|
||||||
{
|
{
|
||||||
val toDir = if (ForgeDirection.getOrientation(i) == gear.placementSide.getOpposite) ForgeDirection.UNKNOWN else ForgeDirection.getOrientation(i)
|
val toDir = ForgeDirection.getOrientation(i)
|
||||||
var tile: TileEntity = gear.tile
|
var tile: TileEntity = gear.tile
|
||||||
|
|
||||||
if (gear.getMultiBlock.isConstructed && toDir != gear.placementSide && toDir != gear.placementSide.getOpposite)
|
if (gear.getMultiBlock.isConstructed && toDir != gear.placementSide && toDir != gear.placementSide.getOpposite)
|
||||||
|
@ -74,7 +74,7 @@ class NodeGear(parent: PartGear) extends NodeMechanical(parent: PartGear)
|
||||||
|
|
||||||
if (tile.isInstanceOf[INodeProvider])
|
if (tile.isInstanceOf[INodeProvider])
|
||||||
{
|
{
|
||||||
val other = tile.asInstanceOf[INodeProvider].getNode(classOf[NodeMechanical], toDir)
|
val other = tile.asInstanceOf[INodeProvider].getNode(classOf[NodeMechanical], if (toDir == gear.placementSide.getOpposite) ForgeDirection.UNKNOWN else toDir)
|
||||||
|
|
||||||
if (other != this && toDir != gear.placementSide && other != null && canConnect(other, toDir) && other.canConnect(this, toDir.getOpposite))
|
if (other != this && toDir != gear.placementSide && other != null && canConnect(other, toDir) && other.canConnect(this, toDir.getOpposite))
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,9 +43,9 @@ class NodeGearShaft(parent: PartGearShaft) extends NodeMechanical(parent)
|
||||||
|
|
||||||
if (checkTile.isInstanceOf[INodeProvider])
|
if (checkTile.isInstanceOf[INodeProvider])
|
||||||
{
|
{
|
||||||
val instance = (checkTile.asInstanceOf[INodeProvider]).getNode(classOf[NodeMechanical], toDir.getOpposite)
|
val instance = checkTile.asInstanceOf[INodeProvider].getNode(classOf[NodeMechanical], toDir.getOpposite)
|
||||||
|
|
||||||
if (instance != null && instance != this && instance.getParent.isInstanceOf[PartGearShaft] && instance.canConnect(this, toDir.getOpposite))
|
if (instance != null && instance != this && instance.getParent.isInstanceOf[PartGearShaft] && canConnect(instance, toDir) && instance.canConnect(this, toDir.getOpposite))
|
||||||
{
|
{
|
||||||
connect(instance, toDir)
|
connect(instance, toDir)
|
||||||
}
|
}
|
||||||
|
@ -58,15 +58,16 @@ class NodeGearShaft(parent: PartGearShaft) extends NodeMechanical(parent)
|
||||||
{
|
{
|
||||||
if (other.isInstanceOf[NodeMechanical])
|
if (other.isInstanceOf[NodeMechanical])
|
||||||
{
|
{
|
||||||
if ((other.asInstanceOf[NodeMechanical]).getParent.isInstanceOf[PartGear])
|
if (other.asInstanceOf[NodeMechanical].getParent.isInstanceOf[PartGear])
|
||||||
{
|
{
|
||||||
val gear: PartGear = (other.asInstanceOf[NodeMechanical]).getParent.asInstanceOf[PartGear]
|
val gear = other.asInstanceOf[NodeMechanical].getParent.asInstanceOf[PartGear]
|
||||||
if (!(Math.abs(gear.placementSide.offsetX) == Math.abs(shaft.placementSide.offsetX) && Math.abs(gear.placementSide.offsetY) == Math.abs(shaft.placementSide.offsetY) && Math.abs(gear.placementSide.offsetZ) == Math.abs(shaft.placementSide.offsetZ)))
|
if (!(Math.abs(gear.placementSide.offsetX) == Math.abs(shaft.placementSide.offsetX) && Math.abs(gear.placementSide.offsetY) == Math.abs(shaft.placementSide.offsetY) && Math.abs(gear.placementSide.offsetZ) == Math.abs(shaft.placementSide.offsetZ)))
|
||||||
{
|
{
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return from == shaft.placementSide || from == shaft.placementSide.getOpposite
|
return from == shaft.placementSide || from == shaft.placementSide.getOpposite
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue