Mod

Liminal Roomgen

Quick rating

Liminal Roomgen

No reviews yet

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

QoL & Tweaks
Mod Loaders
Forge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
Roomgen(fix).jar
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

About

Description

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.

Highlights

  • Fast placement — budgeted Java queue replaces per-tick script /place commands; no more exploration lag spikes
  • Reads your KubeJS sectors — picks from kubejs/config/sectors/ at runtime; change rooms in the pack and Roomgen follows
  • Rarity weighting — liminal corridors common, setpieces and loot rooms rare, with spacing so the maze feels intentional
  • Reliable expansion — graph grows when a room finishes, not on fragile per-node script loops
  • TPS HUD/roomgen hud on or off for FPS / TPS / MSPT overlay
  • Dedicated server ready — runs server-side; clients sync live stats through the HUD

How it works

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

Pack layer (unchanged)

  • Sector JSON in kubejs/config/sectors/
  • Generation scripts (get_sector, get_random_room, room-node block ticks)

Roomgen layer (Java)

  • Bridge hooks your existing KubeJS handlers at startup
  • Native picker + classifier read the same sector files
  • Batch placer builds rooms within a per-tick time budget
  • Graph expander queues new nodes when a room completes

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

Room selection (overview)

alt text 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:

  • Liminal — plain wallpaper corridors (most common)
  • Standard — normal themed rooms
  • Large — big open layouts (uncommon)
  • Unique — rich setpieces (rare; once-per-dimension when enabled)
  • Loot — containers and spawners (rarest) alt text Run /roomgen classify to rescan layouts, or classify full for a full rebuild.

Commands

  • /roomgen hud on / off — toggle performance overlay
  • /roomgen status — queue and health (ops / console)
  • /roomgen whereami — grid node, sector, room, and class
  • /roomgen findroom [type] — locate nearest special room (dev / testing)
  • /roomgen failures — recent placement errors
  • /roomgen rooms — placed-room counts by class (op)
  • /roomgen classify [full] — rescan room classes (op) alt text

Config

config/liminal_roomgen-server.toml

  • [placement] — enable, expansion radius, graph expansion, spawn bootstrap
  • [performance] — tick budget, queue cap, relight deferral
  • [rarity] — class weights, dedup spacing, once-only rules for rare rooms
  • [debug] — verbose logging

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

  • Minecraft 1.20.1, Forge 47+
  • KubeJS 2001.6.5+
  • A Liminal Industries–style backrooms pack (base, Rescripted, or compatible fork)

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. *

Screenshots

Gallery

  • download.png
    download.png download.png
  • download.png
    download.png download.png
  • download.png
    download.png download.png
  • download.png
    download.png download.png

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync