Space Platform Groups

by rycieos

Adds space platform group functionality like train groups.

Utilities
2 hours ago
2.0
66
Factorio: Space Age Icon Space Age Mod
Logistics
Owner:
rycieos
Source:
https://github.com/Rycieos/factorio-s...
Homepage:
https://github.com/Rycieos/factorio-s...
License:
GNU LGPLv3
Created:
6 days ago
Latest Version:
0.1.3 (2 hours ago)
Factorio version:
2.0
Downloaded by:
66 users

A mod that adds space platform groups, just like train groups. Similarly to how train stations can limit number of trains, groups can limit number of platforms that load (request) and unload (provide) at a planet.

Features include:

  • Adding space platforms to a group.
  • Syncing schedules between all platforms in a group.
  • Limiting the number of platforms in a group that can load (request) at a planet at one time, per group.
  • A separate limit for unloading (providing).
  • Platforms will "queue" at a planet, where the first N platforms to arrive will be allowed to load/unload, where N equals the set limit. As platforms leave the planet, platforms behind in the queue will be unlimited.

Experimental

This mod has not been extensively tested, so please report any issues.

Known issues:

  • Until this bug is fixed, limiting unloading does nothing.

Uninstallation

The group membership data is stored locally to this mod, and so obviously is lost when the mod is removed from a save. This is completely safe to do, with the exception of limits. If any groups have limits set, you will need to do one of two things:

  1. Disable all limits on groups before removing the mod.
  2. If the mod was already removed from the save, this is the only option. Run this command in the console:
/c for _, force in pairs(game.forces) do
  for _, platform in pairs(force.platforms) do
    local hub = platform.hub
    if hub then
      local provider = hub.get_logistic_point(defines.logistic_member_index.space_platform_hub_provider)
      if provider then
        provider.enabled = true
      end
      local requester = hub.get_logistic_point(defines.logistic_member_index.space_platform_hub_requester)
      if requester then
        requester.enabled = true
      end
    end
  end
end