
Lasers Enigma
✨ Create solve and share puzzles based on light ✨
- Загрузки
- 1K
- Подписчики
- 14
- Обновлён
- 1 июля 2026 г.
- Лицензия
- CC-BY-NC-4.0
Опубликован 18 апреля 2024 г.
Lasers Enigma — Free and open-source light puzzle editor

Lasers Enigma is a free, open-source Spigot/Paper plugin that turns Minecraft into a full-featured light-puzzle game and editor. Players redirect colored laser beams using mirrors, prisms, filters, gravitational spheres, a portal gun and more to solve levels. Designers compose those components into anything from a beginner's one-mirror tutorial to massive multi-room adventures.
Whether you want to host community puzzles on your server, build your own original maps, or play through ready-made levels with friends, Lasers Enigma gives you the toolbox.
Active project — regular updates, 180+ community-made levels available for download.
✦ Try before you install
A free public test server runs the latest plugin build at play.lasers-enigma.eu with 180+ community-made levels to play right now. Anyone can also build new puzzles directly on the server: once published, they become playable by every other visitor and downloadable from any server in the world.
→ The fastest way to know if Lasers Enigma is the right fit for your server is to log in and play for ten minutes.
✦ Three pillars
🧠 Solve
Give your players fun, replayable, brain-bending challenges — alone or in groups. The built-in automatic reset brings every puzzle back to its initial state when no player is left inside, so a level remains playable forever without admin intervention.



🎨 Design
Assemble modular, orientable and colourable components to manipulate the flow of light. Configure victory conditions, sound and visual atmosphere with precision — every puzzle is built entirely in-game. Admins keep config.yml for server-wide tuning, but no file editing is required to design a puzzle.

🔗 Share
Copy your puzzles to other locations within the game, export schematics to other servers, or upload them to share with the community — and pull any community-made puzzle directly into your own server in one click.

✦ Use it for more than puzzles
Lasers Enigma is built around puzzles, but most of its building blocks are useful anywhere on a server — adventure maps, MMORPG worlds, minigame lobbies, even PVP arenas:
- Wireless redstone replacement — the condition engine drives doors, pistons and contraptions from any in-game state, with no repeaters and no command blocks.
- Locked rewards & VIP areas — the Lock & key chest turns into a clean access-control system for quest endings, member-only rooms or scavenger hunts.
- Hidden passages and secret rooms — Conditional appearing_ / disappearing blocks_ let you pop staircases and walls in and out without any command block.
- Ambient lasers — coloured beams that sweep, cycle and pulse — perfect for nightclubs, concert halls, futuristic spawns or any decorative build.
- Background music — the Music Block plays custom Note Block Studio songs tied to player presence, condition or schedule.
- A Portal Gun playground at spawn or in a minigame area — momentum-preserving teleportation is fun on its own, no puzzle required.
If you've ever wanted "a switch that opens a door when 3 specific players are in this room", "a hidden chest revealed only after collecting 5 keys", or "a stage with sweeping coloured lights" — you can build it in-game in a few minutes.
✦ What's in the box
Puzzle components

Every component can be placed on the floor, walls or ceiling. Full component reference →
- Laser sender — emits a colored laser; rotatable, can be conditional or redstone-driven.
- Laser receiver — activates when hit by a matching color; outputs a redstone signal. Rotatable; can be configured to either stop the incoming laser or let it pass through.
- Concentrator — redirects incoming lasers and combines their colors before re-emitting. Rotatable.
- Prism — decomposes secondary and white lasers into their constituent colors.
- Mirror support — holds a colored, white or black mirror at any orientation. Hit the face: the laser is reflected. Slide along the edge: the laser passes through and is only filtered. A black mirror duplicates the light.
- Mirror block — a full-block mirror (Minecraft concrete powder) that reflects matching colors.
- Mirror chest — gives players mirrors, and optionally the Portal Gun, inside a puzzle.
- Filtering sphere — holds a mirror; filters incoming lasers based on the mirror's color.
- Reflecting sphere — holds a mirror; reflects matching colors back in all directions.
- Gravitational sphere — attracts or repels lasers within a configurable radius.
- Glass and glass panes — colored stained glass that filters laser beams.
- Burnable block — destroyed when hit by the right laser color.
- Laser solidifier — turns a laser's path into a solid trail of colored glass. Can be conditional.
- Conditional appearing / disappearing block — appears or disappears when its condition is met (great for hidden doors and opening passages).
- Conditional redstone block — turns into a redstone block when its condition is met, driving vanilla redstone contraptions.
- Redstone sensor — feeds external redstone signals back into the condition system.
- Lock and key chest — a locked mechanism that opens once the matching keys are collected from key chests scattered around the puzzle.
- Elevator and call button — a moving cabin that travels between floors on player input. Can be conditional.
- Cube distributor and creation button — dispenses physical cubes that players grab and carry. Standard cubes block lasers; concentrators absorb and re-emit a merged-color laser. Conditional dispensing.
- Cube pressure plate — floor-only plate that activates when a cube lands on it (or, optionally, when a player steps on it). Powers the surrounding redstone like a vanilla plate.
- Bonus — collectible reward, tracked per run and globally.
- Music block — plays a custom song from the server's song library. Can be conditional.
- Portal surface — quartz blocks and stairs on which the Portal Gun can place portals.
- Leaderboard — in-world ranking of players across 15 different criteria.
Portal Gun
A first-person teleportation item that turns any portal surface into a portal: left-click drops the primary portal, right-click drops the secondary, and walking or falling through one teleports the player to the other while preserving the entry speed. Aim portals on facing floors and ceilings to build infinite-momentum loops, or on walls for tight corridor travel. In multiplayer, every player gets their own unique color pair so puzzles stay solvable with friends in the same area. Lasers themselves can also be routed through portals — opening up light-storage and re-routing puzzles impossible to build with mirrors alone.
Cubes
Physical puzzle objects dispensed by Cube Distributors that players can grab, carry and release. Standard cubes act as opaque blockers for lasers; cube concentrators absorb every incoming laser and re-emit a merged-color beam in the direction they face, locked to one of 16 horizontal cardinals on release. Cubes fall under custom gravity, stack on each other, traverse Portal Gun portals, and are immune to pistons — opening puzzle patterns that require physically moving an obstacle or a directional emitter into the laser path.
A real color system
Primary (red/green/blue), secondary (yellow/magenta/cyan) and white lasers — combine, decompose with prisms, filter through stained glass, partial-reflect with colored mirrors, duplicate with black mirrors. Configurable strict or lenient color matching.
Color-blind friendly info tool
The /le info command gives players an info item: aim it at any component, laser beam, or compatible block to read its name, color and current state directly in the chat — no need to rely on the visual color alone. With the optional MapEngine plugin, an in-world Venn-diagram color wheel is also displayed in front of the player to show how the color decomposes into its primary parts. Designed to keep puzzles solvable for color-blind players without compromising the visuals for everyone else.
Wireless-redstone-style condition engine
Components and area victories use a powerful condition system with multiple modes:
- Laser receiver — number of activated receivers in the area.
- Players — number of players currently in the area.
- Redstone sensor — number of redstone-powered sensors in the area.
- Lock — number of opened locks in the area.
- Time — seconds elapsed since the first player entered the area.
- Bonus — unique bonuses collected in the area during the current run.
- Server bonus — best lifetime bonus count among the players currently in the area, accumulated across every area they've ever won.
- Specific component state — mirrors another component's activation state (with optional inversion). Supported targets: laser receiver, lock, bonus, burnable block, conditional appearing/disappearing/redstone block, elevator, music block, laser solidifier, redstone sensor.
- Always activated — keeps a laser sender or solidifier permanently active.
- Redstone — drives a laser sender or solidifier from a vanilla redstone signal (lever, button, pressure plate…).
- Victory area — for area victories only: players win only if they exit through a designated victory zone.
Each numeric mode supports min/max ranges (with optional ∞ upper bound). It can replace most wireless-redstone needs without a single repeater or command block.
Player progression & stats
- Per-area, per-player and server-wide statistics (duration, steps, actions, bonuses).
- Personal records and puzzle records, with anti-cheat tainted-run detection (records require solo runs).
- 15-criteria Leaderboard component for in-world rankings.
- Persistent victory message with first-victory celebration.
/le statscommands for player, area and server stats.
Checkpoints
Set per-area respawn points so players who die or disconnect mid-puzzle reappear inside the area instead of being kicked back to the world spawn. Victory checkpoints are automatically promoted as the new spawnpoint when a player wins, smoothing progression across multi-puzzle maps.
Scheduled actions
Animate components on a timer: sweep coloured beams across a hall like a nightclub or concert light show, cycle a stage's laser colors on the beat, build a rhythm-based puzzle. Available on every component that supports the relevant action — no command blocks needed.
Sync between components
Pair two components so they share state automatically: rotation (horizontal, vertical, or both), mirror placement and color, or gravitational sphere strength. Move one mirror — its synced twin moves with it. Perfect for symmetric puzzles, mirrored mechanisms or coordinated multi-laser challenges, with no redstone or commands required.
Schematics & copy/paste
Build it once, deploy it everywhere. Copy and paste full areas or individual components in-game, save them as schematics, and reload them on any other location, world or server you administer. Schematics can also be downloaded from the Lasers Enigma website — fetch a community puzzle directly with /lasers schematic download <name> (with tab-completion suggesting all available puzzles).
Integrations
- BetonQuest — native conditions, events and objectives to weave puzzles into quest systems.
Vanilla command compatibility
Every command accepts standard Minecraft selectors (@a, @p, @e[...]) and relative coordinates (~, ^), and participates correctly in /execute at|as chains — drop Lasers Enigma into your existing command-block, datapack or BetonQuest setup without friction.
Permissions
Fine-grained permission nodes (lasers.edit, lasers.admin, …) let you control who can build puzzles, manage areas or use admin commands. Plays nicely with WorldGuard and most plot/region plugins, so you can let your players freely create puzzles inside their own claims while keeping the rest of the world locked down.
Highly configurable
A single config.yml exposes everything an admin might want to tweak: which materials a laser can pass through, the colors and brightness of every laser type, laser-on-player damage and effects, the active language, song playback, and more. On top of that, per-area settings (accessible in-game via the Area Configuration menu) let puzzle creators allow or deny specific player interactions — rotating mirror supports, concentrators, laser senders or laser receivers, resizing gravitational spheres, using the info item — without touching any file.
Performance
Lasers Enigma is only active when players are in levels — empty puzzle areas cost almost nothing. **Battle-tested for years on the **public test server under live community traffic.
No resource pack required
Lasers Enigma works out of the box with vanilla Minecraft assets — no resource pack to ship to your players. If you want a different look (a more "fantasy" feel, for example), you can still apply a custom resource pack to override the visuals without breaking anything.
Storage
SQLite by default, MySQL supported. All data lives under /plugins/LasersEnigma/.
License
Lasers Enigma is published under Creative Commons BY-NC 4.0. You can freely use, share, modify and redistribute the plugin for any non-commercial purpose, with attribution. The non-commercial clause is a deliberate choice to keep the plugin permanently free for community servers, schools, adventure-map creators and friends-only worlds — and to prevent it from being repackaged or paywalled as a paid feature on monetized networks.
A small note of honesty: we describe the plugin as "open-source" throughout this page, but strictly speaking CC BY-NC isn't an OSI-approved open-source license because of its non-commercial clause. Apologies for the shortcut — for the vast majority of users (community servers, modders, map makers, contributors), the practical experience is the same: the source is public, you can read it, fork it, build with it. Even the levels are free and downloadable.
That said, we're open to discussion: if you'd still like to use the plugin in a commercial context or without attribution, reach out on Discord and we'll evaluate case by case whether we can grant you a tailored license.
25 built-in languages
English, Chinese, Hindi, Spanish, French, Arabic, Bengali, Russian, German, Korean, Portuguese (BR), Japanese, Turkish, Polish, Italian, Dutch, Swedish, Czech, Ukrainian, Greek, Danish, Finnish, Norwegian, Hungarian, Romanian — with per-player language preference (/le lang <language>) and an open process to add your own.
✦ Free resources
- 🔌 The plugin — open-source, works on any modern Spigot/Paper server.
- 🧩 Downloadable levels — community-made puzzles, ready to import in-game.
- 🗂️ Server pack — a pre-configured server to get started in minutes.
- 🎮 Test server — connect to
play.lasers-enigma.euto try it before installing.
✦ Links
Documentation · Support & Community Discord · Source code · SpigotMC · Hangar (PaperMC)
More info, screenshots and tutorials at lasers-enigma.eu.
🚀 Ready to install?
- Download the plugin and its dependencies.
- Drop the plugin's
.jarin yourplugins/folder, alongside WorldEdit and NoteblockAPI. - Restart the server and run
/lasersin-game. - Five minutes later, your first laser puzzle is up and running. (Step-by-step guide.)
🎥 First-puzzle walkthrough
If you want a guided walkthrough of building a basic laser puzzle from scratch:
Ченджлог
8.31.0Релиз1.21.9, 1.21.10, 1.21.11 · 1 июля 2026 г.
V8.31.0
Features
- #774: the
/lasersenigma langcommand now sets your language for every compatible plugin on the server at once, not just Lasers-Enigma — pick your language once and it follows you everywhere that supports it. - #785: Cube Distributors can now dispense a Laser Sender cube — a cube that continuously emits a laser of a colour you pick, pointing in the direction you were facing when you dropped it, just like a Laser Sender. Choose the cube form and cycle its colour right in the distributor's menu, and a Laser Solidifier can target the emitted beam.
Technical changes
- #784: the Cube Distributor was reworked internally so new cube forms can be added cheaply and consistently. On its own this has no visible effect in-game — it ships together with the Laser Sender cube above.
- #793: translation codes that Lasers-Enigma no longer uses are now cleaned up from your server's language files on load; languages you added yourself and your own file organization are kept.
8.30.0Релиз1.21.9, 1.21.10, 1.21.11 · 24 июня 2026 г.
V8.30.0
Features
- #735: water now flows through laser beams instead of being dammed by the beam's light blocks. A water source placed above a beam, or a cascade running onto it, passes through; the beam's lighting returns automatically once the water is gone.
8.29.2Релиз1.21.9, 1.21.10, 1.21.11 · 22 июня 2026 г.
V8.29.2
Features
- #711: a new
/lasersenigma area merge <id1> <id2> confirmcommand combines two areas into one — the first area keeps its settings and grows to cover both, while the second is absorbed and removed. Theconfirmkeyword is always required to avoid accidents, the merge is refused if the two areas are more than 300 blocks apart or if a third area sits between them, and both areas must be empty when you run it. Records and progress on the merged areas are reset. - #745: you can now reset a puzzle on demand, without leaving the area. Use the new
/lasersenigma area resetcommand or the reset item handed to you when you enter a puzzle (a second click within a short delay, or a confirmation prompt, avoids accidental resets). The puzzle returns to its initial state and you are sent back to the area checkpoint. When several players share a puzzle, the reset only happens once everyone has agreed. The reset item is locked in place (it cannot be moved, dropped or lost), and server admins can change its hotbar slot or turn it off entirely in the config. - #752: a new
/lasersenigma cube deletecommand lets you remove cubes dispensed by Cube Distributors — by single block (location), by region (cuboid), or the ones held in hand by players (player), with an optionalstandard/concentratortype filter. Cubes resting on the ground, carried by a player or still falling are all removed.
Fixes
- #728: the "time since activation" condition now works for both components and area victory conditions — the elapsed time used to stay stuck at 0 (so the condition never triggered) when the area was first entered in creative or edit mode. The timer now starts as soon as the area becomes active.
- #727: conditional blocks (redstone / appearing / disappearing) now behave correctly when a condition duration is set around a room that empties. A block configured to fire "when the last player leaves" (Players mod, min 0 / max 0) now triggers reliably the instant the room empties — a duration of 2 ticks or more used to silently prevent it from ever triggering — and its "Durations" button now explains that durations have no effect on that configuration. A presence-detecting block no longer risks staying stuck on after everyone has left, and the "minimum state hold" duration is now counted in real time regardless of how many areas are active.
Technical changes
- #732: the plugin's layered architecture (Command/Inventory/Listener/Task → Controller → Service → Manager/Repository → Mapper → Entity) is now guarded by automated ArchUnit tests that run on every build. Internal change only — no visible effect in-game.
8.29.1Релиз1.21.9, 1.21.10, 1.21.11 · 16 июня 2026 г.
V8.29.1
Features
- #724: the curved arrow that previews a component's rotation now has a glowing white outline, so it stays easy to spot at a distance.
- #660: a laser beam turned into solid stained glass by a Laser Solidifier now lights up its surroundings, so a solidified beam no longer leaves a dark corridor (only when laser lighting is enabled in the config).
Fixes
- #339: destroying a laser receiver that was powering redstone no longer leaves the surrounding redstone stuck on forever — the power is now released as soon as the receiver is removed.
8.29.0Релиз1.21.9, 1.21.10, 1.21.11 · 16 июня 2026 г.
V8.29.0
Features
- #718: a new
close_rotation_menu_on_look_awayconfig option lets servers keep a component's rotation menu open when you look away from it, as long as you stay within range. Enabled by default, so the menu still closes on look-away unless you turn it off.
8.28.0Релиз1.21.9, 1.21.10, 1.21.11 · 14 июня 2026 г.
V8.28.0
Features
- #678: new "No victory" condition for areas that cannot be completed, such as hubs and lobbies: victory, records and the "stats tainted" message are disabled there, while passage statistics (time, entries, steps, actions) and their leaderboards keep working. Translated in all supported languages.
Fixes
- #678 / #654: entering an area where others are mid-run no longer shows a "stats tainted" message wrongly naming you as the intruder. You now see who is already running, while the players already inside keep getting the message naming you.
Technical changes
#702: deleting an elevator now removes its call buttons through the same internal clean-up as the dedicated "delete call buttons" action, keeping the two consistent. No visible change in-game today — it is a preventive robustness fix.
#678: companion plugins can now keep multi-player runs record-eligible — a new cancellable event lets them veto the stats-tainting a player entry would otherwise cause. Used by LE Play Server Utils for levels tagged
DuoorTrio.#687 #688 #689 #690: internal AI-assistant tooling — a read-only
check-server-statusskill, an enforced issue Status-label lifecycle, committed agent ground rules (single issue tracker, GitLab-MCP-only), and a multi-repocreate-releaseworkflow. No in-game effect.
8.27.1Релиз1.21.9, 1.21.10, 1.21.11 · 10 июня 2026 г.
V8.27.1
Features
- #651: colored mirrors are now named after their colour — "Red mirror", "Cyan mirror", etc. — instead of the generic "Mirror", so they can be told apart at a glance in the inventory and the Mirror Chest menu. Translated in all supported languages.
- #652: the "bonus obtained" message now shows your progress in the area, e.g. "Bonus obtained! (2/5)", so you can tell at a glance whether you have them all. Translated in all supported languages.
- #679: new
/lasers stats resetProgresscommands to wipe progress — for all players in one area, for one player across all areas, for one player in one area, or for everyone everywhere. A reset clears the targeted statistics and progression (records, victories, keys and bonuses, plus checkpoints when a whole player is reset) while keeping player inventories. Variants that affect other players or everyone require admin rights and aconfirmkeyword; resetting your own progress only needs edit rights. The area statistics menu's "clear" button now clears keys and bonuses for that area too, not just its statistics. Translated in all supported languages.
Fixes
- #658: copying a component or pasting an area schematic now preserves condition durations (the minimum time a condition must stay met and the minimum time its state is held), both for individual components and for the area's own settings; they were previously lost on copy.
- #662: in a race, moving on to the next level now teleports you to that level area's configured checkpoint instead of the level's corner, matching where you start level 1 and where you resume after reconnecting.
- #659: when a puzzle resets (the last player leaves the area), a Redstone Sensor is now forced back to its deactivated state even if a redstone signal is still powering it, so conditions based on it always start from a clean state on the next run.
- #679: server-wide statistics are now recomputed correctly after an area's statistics are cleared — the total time played is no longer reset to zero, and the "unique areas won" total keeps its meaning (the number of player/area victories) instead of switching to the number of distinct winners.
- #491: clicking to select a component is more reliable. A Cube Pressure Plate can now be removed by aiming at it — because the plate has no block of its own, the click used to land on the supporting floor and leave the plate behind. Breaking the block under a plate is now prevented, so a plate can no longer be left floating and unremovable. A cube that landed on a lever (or any non-solid block, where no barrier is created) can now be picked up by aiming at it. And left-clicking no longer selects a component hidden behind a solid block.
- selecting a rotatable component to open its rotation shortcut bar is now more reliable in play mode: a Mirror Support on a wall can be selected from the side (not only head-on), and a component such as a Laser Sender can be reached through a gap (e.g. a staircase hole). The selection still stops at solid blocks and never steals a right-click meant for a native block (a lever, a door…) standing in front of the component.
Technical changes
- #635 / #265: beta test server automation. Each push to
maindeploys the latest in-development build to the beta test server and posts an announcement to the#beta-testDiscord channel (changelog diff since the last release + server IPbeta.lasers-enigma.eu). The beta server is rebuilt as a sanitized mirror of production (world, config, plugins — keeping the in-development LasersEnigma and LE Play Server Utils builds) whenever a server pack is generated, runs withproxy-protocol: trueto match its behind-proxy setup (the public pack keepsfalse), and is tagged with a red[BETA]MOTD in the server list. - #641: the publicly distributed server pack now blanks the documentation assistant's address and access token so they are never shipped to third-party servers, while the official beta test server keeps a working
/puzzle doc. - #646: the LE Play levels export (now also including each room's parent — lobby or parent room) moved from the
buildLEPlayRoomsCsvdevelopment Gradle task to the live/. export csvcreator command; the Gradle task and its run configuration have been removed. - #655: anonymous bStats statistics now also report server-wide player engagement totals — actions performed, steps taken, time played, puzzle entries, distinct areas solved and unique bonuses obtained — alongside the number of distinct players who have played at least one puzzle.
- the AI tooling's GitLab operations (read issues and comments, create/edit issues, fetch Merge Request review comments) now run through the GitLab MCP server instead of custom Gradle tasks; the
gradle/gitlab-tasks.gradle.ktstasks (createIssue,editIssue,fetchMrComments) have been removed and the GitLab token moved from thegitlabTokenGradle property to theGITLAB_PERSONAL_ACCESS_TOKENenvironment variable. - new Issue management wiki page documenting the allowed labels and cardinality rules for GitLab issues.
- #680: generating the server pack no longer overwrites the beta test server's in-development LasersEnigma and LE Play Server Utils builds with the (older) production versions. The archive's jar-exclusion patterns were matching versioned names while play's backup carries the version-less deploy names, so both production jars were being bundled in and decompressed over the beta builds; the exclusion now uses those deploy names, shared with the wipe step so the two can no longer diverge.
- companion plugins can now veto an area resize: a new cancellable
PlayerTryToResizeAreaEventis fired right before a resize is applied (once it has passed LasersEnigma's own validation). Cancelling it aborts the resize — nothing is persisted, noAreaResizedEventis emitted — and the canceller's reason is shown to the player. Used by LE Play Server Utils to forbid resizes that would break its lobby-tree path uniqueness. - #679: a new
PlayerProgressResetEventis fired whenever progress is reset via/lasers stats resetProgress(or the area stats "clear" button) — once per affected player, or once with a null UUID for a server-wide reset — so companion plugins can invalidate any per-player progress they cache. Used by LE Play Server Utils to refresh portal completion displays.
8.27.0Релиз1.21.9, 1.21.10, 1.21.11 · 24 мая 2026 г.
V8.27.0
Features
- #579: copying and pasting now preserves the links between components, both when copying a whole area (clipboard / schematics) and when copying a single component. This applies to locks and their key chests, elevators and their call buttons, cube distributors and their creation buttons, laser solidifiers and their senders or concentrators, and conditional components and their condition target. Bonuses and leaderboards, which used to be skipped, are now copied as well.
Technical changes
- #606: every supported Minecraft version (1.19.4 → 1.21.x) is again covered by the standard releases and served from a single download link, instead of a separate legacy build for 1.19.4–1.20.4.
Комментарии
Загружаем…