Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlanetList

Banner

A mod for Sector Space that adds an in-game window listing every planet in your current sector, with colony, market, population, extractor and scan information at a glance — and expandable rows that show the results of your planet scans (gases and resources) plus extractor and static planet details.

It is an SSFML / Fabric-style mixin mod that hooks into the game at runtime, so no game files are modified permanently.

Source: github.com/jpreed00/PlanetList

What it does

  • Press K (default) to open or close the Planet List window.
  • The window lists all planets in the current sector, sorted alphabetically, in a table with these columns:
    • Name, Type
    • Slots — filled / total extractor slots
    • Colony — None, the owning faction, or Player
    • Market — colony market saturation %
    • Pop — colony population
    • Scan — whether you have scanned the planet yet
  • Click any row to expand it and see:
    • Gases and Resources captured from the scan (only shown once you have actually scanned that planet)
    • Planet type and colony suitability
    • Each extractor slot's contents, tier and extraction %
  • A Refresh button rebuilds the list on demand.

How it works (and why it's light on performance)

The mod is almost entirely event-driven:

  • Scan capture hooks game.planet.PlanetResources.showInfoWindow, which the game invokes exactly when you scan a planet. It records the scan and caches the same gas/resource text the game shows in chat.
  • Sector changes hook game.world.Galaxy.setCurrentSector, which fires once per sector transition, to rebuild the list (only when the window is open).
  • The only per-frame code is a single key check in game.HeadsUpDisplay.update to detect the toggle key.
  • While the window is open, the moving values (market %, population, extraction %) refresh on a slow (~30s) throttle inside the window's periodic update. While the window is closed, the mod does effectively nothing.

Scanned planets (and their captured gas/resource readouts) are saved per world in planetlist_data/<world>.txt next to the game, so your scan history persists across sessions.

Requirements

  • Sector Space >= 0.6.0.2 (may work with older versions; only tested on this one).
  • SSFML (the Sector Space Fabric Mod Loader) with Fabric Loader >= 0.18.4.
  • JDK 25+ (only needed to build from source, not to play).

Installation (players)

  1. Download planetlist.jar from GitHub Releases or build from source.
  2. Copy it into the mods\ folder inside your Sector Space install directory, e.g.:
    ...\Steam\steamapps\common\Sector Space\mods\planetlist.jar
    
  3. Launch Sector Space (with SSFML installed). The mod loads automatically.

Building from source

The mod compiles against the game's own jars, so the project folder is expected to live inside your Sector Space install directory (alongside Sector Space.jar, SSFML.jar, and libs\):

Sector Space\
├─ Sector Space.jar
├─ SSFML.jar
├─ libs\*.jar
├─ mods\
└─ PlanetList\        <- this repo
   ├─ planetlist\mixin\*.java
   ├─ code\window\*.java
   ├─ code\store\*.java
   ├─ fabric.mod.json
   └─ planetlist.mixins.json
git clone https://github.com/jpreed00/PlanetList.git

1. Point to your JDK

Make sure a JDK 25+ javac/jar is on your PATH, or note the path to its bin folder (the bundled Makefile defaults to D:\Java\jdk-25.0.4.1).

2. Build

From the PlanetList folder:

make

That compiles the sources against the game jars one directory up and packages ..\mods\planetlist.jar, ready to load. make run will also launch the game.

From the Sector Space directory, make builds every mod that has a Makefile.

To build by hand instead:

javac -encoding UTF-8 -cp "../Sector Space.jar;../SSFML.jar;../libs/*" -d build/classes planetlist/mixin/*.java code/window/*.java code/store/*.java
jar --create --file ../mods/planetlist.jar -C build/classes . -C . fabric.mod.json -C . planetlist.mixins.json

On Linux/macOS, use : instead of ; as the classpath separator.

Project layout

Path Purpose
planetlist/mixin/ Mixins: scan capture, sector-change refresh, toggle key
code/window/ The Planet List window and its row model
code/store/ Persistent record of scanned planets
fabric.mod.json Mod metadata, dependencies, and mixin registration
planetlist.mixins.json Mixin configuration

License

Released under the MIT License.

About

Sector Space mod: a window listing every planet in the current sector with colony, market, population, extractor and scan info, plus expandable per-planet scan detail.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages