HomeJavaModsLiminal Roomgen
Liminal Roomgen
ModsJava

Liminal Roomgen

by SdataG · on CurseForge

High-performance Java room generation engine for the Liminal Industries Rescripted backrooms — drop-in TPS booster, no pack edits needed.

⬇ Download on CurseForge

The author built this one for Minecraft 1.20.1 on Forge. On other versions it may install and then do nothing.

Liminal Roomgen is a drop-in performance engine for Liminal Industries and compatible forks — base LI, Rescripted, community remixes, anything using the standard KubeJS backrooms pipeline. Same rooms, same sector rules, dramatically better TPS. Minecraft 1.20.1 · Forge 47+ · KubeJS required.

Ai used for the icon ( no ai used in coding other than general code assistant)

Highlights

How it works

 KubeJS still owns room lists, sectors, and layout rules. Roomgen owns speed — picking, placing slices, and expanding connectors.

Pack layer (unchanged)

Roomgen layer (Java)

Remove the jar and generation falls back to vanilla KubeJS — fail-open, safe on existing worlds.

Room selection (overview)

 When a new grid node appears:

  1. Dimension → overworld uses distance rings from center; poolrooms = sector 7; room forge = sector 8
  2. Sector → load that sector's JSON pool (sectorN.json, plus #common_rooms / #community_rooms tokens)
  3. Pick → weighted by rarity class when enabled, otherwise uniform random from the pool
  4. Filter → spacing / dedup for rare classes; sector 6 uses the nest / sentinel triplet layout
  5. Place → enqueue Java batch placement

Overworld sector rings (distance from -1000, -1000): outer rings pull sector 2 themed pools → void-adjacent sectors 3–6 with nest rings → inner sector 1 is common rooms only. Exact thresholds match the pack's step3.js and Roomgen's native picker.

KubeJS integration

Roomgen does not keep a separate room registry. It reads whatever your pack already has in kubejs/config/sectors/. Add or remove rooms in KubeJS — the mod picks them up on reload. No extra registration step.

Roomgen only writes room_classes.json (auto NBT scan for rarity tiers). Optional room_class_overrides.json for hand-tuned classes. Advanced packs can override the bridge at kubejs/roomgen_bridge.js.

Rarity classes

When enabled in config, rooms are weighted by class:

Commands

Config

config/liminal_roomgen-server.toml

For pack authors

Optional [rarity] knobs for modding and tuning (not needed for normal play): procedural vast rooms (vastRoomChance, extra vertical slices), class overrides in room_class_overrides.json, and custom pick hooks via kubejs/roomgen_bridge.js.

Compatibility

Works with Liminal Industries (base), Rescripted, and LI forks that keep the standard room-node + sector JSON setup. Rescripted is the primary dev target; the mod is not locked to one fork.

Needs KubeJS startup handlers (tick_layered_node, tick_spawn_node) and sector config under kubejs/config/sectors/. If a pack removes KubeJS generation entirely, Roomgen stays idle.

Requirements

More from this project

Part of an ongoing Liminal Industries tooling line. Liminal Relooted adds loot vignettes and void nest danger on the same pipeline. Check out my future work on CurseForge for more plug-and-play LI mods — drop the jar in, remove it cleanly, no manual script surgery. *

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more