islands: extract in-game names (Landmark -> Toponym), incl. Wunderinsel = Strudel

Definitive island prefab -> in-game name link: each island_* prefab has a child Landmark
GameObject (LandmarkBehaviour.name) = the Toponym key, localized via i2 Toponyms/<name>.
New bundle/extract_island_names.py -> extracted/island_names.json.

Key results: Demo_Wunderinsel=Strudel, Demo_Marktinsel=Segen, Gartenfreude=Insel St. Clemens,
DeusExMashineSmall=Rauchwolke, and island_Factorio = Sprengstofffabrik (the explosives
factory). The LittleFactory/LittleFactoryArmory prefabs are the Forts.

Updates docs/PRODUCTION_LINES.md with in-game names and corrects the earlier Sprengstofffabrik
note (it IS the explosives factory -> Factorio, not the Armory islands). Supersedes the
name-guesses (e.g. DeusExMashine is Rauchwolke, not Maschineninsel).
This commit is contained in:
DownloadPizza
2026-06-11 20:03:12 +02:00
parent 8abe4bcecf
commit 64c6df119f
3 changed files with 239 additions and 12 deletions

View File

@@ -68,20 +68,25 @@ venv/bin/python bundle/extract_conveyor_placements.py # -> extracted/conveyor_
This walks every island prefab, collects the `game_conveyor_<product>` children (with local
position) and cross-references each against `production_lines.json`. Result for this build:
| Island | Recipe conveyors placed |
|---|---|
| `island_Factorio` | energyRods, 80mmT3Cannon, contactGrenades, armorPiercingRocket* |
| `island_Kaiserplatz` | energyRods, 40mmT3Cannon |
| `island_Demo_Wunderinsel` | 70mmT3Cannon |
| `island_DeusExMashineSmall` | computingModules, coralDust |
| `island_testIsland`, `island_testIslandTramplers` | the 4 `base*` conveyors (inv↔large test combos, incl. the `1x wineBox → 1000x coinCrown` one) |
| Island prefab | In-game name (Toponym) | Recipe conveyors placed |
|---|---|---|
| `island_Factorio` | **Sprengstofffabrik** | energyRods, 80mmT3Cannon, contactGrenades, armorPiercingRocket* |
| `island_Kaiserplatz` | Kaiserplatz | energyRods, 40mmT3Cannon |
| `island_Demo_Wunderinsel` | **Strudel** | 70mmT3Cannon |
| `island_DeusExMashineSmall` | Rauchwolke | computingModules, coralDust |
| `island_testIsland`, `island_testIslandTramplers` | (test, no Landmark) | the 4 `base*` conveyors (inv↔large test combos, incl. `1x wineBox → 1000x coinCrown`) |
In-game names come from each island prefab's child `Landmark` (`LandmarkBehaviour.name`) →
i2 `Toponyms/<name>`; see `bundle/extract_island_names.py` / `extracted/island_names.json`.
Notes / corrections:
- The earlier guess that the **`…Armory` (Sprengstofffabrik)** islands host the explosive /
grenade / rocket conveyors is **not supported by the placements**: `island_LittleFactory01-03`
and `island_LittleFactoryArmory01-03` exist (each has an `energy_grid_*`) but place **no**
recipe conveyors at all. The grenade (`contactGrenades`) and rocket (`armorPiercingRocket`)
lines are on **Factorio**. Factorio is the main multi-product factory here.
- The **Sprengstofffabrik** (explosives factory) is literally **`island_Factorio`** — its
in-game Landmark name is `Sprengstofffabrik`, and it makes the grenades + AP rockets +
cannons. So the original "Sprengstofffabrik = explosives" intuition was right; it's just
that the prefab is `Factorio`, not an `…Armory` island.
- The `island_LittleFactory01-03` / `…Armory01-03` prefabs are actually the **Forts**
in-game (Fort Istria/Arpad/Tarnopol and Fort Zimmer/Metternich/Starhemberg) and place **no**
recipe conveyors.
- `*` Factorio's child is named `game_conveyor_armorPiercingRocket` (singular) while the recipe
blueprint is `game_conveyor_armorPiercingRockets` (plural) — a name mismatch; same line
(→ `3x item_rocketLauncherAmmoArmorPiercing`).