Automatically creates infinite space platforms by copying existing platforms/requests with automatic activation.
Small changes concerning balance, gameplay, or graphics.
Version: 2.0.7
Date: 2025
Bugfixes:
- CRITICAL: Fixed deleted/dead platforms appearing in dropdown and persisting across reloads
- Added surface validity check to platform filtering (platform.surface.valid)
- Platforms being deleted are now immediately filtered out (valid but surface destroyed)
- Prevents selecting platforms that are in process of being deleted
Technical:
- Enhanced platform filter: platform.valid AND platform.surface AND platform.surface.valid
- Added surface check in cache_platform_blueprint() for safe platform lookup
- Eliminates "zombie" platforms that exist in force.platforms but are non-functional
Version: 2.0.6
Date: 2025
Bugfixes:
- CRITICAL: Fixed dropdown not refreshing when panel is toggled open
- Panel now recreates (instead of just showing) when toggled, refreshing all data
- Dropdown now always shows current platforms instead of stale data from panel creation
- Debug messages now appear when panel opens (create_main_panel actually runs)
Technical:
- Changed toggle_panel() to recreate panel on open instead of toggling visibility
- Panel close still just hides (performance), but open rebuilds everything
- Preserves all state (debug checkbox, settings) by reading from storage
Version: 2.0.5
Date: 2025
Bugfixes:
- CRITICAL: Fixed platform dropdown data type inconsistency causing empty display
- Changed first dropdown item from LocalisedString table to plain string for type consistency
- All dropdown items now use consistent plain string format (matches working planet dropdown)
Debug Features:
- Added comprehensive platform enumeration logging (shows total/valid/dropdown counts)
- Platform scan now logs each platform added with name and index
- Panel creation now logs dropdown item count
- All new debug messages conditional on debug_logging flag
Version: 2.0.4
Date: 2025
Bugfixes:
- CRITICAL: Fixed platform dropdown showing empty in new saves
- Added platform_mapping and planet_mapping initialization to player_data
- Dropdown handlers now regenerate mappings on-demand for robustness
- Eliminates save-specific state dependency for dropdown population
Version: 2.0.3
Date: 2025
GUI/UX Improvements (2.0.3.6):
- Adjusted panel default position 150px to the right (x=370) for better screen placement
- Removed preview label from naming section (cleaner interface)
- Enhanced settings warning: explicit "60 platforms/second at value 1" warning with newline
- Updated mod descriptions (info.json, README) to include naming pattern variables
- Drastically simplified README from 197 to 44 lines (essential info only)
Development (2.0.3.6):
- Added package-mod.sh script for Factorio-compliant mod packaging
- Automatically creates properly named zip files from info.json
- Excludes dev files (.git, .DS_Store, install scripts, etc.)
- Includes desc.jpeg in package and displays in README below Quick Start
Bugfixes (2.0.3.5):
- CRITICAL: Fixed platform creation only working when viewing target planet surface
- Platform creation now works from any view: Remote View, space, any planet surface
- Changed has_starter_pack_available() to check logistics on target planet (not player's current location)
- Uses force.logistic_networks[surface_name] (API returns dictionary grouped by surface) instead of position-based search
- Proper API usage: force.logistic_networks is dictionary[string → array[LuaLogisticNetwork]] keyed by surface name
- Made SPA SUCCESS messages conditional on debug_logging flag (built entities, platform activated)
- Complete console silence during normal operation - all messages now behind debug flag
Version: 2.0.3 (previous releases)
Date: 2025
Major Changes:
- Simplified to copy-only design (removed blueprint system entirely)
- Quality now automatically inferred from source platform
- Starter pack type inferred from source platform
Improvements:
- Fixed localization keys (removed custom section headers)
- Fixed panel reset issue when selecting platforms
- Much simpler GUI with only essential controls
- Reduced code size by ~200 lines
- Auto-activation: Platforms automatically unpause when construction completes
GUI Changes:
- Removed blueprint selector
- Removed starter pack dropdown
- Removed quality dropdown
- Panel no longer resets when changing platform selection
Technical:
- Uses source_platform.starter_pack directly for quality inference
- Removed force_data storage (no more blueprint tracking)
- Added gui.update_status() for efficient status updates
- Simplified player_data structure
Bugfixes (2.0.3.1):
- Fixed field name inconsistency (needs_blueprint vs needs_copy)
- Fixed race condition where blueprint application would fail if surface/hub not ready
- Added periodic retry mechanism (every 60 ticks) for pending platforms
- Added comprehensive debug logging for blueprint application
- Added error handling for import_stack() return values
- Added force validation in periodic check
- Fixed tile copying: changed always_include_tiles from false to true for contiguous ground
Features (2.0.3.2):
- Auto-activation: Platforms pause after blueprint application, then automatically unpause when construction completes
- Smart timeout: Platforms activate after 5 minutes of no construction progress (handles unreachable ghosts)
- Progress tracking: Monitors ghost entity count every 2 seconds to detect construction completion or stalls
- Schedules preserved: Blueprint system automatically copies platform schedules (no manual intervention needed)
GUI Improvements (2.0.3.3):
- Enable Auto-Creation moved to top with bold text and colored indicator (green checkmark/red X)
- Toggle button and panel now auto-hide when exiting remote view
- Panel auto-closes when leaving remote view, remembers preference when returning
- Fixed close/reopen bug where panel would auto-reopen after manual close
- Shortened planet dropdown width to 150px
- Added bottom description: "Completed platforms will be set on automatic."
- Panel starts closed on save load, respects user preference
Bugfixes (2.0.3.3):
- CRITICAL: Fixed crash caused by invalid style "heading_1_label" (changed to "bold_label")
GUI Improvements (2.0.3.4):
- Changed disabled indicator from close_fat to not_available (much more visible red X)
- Added "Enable Debug Logging" checkbox to panel for user-controlled debug output
- All 16 print statements now conditional on debug_logging flag (12 debug + 4 success messages)
- Updated mod settings description with explicit min/max range (60-3600 ticks / 1-60 seconds)
Technical (2.0.3.4):
- Added debug_logging flag to player_data (defaults to false)
- Debug messages only show when explicitly enabled by user
- Prevents console spam during normal operation
- Platform creation and blueprint copy success messages now also conditional on debug flag (4 additional messages)
Settings (2.0.3.4):
- Lowered check interval minimum from 60 to 1 tick (allows ultra-responsive automation)
- Added strong performance warning for values below 60 ticks
- Updated range display: 1-3600 ticks (0.017-60 seconds)
Version: 2.0.2
Date: 2025
Major Changes:
- Completely redesigned GUI system to use floating screen panel
- Panel now uses player.gui.screen instead of relative anchoring
- Automatic visibility control based on controller_type (Remote View detection)
- Panel appears when entering Remote View, hidden in normal play
- Manual positioning at x=220, y=100 for optimal placement
Improvements:
- Added gui.update_panel_visibility() function
- Panel visibility updates every 30 ticks (~0.5 seconds)
- Much more reliable GUI visibility in Remote View
Technical:
- Removed relative GUI anchor system (was conditional and unreliable)
- Uses defines.controllers.remote for Remote View detection
- Floating GUI with manual location control
Version: 2.0.1
Date: 2025
Bugfixes:
- Attempted fix for GUI visibility (changed to relative GUI with anchor)
- This version did not work correctly - see 2.0.2 for proper fix
Version: 2.0.0
Date: 2025
Major Features:
- Complete GUI integration into left panel (no more hotkeys!)
- Native Factorio dropdowns for all configuration options
- Platform copying feature as alternative to blueprints
- Choose-elem-button for blueprint selection
- Toggle button in top toolbar for easy access
- Real-time status display in panel
Changes:
- Removed hotkey system (Ctrl+Shift+P)
- Settings moved from mod settings to integrated GUI
- Per-player runtime settings replaced with GUI controls
Improvements:
- Dropdown for planet/space location selection
- Dropdown for starter pack type selection
- Dropdown for quality level selection
- Dropdown for platform copy source selection
- Live preview of naming patterns
- Status indicator shows pending platforms
Technical:
- Comprehensive Factorio API research for GUI integration
- Entity cloning for platform copying
- Dynamic dropdown population from prototypes
- Proper event handling for GUI interactions
Version: 1.0.0
Date: 2025
Features:
- Initial release
- Automatic space platform creation based on starter pack availability
- Per-force blueprint system with auto-paste functionality
- Customizable platform naming with pattern variables ({counter}, {tick}, {player}, {random})
- Per-player configuration for planet, starter pack type, and quality
- GUI for blueprint selection and configuration (Ctrl+Shift+P)
- Runtime settings (no restart required for most changes)
- Pattern validation with safe fallbacks
- Multiplayer support with team-level blueprint sharing
- Remote interface for mod integration