Fixed gears not connecting to gearshafts
This commit is contained in:
parent
9f4c9edf7d
commit
898f471c7a
2 changed files with 36 additions and 28 deletions
|
@ -170,10 +170,18 @@ public class GearNode extends MechanicalNode
|
||||||
{
|
{
|
||||||
INodeProvider parent = ((MechanicalNode) with).getParent();
|
INodeProvider parent = ((MechanicalNode) with).getParent();
|
||||||
|
|
||||||
/** Check for flat connections (gear face on gear face) */
|
/** Check for flat connections (gear face on gear face) to make sure it's actually on
|
||||||
|
* this gear block. */
|
||||||
if (from == gear().placementSide.getOpposite())
|
if (from == gear().placementSide.getOpposite())
|
||||||
{
|
{
|
||||||
if (parent instanceof PartGear)
|
if (parent instanceof PartGear || parent instanceof PartGearShaft)
|
||||||
|
{
|
||||||
|
if (parent instanceof PartGearShaft)
|
||||||
|
{
|
||||||
|
PartGearShaft shaft = (PartGearShaft) parent;
|
||||||
|
return shaft.tile().partMap(from.getOpposite().ordinal()) == gear() && Math.abs(shaft.placementSide.offsetX) == Math.abs(gear().placementSide.offsetX) && Math.abs(shaft.placementSide.offsetY) == Math.abs(gear().placementSide.offsetY) && Math.abs(shaft.placementSide.offsetZ) == Math.abs(gear().placementSide.offsetZ);
|
||||||
|
}
|
||||||
|
else if (parent instanceof PartGear)
|
||||||
{
|
{
|
||||||
if (((PartGear) parent).tile() == gear().tile() && !gear().getMultiBlock().isConstructed())
|
if (((PartGear) parent).tile() == gear().tile() && !gear().getMultiBlock().isConstructed())
|
||||||
{
|
{
|
||||||
|
@ -186,8 +194,8 @@ public class GearNode extends MechanicalNode
|
||||||
|
|
||||||
if (part instanceof PartGear)
|
if (part instanceof PartGear)
|
||||||
{
|
{
|
||||||
/** Case when we connect gears via edges internally. Large gear attempt
|
/** Case when we connect gears via edges internally. Large gear
|
||||||
* to connect to small gear. */
|
* attempt to connect to small gear. */
|
||||||
PartGear sourceGear = (PartGear) part;
|
PartGear sourceGear = (PartGear) part;
|
||||||
|
|
||||||
if (sourceGear.isCenterMultiBlock() && !sourceGear.getMultiBlock().isPrimary())
|
if (sourceGear.isCenterMultiBlock() && !sourceGear.getMultiBlock().isPrimary())
|
||||||
|
@ -212,6 +220,7 @@ public class GearNode extends MechanicalNode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Face to face stick connection. */
|
/** Face to face stick connection. */
|
||||||
TileEntity sourceTile = position().translate(from.getOpposite()).getTileEntity(world());
|
TileEntity sourceTile = position().translate(from.getOpposite()).getTileEntity(world());
|
||||||
|
|
|
@ -38,7 +38,6 @@ public class PartGearShaft extends PartMechanical
|
||||||
public PartGearShaft()
|
public PartGearShaft()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
node = new GearShaftNode(this);
|
node = new GearShaftNode(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue