You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Dependencies**: LazyLib and LunaLib (required at runtime and for compilation).
10
11
11
12
## Prerequisites
12
13
13
14
1.**JDK 17** – Starsector 0.98a uses Java 17. Install JDK 17 and run `javac -version`.
14
15
2.**Starsector** – JARs are taken from your game install (the folder that contains `starsector-core`).
16
+
3.**LunaLib and LazyLib** – Install both mods in your Starsector `mods` folder. The compile script looks for `mods/LunaLib/jars/LunaLib.jar` and `mods/LazyLib/jars/LazyLib.jar` by default. If your mod folders use versioned names (e.g. `LunaLib-2.0.5`, `LazyLib-3.0.0`), set `LUNALIB` and `LAZYLIB` in `compile.local.bat` to point at those JARs (see Developer config below). Required for compilation and at runtime.
15
17
16
18
## Developer config (optional)
17
19
18
20
To avoid editing `compile.bat` and to keep your local paths out of the repo:
19
21
20
22
1. Copy `FactionRelationships/compile.local.example.bat` to `FactionRelationships/compile.local.bat`.
21
23
2. Edit `compile.local.bat` and set `GAME_DIR` to your Starsector install directory.
24
+
3. If LunaLib or LazyLib use versioned folder names (e.g. `LunaLib-2.0.5`), set `LUNALIB` and `LAZYLIB` to the full paths to their JARs so the build can find them.
22
25
23
26
`compile.local.bat` is gitignored; only the example file is committed. The main `compile.bat` loads it automatically when present.
24
27
@@ -28,16 +31,20 @@ To avoid editing `compile.bat` and to keep your local paths out of the repo:
├── compile.local.example.bat # copy to compile.local.bat (gitignored) to set GAME_DIR
37
44
└── COMPILATION.md
38
45
```
39
46
40
-
Output: `FactionRelationships-<version>/` (folder and zip), where `<version>` comes from `mod_info.json` (e.g. `FactionRelationships-1.0.0/`, `FactionRelationships-1.0.0.zip`). Contains `classes/`, `jars/FactionRelationships.jar`, and `config/`.
47
+
Output: `FactionRelationships-<version>/` (folder and zip), where `<version>` comes from `mod_info.json`. Contains `classes/`, `jars/FactionRelationships.jar`, `config/`, and `data/`. In-game settings and keybind are configured via **Mod Settings** (F2 in campaign) under this mod's section.
41
48
42
49
## Compile
43
50
@@ -47,17 +54,19 @@ From the repo root, run the build script:
47
54
FactionRelationships\compile.bat
48
55
```
49
56
50
-
Or manually:
57
+
Or manually (set `LUNALIB` and `LAZYLIB` if using versioned mod folders):
51
58
52
59
```batch
53
60
set GAME_DIR=YOUR_STARSECTOR_PATH
61
+
set LUNALIB=%GAME_DIR%\mods\LunaLib\jars\LunaLib.jar
62
+
set LAZYLIB=%GAME_DIR%\mods\LazyLib\jars\LazyLib.jar
jar cvf FactionRelationships-%VERSION%\jars\FactionRelationships.jar -C FactionRelationships-%VERSION%\classes .
58
67
```
59
68
60
-
Set `GAME_DIR` before running (e.g. via `compile.local.bat` as above, or in the batch session).
69
+
Set `GAME_DIR`(and optionally `LUNALIB`, `LAZYLIB`) before running (e.g. via `compile.local.bat` as above, or in the batch session).
61
70
62
71
## Package and Install
63
72
@@ -76,14 +85,17 @@ Set `GAME_DIR` before running (e.g. via `compile.local.bat` as above, or in the
76
85
├── mod_info.json
77
86
├── config\
78
87
│ └── faction_relationships_config.json
88
+
├── data\
89
+
│ └── config\
90
+
│ └── LunaSettings.csv
79
91
└── jars\
80
92
└── FactionRelationships.jar
81
93
```
82
94
83
-
To change how many factions are shown, edit `config/faction_relationships_config.json`and set `maxFactions` (1–50). Default is 15.
95
+
Configure max factions, text size, overlay keybind (toggle or hold), and hostile-only filter in **Mod Settings** (F2 in campaign).
84
96
85
97
## Quick Reference
86
98
87
-
-**Game directory**: Set `GAME_DIR` in `compile.local.bat` (recommended) or in `compile.bat` / manual commands.
99
+
-**Game directory**: Set `GAME_DIR` in `compile.local.bat` (recommended) or in `compile.bat` / manual commands. Optionally set `LUNALIB` and `LAZYLIB` in `compile.local.bat` if you use versioned LunaLib/LazyLib folders.
-**Output**: `FactionRelationships-<version>/` and `FactionRelationships-<version>.zip` (version from `mod_info.json`); JAR at `jars/FactionRelationships.jar` inside the package.
maxFactions,Max Factions Shown,Int,15,,Maximum number of factions to display in the overlay (sorted by relationship).,1,50,General
4
+
showOnlyHostile,Show Only Hostile Factions,Boolean,false,,Only display factions with reputation -50 or worse (Hostile/Inhospitable). Helps focus on immediate threats.,,,General
5
+
textSize,Text Size,Radio,Medium,"Small,Medium,Large",Text size for the overlay. Use [Large] for 4K or high-DPI displays.,,,General
6
+
overlayKeybindMode,Overlay Keybind Mode,Radio,Toggle,"Toggle,Hold",[Toggle]: Press key to show or hide overlay. [Hold]: Overlay only visible while key is held.,,,General
7
+
toggleOverlayKeybind,Toggle Overlay Keybind,Keycode,0,,Key to show or hide the faction relationship overlay on the campaign map. Set in Mod Settings (F2). Keycode 0 = unbound.,,,General
0 commit comments