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
{{ message }}
This repository was archived by the owner on Aug 31, 2026. It is now read-only.
Repository navigation
Commit 7a16338
Browse filesBrowse the repository at this point in the historyBrowse files
feat: the telescope sweeps a region and names the bodies in it
- a survey walks its region cell by cell and resumes after unload
- a cell resolves into bodies, which is what the console can read
- stopping and re-aiming are free; passive watches the home cell
- survey time arrives with research; 22 tests in three tiers
Copy file name to clipboardExpand all lines: src/main/java/zmaster587/advancedRocketry/api/ARConfiguration.java
+10-4Lines changed: 10 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -297,6 +297,10 @@ public class ARConfiguration {
297
297
@ConfigProperty
298
298
publicinttelescopeScanTicksPerSector;
299
299
@ConfigProperty
300
+
publicinttelescopeScanCellsPerStep;
301
+
@ConfigProperty
302
+
publicinttelescopePassiveRadiusSectors;
303
+
@ConfigProperty
300
304
publicbooleanallowNonArBiomesInTerraforming;
301
305
@ConfigProperty
302
306
publicdoubleoxygenVentPowerMultiplier;
@@ -525,10 +529,12 @@ public static void loadPreInit() {
525
529
arConfig.planetsMustBeDiscovered = config.get(PLANET, "planetsMustBeDiscovered", false, "Planets must be discovered in the warp controller before being visible").getBoolean();
526
530
arConfig.planetDiscoveryChance = config.get(PLANET, "planetDiscoveryChance", 5, "Chance of planet discovery in the warp controller, chance is 1/n", 1, Integer.MAX_VALUE).getInt();
527
531
arConfig.telescopeScanRangeSectors = config.get(PLANET, "telescopeScanRangeSectors", 24, "How far, in galactic sectors, an observatory's region scan can be aimed. This is the instrument's horizon: beyond it the sky is not resolvable, which is what keeps an endless universe from being read off a telescope. A scan aimed farther is clamped to this.", 1, Integer.MAX_VALUE).getInt();
528
-
arConfig.telescopeScanHalfWidthSectors = config.get(PLANET, "telescopeScanHalfWidthSectors", 1, "Half-width, in sectors, of the box one region scan covers. 0 means a single sector, 1 a 3x3x3 neighbourhood, and so on. Narrowed automatically when the resulting box would exceed telescopeScanMaxSectors.", 0, Integer.MAX_VALUE).getInt();
529
-
arConfig.telescopeScanMaxSectors = config.get(PLANET, "telescopeScanMaxSectors", 64, "Hard ceiling on how many sectors one region scan may enumerate. The width above is narrowed until the box fits under this.", 1, Integer.MAX_VALUE).getInt();
530
-
arConfig.telescopeScanBaseTicks = config.get(PLANET, "telescopeScanBaseTicks", 200, "Ticks a region scan takes before distance is counted - the cost of pointing the instrument at all.", 0, Integer.MAX_VALUE).getInt();
531
-
arConfig.telescopeScanTicksPerSector = config.get(PLANET, "telescopeScanTicksPerSector", 100, "Extra ticks per sector of distance. This is what makes a far region a longer look than a near one.", 0, Integer.MAX_VALUE).getInt();
532
+
arConfig.telescopeScanHalfWidthSectors = config.get(PLANET, "telescopeScanHalfWidthSectors", 2, "Half-width, in sectors, of the region one survey sweeps. 0 means a single sector, 1 a 3x3x3 neighbourhood, 2 a 5x5x5, and so on. Narrowed automatically when the resulting region would exceed telescopeScanMaxSectors.", 0, Integer.MAX_VALUE).getInt();
533
+
arConfig.telescopeScanMaxSectors = config.get(PLANET, "telescopeScanMaxSectors", 1000, "Hard ceiling on how many sectors one survey may cover. The width above is narrowed until the region fits under this. A sweep may be long, but never unbounded.", 1, Integer.MAX_VALUE).getInt();
534
+
arConfig.telescopeScanBaseTicks = config.get(PLANET, "telescopeScanBaseTicks", 200, "Ticks one STEP of a survey takes before distance is counted - the cost of holding the instrument on a patch of sky at all. Only applies with planetsMustBeDiscovered on; without research, an observation is instant.", 0, Integer.MAX_VALUE).getInt();
535
+
arConfig.telescopeScanTicksPerSector = config.get(PLANET, "telescopeScanTicksPerSector", 100, "Extra ticks per sector of distance, per step. This is what makes a far region a longer survey than a near one.", 0, Integer.MAX_VALUE).getInt();
536
+
arConfig.telescopeScanCellsPerStep = config.get(PLANET, "telescopeScanCellsPerStep", 5, "How many cells of the region one step of a survey resolves. This is the bound that stops a sweep from enumerating everything at once.", 1, Integer.MAX_VALUE).getInt();
537
+
arConfig.telescopePassiveRadiusSectors = config.get(PLANET, "telescopePassiveRadiusSectors", 2, "How far, in sectors, the passive local radar reaches around the observatory's own cell. Passive is the mode that costs nothing and watches the neighbourhood; the directed survey is what looks far away.", 0, Integer.MAX_VALUE).getInt();
532
538
DimensionManager.dimOffset = config.getInt("minDimension", PLANET, 2, -127, 8000, "Lowest dimension ID that can be used for planets.");
533
539
arConfig.canPlayerRespawnInSpace = config.get(PLANET, "allowPlanetRespawn", false, "Allow bed respawn on planets with breathable air.").getBoolean();
534
540
arConfig.forcePlayerRespawnInSpace = config.get(PLANET, "forcePlanetRespawn", false, "Allow bed respawn on planets even without breathable air. Requires 'allowPlanetRespawn=true'.").getBoolean();
0 commit comments