Three server scripts each declared 'const SC' at top level, but KubeJS 2101
shares a single global scope across all server scripts → 'redeclaration of
const SC' TypeError.
Rename per-file to unique consts:
- 01_corruption_tide.js → const TIDE_SC
- 02_events.js → const EVENTS_SC
- 03_recipes_tags.js → const RECIPES_SC
(The IP warnings in the log — Iris portal artifacts + HAR 1010 wrong-mods —
are informational from the IPSable fork, not errors.)
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.
Root cause: lithostitched (worldgen library) was marked 'server' side, so it
was excluded from the mrpack. But reintegrated_chipped and waystones ship
worldgen JSON referencing lithostitched's custom registry keys
(lithostitched:random_block, condition, block_swap, etc.). The singleplayer
integrated server runs inside the client and fails to parse those → crash.
Fixes:
- client_pack: lithostitched + lootjs → side 'both' (needed by singleplayer
integrated server for worldgen + 04_loot.js LootJS)
- doctor-who-client-mod → side 'client' (is client-only)
Server pack hygiene (client-only mods removed so dedicated server only
gets what it needs):
- Remove athena-ctm, simply-tooltips, badoptimizations, entityculling,
immediatelyfast, inventory-profiles-next, journeymap-integration,
just-enough-mekanism-multiblocks, libipn, stellaris-stellarview-compat,
stellar-view-mixin-renderer, stellarview, the-doctor-who-client-mod
- (131 → 118 server mods)
Add .gitignore for crash logs / pack build artifacts (cleanup).
Verified: client 140 mods, server 118 mods, all validate; 57 story keys.
Both packs now support singleplayer + dedicated server with correct sides.
- Remove .unbreakable() from void_stabilizer item (not valid on
ItemBuilder; KubeJS forbids it)
- Remove explicit 'basic' type from quantum_lattice block creation
(defaults to basic; explicit caused unknown type error)
- Replace Immersive Portals 6.0.7 with IPSable 0.5.0
(r2smith141/IPSable) — a purpose-built fork that resolves the
@Redirect conflict on Entity::collide between IP and Sable
- Fork has 23 collision-handling classes vs IP's 18 (5 extra for
Sable compat bridge)
- Version match: Sable 2.0.5 ✓, Create 6.0.10 ✓, Aeronautics 1.3.1 ✓,
Sodium 0.8.x ✓, Iris 1.8.x ✓
- This fixes both the original worldportal→sable and the
IP→sable mixin conflicts without removing any mods
- Remove Embeddium 1.0.15 (breaks Iris, Iris-FLW-Compat, and Sable's
embedded Veil — all require Sodium 0.8.x API)
- Re-add Sodium 0.8.13-beta.2 (same version used before, verified
compatible with all three)
- World Portal removal from prior commit stays (fixes the original
sable mixin conflict)
- Pack validates: 140 client / 131 server mods, 57 story keys
- Remove worldportal (redundant: IP 6.0.7 + Dimensional Doors already provide
portal mechanics; zero lore/story impact — not referenced anywhere in the
pack's KubeJS scripts, advancements, datapacks, or story files)
- Swap Sodium 0.8.13-beta.2 → Embeddium 1.0.15 (NeoForge-native fork with
better mod compatibility; resolves the mixin conflict with sable 2.0.5)
- Root cause: worldportal EntityLMixin (priority 750) and sable EntityMixin
(priority 1000) both inject into Entity::getRelativePortalPosition. Sable is
required by Create Aeronautics; worldportal was the redundant mod.
- Verified: all 16 Create addons at latest versions, pack validates (140 client
/ 131 server mods), story generation OK (57 keys)