diff --git a/common/buildcraft/core/robots/DockingStation.java b/common/buildcraft/core/robots/DockingStation.java index 47b1ed30..388cea55 100755 --- a/common/buildcraft/core/robots/DockingStation.java +++ b/common/buildcraft/core/robots/DockingStation.java @@ -137,10 +137,7 @@ public class DockingStation implements IDockingStation { public void release(EntityRobotBase robot) { if (robotTaking == robot && !linkIsMain) { - linkIsMain = false; - robotTaking = null; - robotTakingId = EntityRobotBase.NULL_ROBOT_ID; - getPipe().scheduleRenderUpdate(); + unsafeRelease(robot); RobotRegistry.getRegistry(world).markDirty(); RobotRegistry.getRegistry(world).release(this, robot.getRobotId()); } @@ -152,6 +149,7 @@ public class DockingStation implements IDockingStation { */ public void unsafeRelease(EntityRobotBase robot) { if (robotTaking == robot) { + linkIsMain = false; robotTaking = null; robotTakingId = EntityRobotBase.NULL_ROBOT_ID; getPipe().scheduleRenderUpdate(); diff --git a/common/buildcraft/core/robots/EntityRobot.java b/common/buildcraft/core/robots/EntityRobot.java index 8eb1bbde..7ad9c2ed 100644 --- a/common/buildcraft/core/robots/EntityRobot.java +++ b/common/buildcraft/core/robots/EntityRobot.java @@ -582,7 +582,7 @@ public class EntityRobot extends EntityRobotBase implements DockingStation station = (DockingStation) iStation; if (linkedDockingStation != null && linkedDockingStation != station) { - ((DockingStation) linkedDockingStation).release(this); + ((DockingStation) linkedDockingStation).unsafeRelease(this); } linkedDockingStation = station;