Contraption Lights (Bi-directional Dynamic Lights)

Quick rating

Contraption Lights (Bi-directional Dynamic Lights)

No reviews yet

Adds dynamic lights that move with your Create contraptions and Sable sub-levels, flowing both ways between your builds and the world.

Mod Loaders
NeoForge
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

Compatibility

Supported Environments

Dev Environment
Client Optional
Server Optional

About

Project Details

Type
Mod
License
All Rights Reserved
Latest Version
contraption-lights-neoforge-1.21.1-1.3.1.jar
Authors
CurseForge
Modrinth

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
Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Contraption Lights

Light that moves with your build.

Put a lantern, glowstone, a froglight, or any glowing block on a Create contraption or a Sable sub-level, and Contraption Lights makes the light travel with it as it drives, flies, rotates, tilts, or sails. No more pitch-black cabins and tunnels.

It does more than that, though. It connects moving builds and the world so light passes between them in every direction: your build lights the world, the world lights your build, and builds light each other, including a build mounted on top of another moving build.

It also ships fixes that restore how Sable sub-levels look under Iris, so they stop rendering flat and too bright and go dark underground again, with or without a shaderpack. See Iris fixes.

What it can light

  • Create contraptions - carts, gantries, elevators, bearings: anything assembled and moving, rotating parts included.
  • Create kinetics - rotating shafts and cogs that Flywheel renders in place.
  • Other Flywheel-rendered content - blocks and entities that non-Create mods such as Vanillin draw through Flywheel (needs Flywheel 1.0.6+, no Create required).
  • Sable sub-levels - physics-driven moving structures such as ships and dynamic trees.

Light-emitting blocks hidden inside Create copycats, and glowing blocks or items framed in Create placards, count too: they cast the light of whatever they hold.

Which way the light flows

Contraption Lights handles four directions. The first is on by default; the rest are opt-in so you only pay for what you use.

Your build lights the world (on by default)

A moving contraption or sub-level throws the light from its own glowing blocks onto the terrain around it, following every turn of a bearing and every roll of a ship. A beacon riding a Sable sub-level even casts its beam out into the world, pointing along the sub-level's up axis and following it as it moves and tilts, like a steerable searchlight.

The world lights your build (opt-in)

Real world light sources shine back onto a passing build: held torches, glowing mobs, and dropped glowing items, plus placed blocks like torches, glowstone, and lava. Directed and shaped LambDynamicLights sources count too, so a flashlight from another mod or a beacon's beam lights a build it sweeps across. Works on contraptions, sub-levels, and anything else Flywheel renders: Create kinetics (shafts, cogs) and content from other Flywheel-based mods (such as Vanillin's vanilla entities and block entities), the latter with only Flywheel 1.0.6+ installed, no Create required. Turn on the "light onto structures" options.

Builds light each other (opt-in)

Two builds near each other trade light: a lit Sable sub-level lights a nearby contraption or Flywheel-rendered content (Create kinetics, or content from other Flywheel mods), and a lit contraption lights nearby Flywheel-rendered content. This is not a separate setting. It falls out of the two directions above: turn on a "light onto structures" option so a build can receive light, and since a build already emits its own light by default, a nearby build counts as a source just like the world does. So the same toggle that lets the world light a contraption also lets a passing ship light it.

Builds that ride other builds

Mount a Create contraption or kinetic on a Sable ship, say a bearing-driven propeller with a lantern fixed to it, spinning on a moving vessel. That lantern lights the ship's own deck, the surrounding world, and other structures, and the propeller is lit by all of them in return, all tracked smoothly to where it is actually drawn on the moving ship.

How it's rendered: pick a backend

Client lighting has a single mode setting with three choices. Pick the one that matches your setup. There is also a separate server-side option that needs no client mod at all.

LAMB (default, simplest)

Client dynamic light through LambDynamicLights. It rides the vanilla lightmap, so the light is roughly vanilla-colored and casts no shadows, but it is smooth per frame, cheap, works with shaders, and needs no server setup. This backend carries every direction above, including builds lighting each other and builds that ride other builds.

  • Smooth and shader-friendly
  • Client only: each player who wants to see it installs the mod
  • Needs LambDynamicLights

VEIL (experimental, colored light and shadows)

Client dynamic light through Veil deferred point lights. It renders colored light per source (a froglight glows green, a soul lantern cyan, glowstone warm, instead of one flat white) and crisp angled shadows from a tilted sub-level's own blocks, neither of which LAMB can do.

Experimental, not meant for normal play. VEIL has not kept pace with the rest of the mod. It only does the first direction, your build lighting the world, plus a rougher, even more experimental take on the world lighting your build. None of the newer directions reach it: builds do not light each other, a build riding another build is not handled, and Flywheel kinetics are not lit. Use LAMB for normal play, and reach for VEIL only if you specifically want colored light or shadows and can live with the rough edges.

  • Client only, touches nothing in the world
  • Needs Veil (and Sable for sub-levels)
  • No shaders: Veil turns its lighting off whenever Iris is installed, so VEIL mode disables itself under shaders and says so in the log. Use LAMB with shaders.

Server light blocks (everyone sees it)

Separate from the client modes, the server can place real, invisible light blocks in the world as a build moves and clean them up behind it. Because the light is real, every player sees it with no client mod, and it works with shaders and anything that reads world light. It is heavier, so it is off by default and meant for server admins. Configured in the server config.

Requirements

Every dependency is optional. Install a lighting backend, something to light, and whichever integrations you want.

Mod Needed for
LambDynamicLights LAMB mode (client).
Veil VEIL mode (client).
Create (0.6+) Lighting contraptions and kinetics (and copycat/placard light).
Sable Lighting Sable sub-levels (any mode).

Some common setups:

  • Smooth contraption lighting: Create + LambDynamicLights, LAMB mode.
  • Colored light and shadows (experimental): Veil + VEIL mode (add Sable for sub-levels).
  • No Create, just Sable structures: Sable + a backend (LambDynamicLights or Veil).
  • Running Iris shaders: use LAMB mode; VEIL disables itself under shaders.
  • A whole server, no client mod: Create + the server light-block option.

Configuration

Everything has sensible defaults. Client options appear in the in-game config screen (from the Mods list), the config file, and Sodium's Video Settings if you run Sodium 0.8.12+.

Client - General

Option Default What it does
mode LAMB Rendering backend. LAMB is lightmap-based and shader-friendly; VEIL is colored with sub-level shadows; OFF disables client lighting. A mode whose mod is absent lights nothing and says so on screen; the setting is kept as you set it, so installing the mod later just works.
luminanceMultiplier 1.0 Overall brightness. 1.0 is normal; lower dims, higher brightens (up to 2.0).
updateInterval 0 Minimum milliseconds between updates of the light a moving structure casts into the world (its own carried light). 0 updates every tick (smoothest); higher reduces cost.
worldUpdateInterval 0 Minimum milliseconds between updates of the world light cast back onto a moving structure (the reverse direction, used by the "light onto structures" options). 0 updates every tick; higher reduces cost.
showStatusOverlay on Show a short message in the bottom-right corner when something needs attention: no lighting backend installed, the backend a setting needs not installed, or a feature that disabled itself. Appears anywhere, including the main menu; click its x to dismiss one early. The same messages always go to the log.

Client - Light from structures (your build lights the world, on by default)

Option Default What it does
enableContraptionDynamicLight on Cast light from the blocks a moving Create contraption carries.
enableSubLevelDynamicLight on Cast light from the blocks a moving Sable sub-level carries, including casting a carried beacon's beam out into the world along the sub-level's up axis. Needs Sable.

Client - Light onto structures (the world, and other builds, light yours; off by default)

Option Default What it does
enableWorldToContraptionLambLight off Light Create contraptions from nearby dynamic world sources (held torches, glowing mobs, dropped glowing items), plus directed or shaped LambDynamicLights light (a flashlight, a beacon beam). Needs Create's Flywheel backend.
enableWorldToSubLevelLambLight off Light Sable sub-levels from nearby world light, both dynamic sources and static blocks (torches, glowstone, lava), plus directed or shaped LambDynamicLights light (a flashlight, a beacon beam). Needs Sable.
enableWorldToFlywheelLight off Light Flywheel-rendered blocks and entities (Create kinetics, and content from other Flywheel-based mods) from nearby dynamic world sources, plus directed or shaped LambDynamicLights light (a flashlight, a beacon beam). Needs Flywheel 1.0.6+; works without Create.
enableWorldToStructureVeilLight off Light contraptions and sub-levels from nearby world light sources.

Client - Iris fixes (how Sable sub-levels look under Iris, on by default)

These restore how Sable sub-levels are lit under Iris. They are applied by a bundled "Contraption Lights Fixes" mod that ships inside Contraption Lights and shows as its own entry in the mod list.

Option Default What it does
fixSubLevelShading on Restore directional face shading on Sable sub-levels under Iris, which otherwise look flat and too bright. The shading follows the build as it tilts, with or without a shaderpack.
fixSubLevelSkyLight on Scale a Sable sub-level's sky light to the world sky light at its position under Iris, so a build goes dark in a cave or underground instead of staying lit as if under open sky. With or without a shaderpack.

Server - Light blocks

Option Default What it does
enableContraptionLightBlock off Place real light blocks as a Create contraption moves, so every player sees the light.
enableSubLevelLightBlock off Place real light blocks as a Sable sub-level moves, so every player sees the light. Needs Sable.
minLightBlockEmission 1 Only place a light block for sources at least this bright, to place fewer blocks.

FAQ

Which mode should I use? LAMB for normal play: it is simple, smooth, and supports every direction. VEIL is experimental and limited (colored light and sub-level shadows, for your build lighting the world only); reach for it just if you want those specifics and do not run shaders.

Do other players need the mod? For the client modes (LAMB and VEIL), yes, each player installs it. For the server light-block option, only the server needs it and everyone sees the light.

Does it work with shaders? LAMB does. VEIL does not: Iris turns off Veil's lighting, so use LAMB when running shaders. The server light-block option works with shaders too.

My Sable sub-levels look flat, too bright, or stay lit underground with Iris. A bundled "Contraption Lights Fixes" mod restores their face shading and sky light under Iris, on by default. It needs Sable, Iris, and Veil all installed. If a build still looks off, check those three are present and that fixSubLevelShading and fixSubLevelSkyLight are on; a change to either takes effect immediately.

Froglights and lanterns look white in LAMB but colored in VEIL. Why? LAMB uses the vanilla lightmap, which has no per-source color. VEIL renders real colored lights, so each source keeps its own tint.

Nothing lights up. What now? Watch the bottom-right corner, from the main menu onward: if the setup is the problem (no backend installed, a selected mode whose backend is not installed, a dependency too old), the mod says so there. Otherwise check that the backend's mod is installed (LambDynamicLights for LAMB, Veil for VEIL, Sable for sub-levels), that the build actually carries a glowing block, and that the matching option is on. The "light onto structures" and server options are off by default. On Iris shaders, use LAMB.

Credits

  • Logo by arthursimon900.

License

All Rights Reserved. You may include this mod in modpacks.

Contraption Lights

Light that moves with your build.

Put a lantern, glowstone, a froglight, or any glowing block on a Create contraption or a Sable sub-level, and Contraption Lights makes the light travel with it as it drives, flies, rotates, tilts, or sails. No more pitch-black cabins and tunnels.

It does more than that, though. It connects moving builds and the world so light passes between them in every direction: your build lights the world, the world lights your build, and builds light each other, including a build mounted on top of another moving build.

It also ships fixes that restore how Sable sub-levels look under Iris, so they stop rendering flat and too bright and go dark underground again, with or without a shaderpack. See Iris fixes.

What it can light

  • Create contraptions - carts, gantries, elevators, bearings: anything assembled and moving, rotating parts included.
  • Create kinetics - rotating shafts and cogs that Flywheel renders in place.
  • Other Flywheel-rendered content - blocks and entities that non-Create mods such as Vanillin draw through Flywheel (needs Flywheel 1.0.6+, no Create required).
  • Sable sub-levels - physics-driven moving structures such as ships and dynamic trees.

Light-emitting blocks hidden inside Create copycats, and glowing blocks or items framed in Create placards, count too: they cast the light of whatever they hold.

Which way the light flows

Contraption Lights handles four directions. The first is on by default; the rest are opt-in so you only pay for what you use.

Your build lights the world (on by default)

A moving contraption or sub-level throws the light from its own glowing blocks onto the terrain around it, following every turn of a bearing and every roll of a ship. A beacon riding a Sable sub-level even casts its beam out into the world, pointing along the sub-level's up axis and following it as it moves and tilts, like a steerable searchlight.

The world lights your build (opt-in)

Real world light sources shine back onto a passing build: held torches, glowing mobs, and dropped glowing items, plus placed blocks like torches, glowstone, and lava. Directed and shaped LambDynamicLights sources count too, so a flashlight from another mod or a beacon's beam lights a build it sweeps across. Works on contraptions, sub-levels, and anything else Flywheel renders: Create kinetics (shafts, cogs) and content from other Flywheel-based mods (such as Vanillin's vanilla entities and block entities), the latter with only Flywheel 1.0.6+ installed, no Create required. Turn on the "light onto structures" options.

Builds light each other (opt-in)

Two builds near each other trade light: a lit Sable sub-level lights a nearby contraption or Flywheel-rendered content (Create kinetics, or content from other Flywheel mods), and a lit contraption lights nearby Flywheel-rendered content. This is not a separate setting. It falls out of the two directions above: turn on a "light onto structures" option so a build can receive light, and since a build already emits its own light by default, a nearby build counts as a source just like the world does. So the same toggle that lets the world light a contraption also lets a passing ship light it.

Builds that ride other builds

Mount a Create contraption or kinetic on a Sable ship, say a bearing-driven propeller with a lantern fixed to it, spinning on a moving vessel. That lantern lights the ship's own deck, the surrounding world, and other structures, and the propeller is lit by all of them in return, all tracked smoothly to where it is actually drawn on the moving ship.

How it's rendered: pick a backend

Client lighting has a single mode setting with three choices. Pick the one that matches your setup. There is also a separate server-side option that needs no client mod at all.

LAMB (default, simplest)

Client dynamic light through LambDynamicLights. It rides the vanilla lightmap, so the light is roughly vanilla-colored and casts no shadows, but it is smooth per frame, cheap, works with shaders, and needs no server setup. This backend carries every direction above, including builds lighting each other and builds that ride other builds.

  • Smooth and shader-friendly
  • Client only: each player who wants to see it installs the mod
  • Needs LambDynamicLights

VEIL (experimental, colored light and shadows)

Client dynamic light through Veil deferred point lights. It renders colored light per source (a froglight glows green, a soul lantern cyan, glowstone warm, instead of one flat white) and crisp angled shadows from a tilted sub-level's own blocks, neither of which LAMB can do.

Experimental, not meant for normal play. VEIL has not kept pace with the rest of the mod. It only does the first direction, your build lighting the world, plus a rougher, even more experimental take on the world lighting your build. None of the newer directions reach it: builds do not light each other, a build riding another build is not handled, and Flywheel kinetics are not lit. Use LAMB for normal play, and reach for VEIL only if you specifically want colored light or shadows and can live with the rough edges.

  • Client only, touches nothing in the world
  • Needs Veil (and Sable for sub-levels)
  • No shaders: Veil turns its lighting off whenever Iris is installed, so VEIL mode disables itself under shaders and says so in the log. Use LAMB with shaders.

Server light blocks (everyone sees it)

Separate from the client modes, the server can place real, invisible light blocks in the world as a build moves and clean them up behind it. Because the light is real, every player sees it with no client mod, and it works with shaders and anything that reads world light. It is heavier, so it is off by default and meant for server admins. Configured in the server config.

Requirements

Every dependency is optional. Install a lighting backend, something to light, and whichever integrations you want.

Mod Needed for
LambDynamicLights LAMB mode (client).
Veil VEIL mode (client).
Create (0.6+) Lighting contraptions and kinetics (and copycat/placard light).
Sable Lighting Sable sub-levels (any mode).

Some common setups:

  • Smooth contraption lighting: Create + LambDynamicLights, LAMB mode.
  • Colored light and shadows (experimental): Veil + VEIL mode (add Sable for sub-levels).
  • No Create, just Sable structures: Sable + a backend (LambDynamicLights or Veil).
  • Running Iris shaders: use LAMB mode; VEIL disables itself under shaders.
  • A whole server, no client mod: Create + the server light-block option.

Configuration

Everything has sensible defaults. Client options appear in the in-game config screen (from the Mods list), the config file, and Sodium's Video Settings if you run Sodium 0.8.12+.

Client - General

Option Default What it does
mode LAMB Rendering backend. LAMB is lightmap-based and shader-friendly; VEIL is colored with sub-level shadows; OFF disables client lighting. A mode whose mod is absent lights nothing and says so on screen; the setting is kept as you set it, so installing the mod later just works.
luminanceMultiplier 1.0 Overall brightness. 1.0 is normal; lower dims, higher brightens (up to 2.0).
updateInterval 0 Minimum milliseconds between updates of the light a moving structure casts into the world (its own carried light). 0 updates every tick (smoothest); higher reduces cost.
worldUpdateInterval 0 Minimum milliseconds between updates of the world light cast back onto a moving structure (the reverse direction, used by the "light onto structures" options). 0 updates every tick; higher reduces cost.
showStatusOverlay on Show a short message in the bottom-right corner when something needs attention: no lighting backend installed, the backend a setting needs not installed, or a feature that disabled itself. Appears anywhere, including the main menu; click its x to dismiss one early. The same messages always go to the log.

Client - Light from structures (your build lights the world, on by default)

Option Default What it does
enableContraptionDynamicLight on Cast light from the blocks a moving Create contraption carries.
enableSubLevelDynamicLight on Cast light from the blocks a moving Sable sub-level carries, including casting a carried beacon's beam out into the world along the sub-level's up axis. Needs Sable.

Client - Light onto structures (the world, and other builds, light yours; off by default)

Option Default What it does
enableWorldToContraptionLambLight off Light Create contraptions from nearby dynamic world sources (held torches, glowing mobs, dropped glowing items), plus directed or shaped LambDynamicLights light (a flashlight, a beacon beam). Needs Create's Flywheel backend.
enableWorldToSubLevelLambLight off Light Sable sub-levels from nearby world light, both dynamic sources and static blocks (torches, glowstone, lava), plus directed or shaped LambDynamicLights light (a flashlight, a beacon beam). Needs Sable.
enableWorldToFlywheelLight off Light Flywheel-rendered blocks and entities (Create kinetics, and content from other Flywheel-based mods) from nearby dynamic world sources, plus directed or shaped LambDynamicLights light (a flashlight, a beacon beam). Needs Flywheel 1.0.6+; works without Create.
enableWorldToStructureVeilLight off Light contraptions and sub-levels from nearby world light sources.

Client - Iris fixes (how Sable sub-levels look under Iris, on by default)

These restore how Sable sub-levels are lit under Iris. They are applied by a bundled "Contraption Lights Fixes" mod that ships inside Contraption Lights and shows as its own entry in the mod list.

Option Default What it does
fixSubLevelShading on Restore directional face shading on Sable sub-levels under Iris, which otherwise look flat and too bright. The shading follows the build as it tilts, with or without a shaderpack.
fixSubLevelSkyLight on Scale a Sable sub-level's sky light to the world sky light at its position under Iris, so a build goes dark in a cave or underground instead of staying lit as if under open sky. With or without a shaderpack.

Server - Light blocks

Option Default What it does
enableContraptionLightBlock off Place real light blocks as a Create contraption moves, so every player sees the light.
enableSubLevelLightBlock off Place real light blocks as a Sable sub-level moves, so every player sees the light. Needs Sable.
minLightBlockEmission 1 Only place a light block for sources at least this bright, to place fewer blocks.

FAQ

Which mode should I use? LAMB for normal play: it is simple, smooth, and supports every direction. VEIL is experimental and limited (colored light and sub-level shadows, for your build lighting the world only); reach for it just if you want those specifics and do not run shaders.

Do other players need the mod? For the client modes (LAMB and VEIL), yes, each player installs it. For the server light-block option, only the server needs it and everyone sees the light.

Does it work with shaders? LAMB does. VEIL does not: Iris turns off Veil's lighting, so use LAMB when running shaders. The server light-block option works with shaders too.

My Sable sub-levels look flat, too bright, or stay lit underground with Iris. A bundled "Contraption Lights Fixes" mod restores their face shading and sky light under Iris, on by default. It needs Sable, Iris, and Veil all installed. If a build still looks off, check those three are present and that fixSubLevelShading and fixSubLevelSkyLight are on; a change to either takes effect immediately.

Froglights and lanterns look white in LAMB but colored in VEIL. Why? LAMB uses the vanilla lightmap, which has no per-source color. VEIL renders real colored lights, so each source keeps its own tint.

Nothing lights up. What now? Watch the bottom-right corner, from the main menu onward: if the setup is the problem (no backend installed, a selected mode whose backend is not installed, a dependency too old), the mod says so there. Otherwise check that the backend's mod is installed (LambDynamicLights for LAMB, Veil for VEIL, Sable for sub-levels), that the build actually carries a glowing block, and that the matching option is on. The "light onto structures" and server options are off by default. On Iris shaders, use LAMB.

Credits

  • Logo by arthursimon900.

License

All Rights Reserved. You may include this mod in modpacks.

Screenshots

Gallery

  • Sodium Options Integration
    Sodium Options Integration The mod adds its configs to Sodium's options (0.8.12+)
  • Structures Lighting the World
    Structures Lighting the World Create Mechanical Bearing on the left and Aeronautics Swivel Bearing on the right (LAMB)
  • Structures Lighting the World - With Shaders
    Structures Lighting the World - With Shaders Create Mechanical Bearing on the left and Aeronautics Swivel Bearing on the right (LAMB)
  • The World Lighting a Sub-Level
    The World Lighting a Sub-Level A real torch placed in the world casts light onto a moving Sub-Level (LAMB)
  • The World Lighting a Sub-Level - With Shaders
    The World Lighting a Sub-Level - With Shaders A real torch placed in the world casts light onto a moving Sub-Level (LAMB)
  • Structures Lighting the World
    Structures Lighting the World Create Mechanical Bearing on the left and Aeronautics Swivel Bearing on the right (LAMB)
  • Structures Lighting the World - With Shaders
    Structures Lighting the World - With Shaders Create Mechanical Bearing on the left and Aeronautics Swivel Bearing on the right (LAMB)
  • The World Lighting a Sub-Level
    The World Lighting a Sub-Level A real torch placed in the world casts light onto a moving Sub-Level (LAMB)
  • The World Lighting a Sub-Level - With Shaders
    The World Lighting a Sub-Level - With Shaders A real torch placed in the world casts light onto a moving Sub-Level (LAMB)
  • World lighting a Sub-Level and the Sub-Level lighting the world.
    World lighting a Sub-Level and the Sub-Level lighting the world.
  • Sodium Options Integration
    Sodium Options Integration The mod adds its configs to Sodium's options (0.8.12+)

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

~6,000
Total Downloads
CurseForge
~2,000
Modrinth
~4,000
Last Updated
CurseForge
Modrinth
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works