Commit graph

4 commits

Author SHA1 Message Date
MiTHRAL
970e9ad3c6 fix: pause-menu clutter (hide Create/Supplementaries config buttons) + add World Portal dep + docs + server pack CI
All checks were successful
Build & Release Pack / build (push) Successful in 1m44s
- create-client.toml: ingameMenuConfigButtonRow=0 (hide pause-menu config button)
- supplementaries-client.toml: configs_button=false (hide Quark-style config button)
- add World Portal 0.0.10 (server-side) to both packs — hard dep of The Void Dimension
- docs/mods.md: correct outdated Sinytra/Steam'n'Rails refs, document physics stack + compat notes
- CI: also build/validate/release the server_pack alongside the client pack
2026-08-20 13:54:23 -04:00
MiTHRAL
68b3bc302c feat: FTB Quests guidance book (hybrid - advancements remain primary)
All checks were successful
Build & Release Pack / build (push) Successful in 1m41s
Add an FTB Quests 'The Dark Photon Protocol' chapter that guides players
while the KubeJS advancement tree stays the primary progression.

Design (per user): FTB provides guidance/onboarding; advancements own the
actual progression. Quests auto-complete on the same triggers as the
advancements (item obtained / dimension entered) so there's no double
friction.

Chapter 'chapter_dark_photon_protocol.snbt' - 10 quests mirroring the phase
tree:
  First Steps (Corruption Tide onboarding) -> The Signal -> The Core ->
  The Seal -> The Lattice -> The Legacy, then branches: Through the Doors /
  The Wound / The Answer / Per Spatium.

Tasks: item tasks (scicraft items) + dimension tasks (Limbo, Void, Othersides,
Stellaris moon). Rewards: XP + 2 starting Photon Fragments on First Steps.

Titles/descriptions stored in lang/en_us/ translation file using FTB's
<objectType>.<id>.<subkey> key format (chapter.<id>.title, quest.<id>.quest_desc).

Format: FTB Quests 1.21 uses the marhali JSON5 format (comma-separated
properties) - validated with the json5 parser. Files ship in both client and
server packs (FTB quest progress is server-authoritative).

data.snbt + chapter_groups.snbt are auto-generated by FTB Quests on first
load if absent.
2026-08-20 01:28:28 -04:00
MiTHRAL
3d76c0e059 feat: three-tier performance presets (Low/Medium/High) for client + server
All checks were successful
Build & Release Pack / build (push) Successful in 1m39s
Add drop-in performance presets tuned for three hardware tiers.

Tier targets:
- Low: 4GB VRAM/iGPU, 8-16GB RAM
- Medium: RX 580-class 8GB, 16-32GB RAM (shipped as pack default)
- High: RTX 3060+ 8GB+, 32GB+ RAM

Client configs (per tier, presets/<tier>/config/):
- sodium-options.json: chunk threads, cpu render-ahead, quality
- iris.properties: shaders on/off, max shadow render distance
- lambdynlights.toml: dynamic lighting mode + adaptive ticking
- entityculling.json: culling tracing distance
- cullleaves.json: leaf culling
- soundphysics.properties: reverb/ray budget (CPU cost)
- flywheel-client.toml: Create backend (BATCHING vs INSTANCING)

Server configs (per tier, presets/<tier>/server/):
- server.properties: view-distance, sim-distance, players, compression
- jvm-flags.txt: heap + G1 GC flags per RAM tier

Medium configs also copied to client_pack/config/ so they ship as the
mrpack defaults (bundled into overrides/config/).

Docs: docs/performance.md + docs/server.md rewritten for three tiers;
presets/README.md explains how to apply each tier.

Default (Medium) enables shaders with INSTANCING flywheel on the 8GB GPU
tier; Low disables shaders + uses BATCHING for maximum FPS on weak GPUs.
2026-08-19 23:27:45 -04:00
MiTHRAL
2fdd487786 fix: singleplayer join crash (mekanismcovers sodium mixin) + KubeJS/LootJS API migration
All checks were successful
Build & Release Pack / build (push) Successful in 1m40s
FATAL fix — mekanismcovers Sodium mixin crash:
- mekanismcovers 1.3-BETA targets an old Sodium BlockRenderer API that
  doesn't exist in Sodium 0.8.13 → 'No refMap loaded' InjectionError.
- Add config/mekanismcovers.json with disableAdvancedCoverRendering=true
  (the mod's documented workaround for Sodium/Iris/Embeddium crashes).
  Also set enableShaderCompatibleRendering=true.

KubeJS 2101.x API migration (global assignment no longer allowed):
- Remove 00_lore.js (it only set global.SCICRAFT, which is now forbidden)
- Inline the config object into 01_corruption_tide/02_events/03_recipes
  (global.SCICRAFT → local const SC per script)
- Remove unused 'const SC = global.SCICRAFT' from registry_blocks.js

LootJS 3.x API migration:
- addEntityLootModifier → addEntityModifier (04_loot.js, 7 call sites)

Pack validates: client 140 / server 118 mods, 57 story keys.
2026-08-19 21:32:35 -04:00