Skip to content

1.21.1 Layout Profiles

stefanomanca edited this page Oct 5, 2026 · 1 revision

Layout Profiles

Version: Minecraft 1.21.1 (NeoForge).

Layout Profiles are client-side resource definitions that allow resource pack authors and modpack developers to override ray patterns and cone lighting on a per-provider basis.

While user commands like /beamlights layout apply globally to all beams, a Layout Profile allows you to configure different visual styles for different light sources—for instance, giving flashlights a tight TRIANGLE pattern with a soft cone, while giving held lanterns a broad RING pattern with no cone.


File Location

Place layout profile JSON files in a resource pack (or KubeJS kubejs/assets/ folder):

assets/<namespace>/beamlights/layouts/<name>.json

Layout profiles can be reloaded in-game at any time using F3 + T.


JSON Specification

{
  "providers": [
    "omegaflashlight",
    "data"
  ],
  "indoor": "TRIANGLE",
  "outdoor": "CENTER_ONLY",
  "cone": true,
  "priority": 10
}

Property Reference

Property Type Required Description
providers Array of strings Yes Which beam providers this profile applies to. Built-in providers: "omegaflashlight", "data" (datapack definitions), "event" (Java API).
indoor String No The ray pattern used when indoors ("CENTER_ONLY", "TRIANGLE", "CROSS", "RING", "DOUBLE_RING", "HORIZONTAL_FAN", "VERTICAL_FAN", "CUSTOM").
outdoor String No The ray pattern used when facing open sky or distant terrain (typically "CENTER_ONLY").
cone Boolean No Whether the volumetric soft cone light is enabled for this provider. (Cannot force cone on if global ldlConeLight is disabled in config).
priority Integer No If multiple profiles target the same provider, the profile with the highest numerical priority takes precedence. Default is 0.

Example: Flashlight vs Heavy Lantern

Suppose you want flashlights from Omega Flashlight to have a focused beam with an indoor cone, but all datapack items (lanterns) to emit a wide omni-directional ring without a cone:

assets/mymodpack/beamlights/layouts/omega_flashlight.json:

{
  "providers": ["omegaflashlight"],
  "indoor": "TRIANGLE",
  "outdoor": "CENTER_ONLY",
  "cone": true,
  "priority": 10
}

assets/mymodpack/beamlights/layouts/lanterns.json:

{
  "providers": ["data"],
  "indoor": "RING",
  "outdoor": "RING",
  "cone": false,
  "priority": 10
}

Reloading resource packs (F3 + T) will instantly apply these separate behaviors to each source.

Clone this wiki locally