Platform GTFO (Stop rocket deliveries when leaving)


Fixes the bug(?) where platforms do not stop getting deliveries while some are still on the way despite wanting to leave. Works by triggering going to the next stop like through the GUI. (See mod page) Useful if your Gleba hauler wants to leave on a time condition, but a slow trickle of resources can lock them up. Attempts to evaluate the platform schedule from scratch to fix it universally But can also be triggered to leave using a circuit

Utilities
8 days ago
2.0
14
Logistics
Owner:
Hexcoder
Source:
https://github.com/rbnelr/hexcoder-pl...
Homepage:
N/A
License:
MIT
Created:
9 days ago
Latest Version:
0.1.2 (8 days ago)
Factorio version:
2.0
Downloaded by:
14 users

Why

Fixes the bug(?) where platforms do not stop getting deliveries while pods are still on the way despite being supposed to leave.
Works by triggering going to the next stop in the schedule like a player would through the gui.

Useful if your Gleba hauler wants to leave on a time condition, but a slow trickle of resources can lock them up.
Attempts to evaluate the platform schedule from scratch to fix it universally
But can also be triggered to leave using a circuit


Explanation

When the player clicks on another stop in the platform schedule, it will wait for any rockets still on the way, but new rockets will not launch anymore.
When the schedule (usually time) should trigger it to leave however, it will keep requesting and only leave once no rockets are on the way for a moment.
This makes it possible for a slow trickle of resources to completely defeat the time condition.

This mod fixes it by triggering the schedule to actually go to the next stop like the user would.
It needs to also figure out when to do this however, and the modding API gives no easy way to check if the wait conditions are fulfilled or not, so I had to implement all of the conditions and the AND/OR logic from scratch.


Auto wait conditions

The mod should fix all platforms automatically by evaluating wait conditions.
But you can turn this off in the settings should you find a bug (please let me know).
The damage condition is not supported at all, as there seems to be no API to compute it. (Evaluates to false, which is not a problem if there is an OR time condition)

Circuit 'GTFO' Signal

Sending the configured signal (default is hourglass) will trigger the same logic to force the platform to move on.
Need to enable 'send to platform'.
A suggested circuit to simulate a time condition at Gleba (C is in ticks so seconds*60):