Sueta

Lasers Enigma

11.0.0

✨ Create solve and share puzzles based on light ✨

·Plugin
  1. 11.0.0latestv11.0.0Sep 13, 2026

    V11.0.0

    Fixes

    - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529) [#824](https://gitlab.com/lasersenigma/lasersenigma/-/issues/824): the manual puzzle reset is more dependable: - the confirmation is asked immediately on the first click and waits 10 seconds for the second, so a prompt can no longer land after the reset it was meant to announce, and spamming the button neither resets twice nor leaves a stray window armed; - you stay in spectator for a short pause (2 seconds, area_reset_spectator_ticks) so the puzzle's own reset contraptions — levers, command blocks, pistons wired to fire when the area empties — actually run. You are held in place for it, since a spectator flies through walls; looking around still works; - a puzzle can no longer be reset over and over in a few seconds, and repeating the request while a vote is running no longer re-announces the counter to everyone in the puzzle. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529) [#824](https://gitlab.com/lasersenigma/lasersenigma/-/issues/824): checkpoints are now validated the same way wherever they come from. One placed outside its area is really refused instead of being kept after the warning, and one placed by a companion plugin obeys the rules an editor's does: ignored when the server has the checkpoint system switched off, refused inside an emancipation grid that affects players — which would respawn them into it endlessly. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): pasting a schematic, copying a level and generating a race now announce each area they are about to create, so another plugin can refuse it — checked before a single block is placed. No visible change unless a plugin objects. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): switching to spectator inside a puzzle, then leaving edition mode and walking out, no longer empties your inventory. Your items are put back where they belong instead of being restored too early and then lost. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): teleporting to an area by its id now really requires the admin permission — until now the refusal was shown and the teleport happened anyway. The "no permission" notice is also no longer sent twice. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): deleting a puzzle now closes the menus other editors had open on it. Until now they kept a menu pointing at an area that no longer existed, because the deleted area was looked for after it had already gone. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): being in edition mode no longer stands in for the edit permission. Until now, opening the editor granted the right to keep editing even if the permission was later lost, and it was only dropped on disconnect — so someone could keep editing anywhere for the rest of their session. The permission is now checked on every action. Nothing changes for an editor who holds it, since opening the editor required it in the first place. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): asking for the info item or a race exit-teleporter wand you already have no longer hands you another one. Both items pile up otherwise, since nothing ever takes them back — the info item was only looked for in your hotbar, and the wand was not looked for at all. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): players can only teleport into a race that is finished — a race still being built no longer accepts visitors and no longer shows up in the command's suggestions. Admins are unaffected: they keep access to every runnable race, suggestions included, so they can still walk a race they are testing. Asking for a race's results now only suggests races that have actually been run, whatever their state.

    Technical changes

    - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): For plugin developers — new ways in. A companion plugin can now mark areas as solved for a player without them playing, and take a set back (granted wins count in the statistics but never carry a time, a record or a "first run", so no ranking is disturbed); tell an editor's action from a player's move on the rotate and sphere-resize events, so restricting editing no longer means blocking play; follow a player into an area whatever their game mode with PlayerEnteredAreaBoundsEvent, where PlayerEnteredAreaEvent keeps meaning "started playing this puzzle"; and veto an elevator snapshot refresh, an area merge or a resize, per player. No visible change unless a plugin uses them. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): the public server pack still ships without any of the server's Discord webhooks, but the beta mirror now keeps the two that testing depends on — /puzzle suggest and /puzzle report — so feedback raised while rehearsing a release reaches the same channels as a player's. No in-game effect, and nothing new in the downloadable pack. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): Permission change. Creating an area, merging two areas, deleting cubes or portals in bulk, and force-activating an area now require the admin permission instead of the edit permission. These act on coordinates or ids rather than on where you stand, so they were the ones a puzzle editor could use far outside the puzzle they were working on. Force-activation already refused non-admins — only its advertised permission was wrong. Editors keep everything that acts on the puzzle they are standing in. - [#529](https://gitlab.com/lasersenigma/lasersenigma/-/issues/529): For plugin developers — rebuild required. AreaResizedEvent gives way to AreaBoundsChangedEvent, which announces every change of an area's shape, the merge growth included (silent until now), and carries the area id rather than the area itself: resolve it by id or by the old corners, never with a lookup that loads it. PlayerPermissionsCheckEvent is removed — it never carried the result it was given, and was never fired at all on the check nearly every command uses — and Permission.hasPermission(Player) is replaced by the identical hasPermission(CommandSender). The two mirror events now inherit their permission-bypass flag from the shared base class, so a listener registered on that class finally receives them. Existing calls compile unchanged; a plugin built against an older release must be rebuilt. No in-game effect.
    47 downloads
  2. 10.0.0v10.0.0Sep 6, 2026

    V10.0.0

    Breaking changes

    - [#820](https://gitlab.com/lasersenigma/lasersenigma/-/issues/820): the BetonQuest integration works again and now requires BetonQuest 3.x, so upgrade both plugins together. Existing Lasers-Enigma condition, action and objective names are unchanged; BetonQuest converts quest packages to its 3.x syntax on first start.

    Features

    - [#779](https://gitlab.com/lasersenigma/lasersenigma/-/issues/779): Cube Pressure Plates can now react to monsters, animals, villagers and golems, or dropped items, with each activator enabled separately. The base colour hints at what activates the plate; existing plates keep their appearance and behaviour.

    Fixes

    - [#820](https://gitlab.com/lasersenigma/lasersenigma/-/issues/820): the lecomponentactivated and lecomponentdeactivated quest objectives now accept only_first:false to fire on every trigger. By default, they fire only on the first trigger after each area activation.

    Technical changes

    - [#779](https://gitlab.com/lasersenigma/lasersenigma/-/issues/779): Plugin developers must migrate the plates' player-only event and accessors to PlayerTryToTogglePressurePlateActivatorEvent, isActivableBy(PlateActivator) and setActivableBy(PlateActivator, boolean). Existing worlds and schematics remain compatible, but returning to 9.x requires restoring a pre-upgrade database backup to read and save components. - [#823](https://gitlab.com/lasersenigma/lasersenigma/-/issues/823): items, menus and component heads work again on Minecraft 26.2. Servers on 1.21 and below were unaffected.
    10 downloads
  3. 9.0.0v9.0.0Jul 22, 2026

    V9.0.0

    Fixes

    - [#557](https://gitlab.com/lasersenigma/lasersenigma/-/issues/557): when a puzzle does not let you modify a component — a laser sender you may not turn, a mirror you may not take — the game now tells you so instead of silently ignoring your click. Until now that explanation only ever appeared for a mirror support locked on its own, and never when the puzzle forbade the action for the whole area. Server owners who prefer silence can still switch it off with the component_blocked_message option. - [#557](https://gitlab.com/lasersenigma/lasersenigma/-/issues/557): setting up a brand-new server on a MySQL database no longer fails at the very first startup — a stray character in the components table definition prevented that table from being created. Servers already running, and all SQLite servers, were never affected. - [#782](https://gitlab.com/lasersenigma/lasersenigma/-/issues/782): iron bars now block laser beams by default instead of letting them pass through — admins who still want them transparent can add IRON_BARS to the crossable_materials config option. A typo in that option also no longer turns every block transparent to lasers: the invalid entry is simply ignored.

    Features

    - [#557](https://gitlab.com/lasersenigma/lasersenigma/-/issues/557): you can now control, at three levels, what players are allowed to do to a component — turn it horizontally or vertically, take and place its mirror, resize it. A server-wide default in config.yml seeds each area when it is created; the area configuration menu, now a clear grid of every permission by component type, sets the area's default; and each individual component can override its area — in either direction, so a single mirror support can stay turnable in an area where rotation is otherwise off. In a component's menu every permission shows at a glance whether it is the component's own choice or inherited from the area, and one click cycles it between allowed, denied, and following the area again. When you change an area default that already has components in place, you choose whether it reaches them too (losing any hand-set values, with the counts shown first) or only applies to components built from then on. Taking and placing a mirror support's mirror is a brand-new permission; the shipped defaults reproduce exactly what a new area got before, so a server that changes nothing sees no change. (The mirror of a reflecting or of a filtering sphere stays free for anyone to handle, as it always has.) - [#801](https://gitlab.com/lasersenigma/lasersenigma/-/issues/801): the damage a burnable block deals when it melts down next to you is now server-configurable through the new burnable_block_damage_multiplier option — set it to 0 for areas where the explosion should knock you back without hurting you. Existing servers keep exactly the same damage as before. - [#557](https://gitlab.com/lasersenigma/lasersenigma/-/issues/557): a mirror support and a gravitational sphere now show what players may do to them — the support's head reflects its allowed rotations and mirror handling, the sphere's head whether it can be resized. Some supports in existing puzzles change appearance: a support that could never be turned used to wear a free-looking head, and now tells the truth. Their behaviour is unchanged — this only corrects what you see.

    Technical changes

    - [#717](https://gitlab.com/lasersenigma/lasersenigma/-/issues/717): the server-pack build again downloads the correct Paper server jar after PaperMC retired its old download API, and the website's schematic list is now protected against a rare filename-encoding case that could blank it. No visible change in-game. - [#557](https://gitlab.com/lasersenigma/lasersenigma/-/issues/557): the mirror support's old internal "free / blocked" mode is gone — its lock now lives entirely in the component permissions, worked out in one single place shared by the game logic, the menus and the in-world textures (which had begun to disagree). Copy/paste and schematics carry the permissions along, and older schematics still load. For plugin developers: the eighteen old per-setting area events become two generic ones, plus two for the per-component permissions. Downgrade note: rolling a server back to a version before 9.0.0 after this release loses the lock of any mirror support you locked on 9.0.0+; published schematics are unaffected.
    28 downloads
  4. 8.31.0v8.31.0Jul 1, 2026

    V8.31.0

    Features

    - [#774](https://gitlab.com/lasersenigma/lasersenigma/-/issues/774): the /lasersenigma lang command 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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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.
    14 downloads
  5. 8.30.0v8.30.0Jun 24, 2026

    V8.30.0

    Features

    - [#735](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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.
    29 downloads
  6. 8.29.2v8.29.2Jun 22, 2026

    V8.29.2

    Features

    - [#711](https://gitlab.com/lasersenigma/lasersenigma/-/issues/711): a new /lasersenigma area merge <id1> <id2> confirm command combines two areas into one — the first area keeps its settings and grows to cover both, while the second is absorbed and removed. The confirm keyword 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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/745): you can now reset a puzzle on demand, without leaving the area. Use the new /lasersenigma area reset command 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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/752): a new /lasersenigma cube delete command 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 optional standard/concentrator type filter. Cubes resting on the ground, carried by a player or still falling are all removed.

    Fixes

    - [#728](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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.
    14 downloads
  7. 8.29.1v8.29.1Jun 16, 2026

    V8.29.1

    Features

    - [#724](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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.
    17 downloads
  8. 8.29.0v8.29.0Jun 16, 2026

    V8.29.0

    Features

    - [#718](https://gitlab.com/lasersenigma/lasersenigma/-/issues/718): a new close_rotation_menu_on_look_away config 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.
    14 downloads
  9. 8.28.0v8.28.0Jun 14, 2026

    V8.28.0

    Features

    - [#678](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/678) / [#654](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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 Duo or Trio. - [#687](https://gitlab.com/lasersenigma/lasersenigma/-/issues/687) [#688](https://gitlab.com/lasersenigma/lasersenigma/-/issues/688) [#689](https://gitlab.com/lasersenigma/lasersenigma/-/issues/689) [#690](https://gitlab.com/lasersenigma/lasersenigma/-/issues/690): internal AI-assistant tooling — a read-only check-server-status skill, an enforced issue Status-label lifecycle, committed agent ground rules (single issue tracker, GitLab-MCP-only), and a multi-repo create-release workflow. No in-game effect.
    14 downloads
  10. 8.27.1v8.27.1Jun 10, 2026

    V8.27.1

    Features

    - [#651](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/679): new /lasers stats resetProgress commands 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 a confirm keyword; 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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/635) / [#265](https://gitlab.com/lasersenigma/lasersenigma/-/issues/265): beta test server automation. Each push to main deploys the latest in-development build to the beta test server and posts an announcement to the #beta-test Discord channel (changelog diff since the last release + server IP beta.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 with proxy-protocol: true to match its behind-proxy setup (the public pack keeps false), and is tagged with a red [BETA] MOTD in the server list. - [#641](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/646): the LE Play levels export (now also including each room's parent — lobby or parent room) moved from the buildLEPlayRoomsCsv development Gradle task to the live /. export csv creator command; the Gradle task and its run configuration have been removed. - [#655](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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.kts tasks (createIssue, editIssue, fetchMrComments) have been removed and the GitLab token moved from the gitlabToken Gradle property to the GITLAB_PERSONAL_ACCESS_TOKEN environment variable. - new [Issue management](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/Deve… wiki page documenting the allowed labels and cardinality rules for GitLab issues. - [#680](https://gitlab.com/lasersenigma/lasersenigma/-/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 PlayerTryToResizeAreaEvent is fired right before a resize is applied (once it has passed LasersEnigma's own validation). Cancelling it aborts the resize — nothing is persisted, no AreaResizedEvent is 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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/679): a new PlayerProgressResetEvent is 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.
    12 downloads
  11. 8.27.0v8.27.0May 24, 2026

    V8.27.0

    Features

    - [#579](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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](https://gitlab.com/lasersenigma/lasersenigma/-/issues/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.
    35 downloads
  12. 8.26.1v8.26.1May 23, 2026

    V8.26.1

    Features

    - [#510](https://gitlab.com/lasersenigma/lasersenigma/-/issues/510): new [competitive race builder](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… — admins can now assemble a ready-to-run competitive event in their own world from published LasersEnigma puzzles, with no command blocks, no in-world buttons and no hand-wired transition logic. - configure a build with /lasers race: create a named build, add levels by name (autocompleted from the website catalog), reorder/remove them, pick players-per-copy (solo / duo / trio) and the number of side-by-side copies (1–100), all from a builder menu. - /lasers race generate <name> validates the footprint, places the spawn and the first copy, then dispenses a wand that lets the admin define each level's exit teleporter in-world; /lasers race continue <name> replicates the wired-up copy across every other copy. - players discover available events with /lasers race list, reach the spawn with /lasers race tp <name>, and lock a copy by walking into its airlock (SAS) with the right number of non-spectator players. /lasers race start <name> opens a timed run with per-group chronos and a per-player sidebar showing every group's current level. - copies stay reserved for their group for the whole run: a player who logs off, dies or runs tp <name> automatically resumes at their group's current level on next join, respawn or tp. Late joiners are auto-started. A run can be ended early with /lasers race stop <name>, which cancels it and sends everyone back to the spawn while leaving the build ready for another start; a stuck run can also be cleared (wiping the structure back to DRAFT) with /lasers race reset <name> confirm. - past run times are queryable by anyone via /lasers race results <name> [run] [page]; run history is preserved across start calls. - /lasers race delete <name> confirm and /lasers race reset <name> confirm clean up the structure (teleporting any occupants out first) — the former drops the configuration and history, the latter keeps them for re-generation. - [#586](https://gitlab.com/lasersenigma/lasersenigma/-/issues/586): - placing a Mirror Chest now immediately opens its content edition menu, removing one click before you can configure the mirrors it provides. - the color picker pages have been reorganized — page 1 now shows the white mirror followed by the three primary colors (red, green, blue); page 2 shows the three secondary colors (yellow, magenta, cyan) followed by the black mirror. - [#630](https://gitlab.com/lasersenigma/lasersenigma/-/issues/630): - activated Emancipation Grids now render as a continuous wall of small stained-glass tiles aligned with the plane (replacing the previous moving line animation). Each tile tilts up to 90&deg; around an in-plane axis as a player or a cube comes within 3 blocks of it, making the surface ripple where the threat is. When several effects are active, tiles slowly swap colours over time while preserving the overall colour proportions, keeping the wall visually alive. - a low ambient sound is now played to players standing within 2 blocks of an active Emancipation Grid (per-player 10-second cooldown). Disable via the new emancipation_grid_ambient_sound config flag. - placing an Emancipation Grid larger than 100 in-plane blocks is now rejected with a translated chat message. - [#611](https://gitlab.com/lasersenigma/lasersenigma/-/issues/611): while the rotation shortcut bar is open, right-clicking another rotatable component (mirror, laser sender, laser receiver, concentrator, gravitational sphere) within 5 blocks now re-targets the shortcut bar onto that component instead of closing it. When the new target is of the same type as the previous one, the rotation is applied to it in the same click.

    Fixes

    - [#633](https://gitlab.com/lasersenigma/lasersenigma/-/issues/633): schematics whose name contains spaces or special characters (e.g. Color Mixing #2, Bifröst) can be downloaded again with /lasers schematic download and added to a race with /lasers race addLevel. The download URL is now correctly percent-encoded, and tab-completion wraps names containing spaces in double quotes so they are inserted as a single argument. - [#627](https://gitlab.com/lasersenigma/lasersenigma/-/issues/627): area leaderboards no longer show players who have only won a level in multi-player as record holders on the "fastest time", "fewest actions" and "fewest steps" rankings. - [#627](https://gitlab.com/lasersenigma/lasersenigma/-/issues/627): personal records for "fewest actions" and "fewest steps" are now correctly saved on every solo victory. Existing personal bests are repaired at server startup using the first solo victory of each player on each level. - [#629](https://gitlab.com/lasersenigma/lasersenigma/-/issues/629): plugin visual entities (Cube Pressure Plate displays, Emancipation Grid lines, laser beams, portals, area show outlines, rotation/resize previews) no longer leave duplicated phantoms behind after a server crash. Any phantom inherited from a previous server run is also cleaned up automatically at the next server start. - many in-game messages that embed a value (command argument errors, area overlap/resize errors, component-info command feedback, key and lock hints, mirror/component rotation toggles, and component-cleanup warnings) now display that value correctly instead of a raw {0}/{1} placeholder.
    37 downloads
  13. 8.26.0v8.26.0May 13, 2026

    V8.26.0

    Features

    - [#536](https://gitlab.com/lasersenigma/lasersenigma/-/issues/536): new Emancipation Grid component — a Portal-inspired barrier that can destroy cubes, destroy portals, and either kill or teleport players who walk through it. Four independent behavior checkboxes with mutual exclusion between Death and Teleport, configurable through the component menu and shortcut bar.
    43 downloads
  14. 8.25.1v8.25.1May 10, 2026

    V8.25.1

    Features

    - [#618](https://gitlab.com/lasersenigma/lasersenigma/-/issues/618): when another player enters a puzzle while you are running it, you now receive a chat message telling you who entered and that your run will no longer be eligible for records.

    Fixes

    - [#624](https://gitlab.com/lasersenigma/lasersenigma/-/issues/624): a cube sitting on a Cube Pressure Plate once again blocks lasers (and, for concentrator cubes, re-emits the absorbed laser in its facing direction). - [#625](https://gitlab.com/lasersenigma/lasersenigma/-/issues/625): rapidly re-pressing a Cube Creation Button while the cube was still appearing no longer leaves a stuck barrier block under the distributor. - [#626](https://gitlab.com/lasersenigma/lasersenigma/-/issues/626): a held cube can no longer pass through walls or ceilings — when something is in the way, the cube now hovers right in front of the obstacle instead of slipping behind it.
    24 downloads
  15. 8.25.0v8.25.0May 10, 2026

    V8.25.0

    Features

    - [#616](https://gitlab.com/lasersenigma/lasersenigma/-/issues/616): new Cube Pressure Plate component — a plugin-side pressure plate that activates when a cube lands on it (or, optionally, when a player walks on it). Powers the surrounding redstone like a vanilla plate, and integrates with the conditions system through a new "pressure plate" condition mode.
    17 downloads
  16. 8.24.1v8.24.1May 10, 2026

    V8.24.1

    Fixes

    - [#535](https://gitlab.com/lasersenigma/lasersenigma/-/issues/535): pressing a button, moving an elevator and grabbing a cube now count as actions in the area stats.
    22 downloads
  17. 8.24.0v8.24.0May 10, 2026

    V8.24.0

    Features

    - [#535](https://gitlab.com/lasersenigma/lasersenigma/-/issues/535): new [Cube Distributor](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… and [Cube Creation Button](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… components — distributors placed on a ceiling can dispense physical [cubes](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… (standard cubes that block lasers, or cube concentrators that re-emit a merged-color laser in their facing direction). Players can grab a cube, carry it in front of them, and drop it back to solve puzzles. Cubes fall under custom gravity, traverse plugin portals, and pistons cannot move them. - [Elevator Call Buttons](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… and [Cube Creation Buttons](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… can now be triggered by a redstone signal in addition to right-clicking. Each rising edge of the signal presses the button once, behaving like a vanilla button.

    Fixes

    - [#617](https://gitlab.com/lasersenigma/lasersenigma/-/issues/617): scheduled actions on a component (rotation, color, sphere resize) are now preserved when copying the component to your clipboard or saving an area as a schematic.
    24 downloads
  18. 8.23.2v8.23.2May 6, 2026

    V8.23.2

    Fixes

    - [#607](https://gitlab.com/lasersenigma/lasersenigma/-/issues/607): - The Music Block song list is now sorted alphabetically, so next/previous song cycling behave the same everywhere. - Editing a Music Block (next/previous song, toggle loop, toggle stop on exit) no longer starts the song while the block is not activated. - Rapidly switching songs on a Music Block no longer leaves a previous song playing in the background, and the "stop on area exit" option once again stops every song the block has triggered.
    20 downloads
  19. 8.23.1v8.23.1May 3, 2026

    V8.23.1

    Fixes

    - [#603](https://gitlab.com/lasersenigma/lasersenigma/-/issues/603): the edition shortcut bar now hides items that only work inside an area (place component, sync, copy, configure, stats) when you are standing outside an area. - [#598](https://gitlab.com/lasersenigma/lasersenigma/-/issues/598): Being alone as a spectator inside a puzzle area no longer slowly grows the server entity count. Server memory is now released cleanly when puzzle areas empty, keeping memory usage bounded over long uptime.
    22 downloads
  20. 8.23.0v8.23.0May 1, 2026

    V8.23.0

    Features

    - [#591](https://gitlab.com/lasersenigma/lasersenigma/-/issues/591): the /lasersenigma stats area command is now available to all players, shows the best holder for every ranking criterion (time, steps, actions, bonus, victories, entries…), and accepts an optional criterion argument to display the top 10 for that criterion.

    Fixes

    - [#600](https://gitlab.com/lasersenigma/lasersenigma/-/issues/600): the /lasersenigma component color and /lasersenigma component mirror place commands now show a clear error when the targeted component refuses the chosen color (for example black on a filtering or reflecting sphere) instead of failing silently.
    18 downloads
  21. 8.22.3v8.22.3May 1, 2026

    V8.22.3

    Technical changes

    - [#597](https://gitlab.com/lasersenigma/lasersenigma/-/issues/597): faster documentation site updates with no downtime during deployment.

    Fixes

    - [#588](https://gitlab.com/lasersenigma/lasersenigma/-/issues/588): Component entity duplicates no longer occur, including in spawn chunks and after a server crash. - [533](https://gitlab.com/lasersenigma/lasersenigma/-/issues/533) Fix documentation website generation: - Fix duplicate title showing on some documentation pages. - Fix duplicate entries in the documentation sidebar where a category and its landing page were both listed. - Fix raw {width=... height=...} text leaking next to some images on documentation pages. - Move the Home page to the top of the documentation sidebar. - Reduce documentation site weight by compressing wiki images and converting heavy GIF animations to MP4 video. - Fix some documentation links jumping out to GitLab instead of navigating within the documentation site. - Hide community puzzle solutions from the documentation site (they remain available on the GitLab wiki). - Add a banner at the top of the documentation site promoting the public play server. - Show live play server status (online players, MOTD) on the documentation home page.
    21 downloads
  22. 8.22.2v8.22.2Apr 28, 2026

    V8.22.2

    Features

    - [533](https://gitlab.com/lasersenigma/lasersenigma/-/issues/533) Automatically upload documentation on website (using docusaurus and gitlab ci).
    24 downloads
  23. 8.22.1v8.22.1Apr 27, 2026

    V8.22.1

    Fixes

    - [#589](https://gitlab.com/lasersenigma/lasersenigma/-/issues/589) Portal physics improvements: - Walking or sprinting through a portal at low speed now feels natural — no more catapult, the speed you put in is the speed you get out. - The horizontal momentum boost after a portal teleportation no longer occasionally fizzles out, so consecutive portal jumps reliably keep their flight. - The in-game notification of new plugin versions now correctly fires whenever a newer release is available. - Two floor portals placed flat on the ground now reliably yo-yo a falling player back and forth without occasionally getting stuck on landing.
    17 downloads
  24. 8.22.0v8.22.0Apr 26, 2026

    V8.22.0

    Features

    - [#583](https://gitlab.com/lasersenigma/lasersenigma/-/issues/583): Elevators now reliably reset to the ground floor when a puzzle is (re)activated, including after a server crash. - [#583](https://gitlab.com/lasersenigma/lasersenigma/-/issues/583): Admins can refresh the stored cage layout of an elevator with /le component elevator resnapshot <x> <y> <z> or in a GUI button after redecorating it.

    Fixes

    - [#583](https://gitlab.com/lasersenigma/lasersenigma/-/issues/583): Elevators no longer break blocks having metadata (redstone torches, redstone wire, levers, buttons, signs…) while moving between floors. - [#584](https://gitlab.com/lasersenigma/lasersenigma/-/issues/584): Deleting a Lock now cleanly removes its Key Chests, leaving no invisible leftover blocks and no phantom keys preventing recreation. - [#582](https://gitlab.com/lasersenigma/lasersenigma/-/issues/582): Music Block component menus open correctly again, and Music Blocks now use a newer version of the song-playback library (NoteBlockAPI 1.7.0), bringing upstream fixes and compatibility improvements.

    Technical changes

    - [#588](https://gitlab.com/lasersenigma/lasersenigma/-/issues/588): Plugin memory usage no longer slowly grows over time — whether from players walking around puzzle areas, long-running puzzles with many mirrors, reflecting spheres and prisms, or lasers travelling through gravitational spheres — reducing GC pressure on busy servers. - [#588](https://gitlab.com/lasersenigma/lasersenigma/-/issues/588): Database queries no longer repeatedly reopen the connection behind the scenes, cutting memory allocations and CPU overhead on chunk loads and frequent lookups. - [#588](https://gitlab.com/lasersenigma/lasersenigma/-/issues/588): Loading chunks near puzzle areas no longer briefly stutters while the plugin cleans up leftover blocks from a previous server crash.
    20 downloads
  25. 8.21.0v8.21.0Apr 23, 2026

    V8.21.0

    Features

    - [#576](https://gitlab.com/lasersenigma/lasersenigma/-/issues/576): /le stats area now shows the name of the player who holds each record (best time, fewest steps, fewest actions, most bonus). - [#577](https://gitlab.com/lasersenigma/lasersenigma/-/issues/577): Concentrators can now be selected as solidifier targets — when a solidifier targets an active concentrator, the laser the concentrator emits lays down colored glass just like a solidified laser sender does.

    Fixes

    - [#578](https://gitlab.com/lasersenigma/lasersenigma/-/issues/578): Two lasers crossing on a solidifier now keep the first laser's glass color and filter the second laser instead of blending into a merged color; simultaneous arrivals still fuse as before. - [#580](https://gitlab.com/lasersenigma/lasersenigma/-/issues/580): Interactions with levers, buttons, doors, trapdoors, fence gates, chests, pressure plates and tripwires inside a puzzle area are now counted in the area action statistics. - [#581](https://gitlab.com/lasersenigma/lasersenigma/-/issues/581): A laser hitting the diagonal corner between two mirror blocks now always bounces back in every direction, and a laser striking the seam between two adjacent mirror blocks always reflects off the combined wall instead of disappearing.
    15 downloads
  26. 8.20.0v8.20.0Apr 22, 2026

    V8.20.0

    Features

    - [#575](https://gitlab.com/lasersenigma/lasersenigma/-/issues/575): Admins can now delete portals at a specific block with /le portal delete location <x> <y> <z> or within a region with /le portal delete cuboid <x1> <y1> <z1> <x2> <y2> <z2>. - [#575](https://gitlab.com/lasersenigma/lasersenigma/-/issues/575): The old /le portal reset <player> command is renamed to /le portal delete player <player>.
    13 downloads
  27. 8.19.0v8.19.0Apr 22, 2026

    V8.19.0

    Features

    - [#412](https://gitlab.com/lasersenigma/lasersenigma/-/issues/412) [#422](https://gitlab.com/lasersenigma/lasersenigma/-/issues/422) [#470](https://gitlab.com/lasersenigma/lasersenigma/-/issues/470) Commands now accept Minecraft selectors (@a, @p, @e[...]) and relative coordinates (~ and ^), and participate correctly in /execute at|as chains.

    Fixes

    - [#565](https://gitlab.com/lasersenigma/lasersenigma/-/issues/565): Lime concrete powder now reflects green lasers just like green concrete powder, matching the color of the laser beam. - [#565](https://gitlab.com/lasersenigma/lasersenigma/-/issues/565): Lime concrete powder is now the default block when picking the green color for a mirror component.
    19 downloads
  28. 8.18.5v8.18.5Apr 22, 2026

    V8.18.5

    Fixes

    - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): Walking into a portal is more forgiving — oblique, off-center and edge approaches reliably trigger teleportation. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): A player always exits a portal perpendicular to its surface at the speed they entered with, so aerial trajectories are predictable regardless of entry angle. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): Players always land at the exact center of the destination portal, so two portals facing each other produce a stable aerial loop that repeats identically. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): Horizontal air drag no longer slows the player down during the flight between two portals, preventing aerial loops from decaying over successive bounces. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): Small variations in entry speed are smoothed so consecutive portal jumps in the same setup land at the same spot. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): The camera no longer rotates when traversing face-to-face portal pairs (opposite walls, floor↔ceiling, or a mirrored 45° loop), keeping the view stable during aerial loops. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): 45° portals rotate the camera like vertical walls, so the view never tilts along the slope. - [#566](https://gitlab.com/lasersenigma/lasersenigma/-/issues/566): Switching to creative or spectator flight mid-jump now correctly ends the portal-induced physics boost.
    16 downloads
  29. 8.18.4v8.18.4Apr 21, 2026

    V8.18.4

    Fixes

    - [#193](https://gitlab.com/lasersenigma/lasersenigma/-/issues/193): A Conditional Redstone Block that was only activated because a laser was hitting a receiver now correctly turns back to coal when the area auto-deactivates, instead of remaining as redstone.
    16 downloads
  30. 8.18.3v8.18.3Apr 21, 2026

    V8.18.3

    Fixes

    - [#193](https://gitlab.com/lasersenigma/lasersenigma/-/issues/193): A Conditional Redstone Block (and every other conditional component) whose condition is still met when the puzzle area auto-deactivates now keeps its activated state, so a block configured to turn into redstone once the last player has left the area correctly stays as redstone.
    15 downloads
  31. 8.18.1v8.18.1Apr 19, 2026

    V8.18.1

    Fixes

    - [#556](https://gitlab.com/lasersenigma/lasersenigma/-/issues/556): Portals can now be placed on a quartz surface even when a Laser Solidifier has solidified stained glass in the air space in front of it. - [#563](https://gitlab.com/lasersenigma/lasersenigma/-/issues/563): Players can now enter a floor portal while standing on a solidified glass block placed just above it by crouching (sneak) and walking into it. - [#563](https://gitlab.com/lasersenigma/lasersenigma/-/issues/563): The approach block of a portal traversed by a solidified laser now correctly becomes stained glass instead of being left as air. - [#563](https://gitlab.com/lasersenigma/lasersenigma/-/issues/563): A solidified laser now correctly traverses a portal placed later on its path, instead of being stopped by the stained glass that was already there. - [#563](https://gitlab.com/lasersenigma/lasersenigma/-/issues/563): A player teleporting through a portal whose exit is on the path of a solidified laser now arrives on top of the glass block instead of inside it. - [#563](https://gitlab.com/lasersenigma/lasersenigma/-/issues/563): Jumping up into a ceiling portal now teleports the player as soon as their head reaches the portal surface, even when the room below is tall enough that the feet never reach the portal plane.
    13 downloads
  32. 8.18.0v8.18.0Apr 19, 2026

    V8.18.0

    Features

    - [#552](https://gitlab.com/lasersenigma/lasersenigma/-/issues/552): Portals can now be placed on the 45° slope of correctly-positioned quartz stairs. - [#551](https://gitlab.com/lasersenigma/lasersenigma/-/issues/551): Portals can now also be placed on Smooth Quartz and Smooth Quartz Stairs. - [#550](https://gitlab.com/lasersenigma/lasersenigma/-/issues/550): Conditional Appearing/Disappearing Blocks made of quartz now work as portal surfaces, and any portal placed on one is removed when the block disappears. - [#550](https://gitlab.com/lasersenigma/lasersenigma/-/issues/550): Conditional Appearing and Disappearing Blocks can now be created from an existing block, copying its exact shape and orientation (stairs, logs, slabs, fences, ...). - [#561](https://gitlab.com/lasersenigma/lasersenigma/-/issues/561): Added the /lasers portal reset <player> command to destroy a player's active portals (does not support @selectors yet).

    Fixes

    - [#546](https://gitlab.com/lasersenigma/lasersenigma/-/issues/546): Fixed the first laser segment being sometimes invisible when entering a puzzle area.
    16 downloads
  33. 8.17.1v8.17.1Apr 18, 2026

    V8.17.1

    Fixes

    - [#539](https://gitlab.com/lasersenigma/lasersenigma/-/issues/539): Fixed a Mirror Chest containing only a Portal Gun (no mirrors) being reloaded with a spurious WHITE mirror added back. - [#193](https://gitlab.com/lasersenigma/lasersenigma/-/issues/193): Fixed a bug related to the combination of Min condition met duration with Permanently Enabled Condition mode.
    12 downloads
  34. 8.17.0v8.17.0Apr 18, 2026

    V8.17.0

    Features

    - [#193](https://gitlab.com/lasersenigma/lasersenigma/-/issues/193): Added two configurable durations (in ticks, 0–999) to every detection component and to area victory conditions: - Min condition met duration: the condition must be continuously met for this many ticks before the component activates (or the area victory is granted). - Min state hold duration: once the effective state flips, it cannot flip again until this many ticks have elapsed — prevents rapid toggling. - Both values are editable through a new sub-menu accessible from the conditions menu (component and area) via a clock icon in the bottom-right corner. - Effective (delayed) activation state is now exposed by IDetectionComponent#isActivated(); the new isConditionMet() method returns the raw underlying condition. Events (ConditionalComponentActivationEvent / ConditionalComponentDeactivationEvent, AreaWinConditionsReachedEvent) and visual updates all respect the delayed state.
    13 downloads
  35. 8.16.1v8.16.1Apr 16, 2026

    V8.16.1

    Fixes

    - [#526](https://gitlab.com/lasersenigma/lasersenigma/-/issues/526): Fixed laser not passing through portals placed on SOUTH, EAST, or UP-facing surfaces. The 0.5-block laser movement step could skip the air-side detection zone entirely and hit the quartz surface block, preventing teleportation. Laser portal detection now also triggers on block-hit events and uses a wider detection zone along the normal axis.
    10 downloads
  36. 8.16.0v8.16.0Apr 15, 2026

    V8.16.0

    Features

    - [#526](https://gitlab.com/lasersenigma/lasersenigma/-/issues/526): Added the Portal Gun and Portal Surface system. - Portal Gun: A new item (enchanted shears) that can be obtained from a Mirror Chest. Left click places a blue portal, right click places an orange portal. - Portal Surface: A new placeable block (quartz block) that serves as a valid surface for portal placement. Available in the component selector menu. - Mirror Chest Portal Gun toggle: Mirror Chests can now optionally contain a Portal Gun. A new toggle in the content editor menu lets puzzle creators enable or disable it. - Portal placement: Ray tracing from the player's eye detects Portal Surfaces within 75 blocks. Portals are rendered as ~8 BlockDisplay entities forming an elliptical shape (1.8×0.8 blocks). Automatic clamping adjusts placement near surface edges, and overlap with existing portals is prevented. - Multi-player color pairs: Each player is assigned a unique color pair (up to 6 players per area) so portals are visually distinguishable. - Player teleportation: Walking through a portal teleports the player to the linked portal while conserving momentum (speed and direction are transformed based on portal orientations). Anti-bounce protection uses a hybrid approach (temporal cooldown + positional immunity). - Laser teleportation: Lasers entering a portal are teleported to the linked portal, preserving color, light level, and direction (transformed to match exit orientation). Infinite laser loops between facing portals are naturally bounded. - Portal lifecycle: Portals are automatically destroyed when the player leaves the area, disconnects, loses the Portal Gun, or when the surface/front blocks are broken or obstructed. Area reset clears all portals. - Sound effects: Distinct sounds for portal portal creation (fail or success), and player teleportation. - Custom events: BeforePlayerPortalTeleportEvent (cancellable) and AfterPlayerPortalTeleportEvent (informational) for third-party plugin integration. - Component Selection: Reorganized the component selector menu into a 4×9 layout.

    Fixes

    - [#534](https://gitlab.com/lasersenigma/lasersenigma/-/issues/534): Fixed duration-based leaderboards (total time spent, record duration, first run won duration) being incorrectly sorted.
    16 downloads
  37. 8.15.0v8.15.0Apr 14, 2026

    V8.15.0

    Features

    - [#524](https://gitlab.com/lasersenigma/lasersenigma/-/issues/524): Mirror Chests can now contain mirrors of multiple colors and quantities. A new paginated menu lets you configure each color independently.
    9 downloads
  38. 8.14.3v8.14.3Apr 12, 2026

    V8.14.3

    Fixes

    - [#522](https://gitlab.com/lasersenigma/lasersenigma/-/issues/522) [#219](https://gitlab.com/lasersenigma/lasersenigma/-/issues/219): Fixed pistons unable to extend when laser light blocks were in their path. Light blocks placed by lasers are now cleared from the piston's extension path when it receives redstone power.
    13 downloads
  39. 8.14.2v8.14.2Apr 12, 2026

    V8.14.2

    Fixes

    - [#523](https://gitlab.com/lasersenigma/lasersenigma/-/issues/523): Fixed laser solidifier producing incorrect glass colors when a laser sender changes color (e.g. via scheduled color change). Stale glass from the previous tick no longer filters the new particles before solidification updates.
    11 downloads
  40. 8.14.1v8.14.1Apr 12, 2026

    V8.14.1

    Fixes

    - [#512](https://gitlab.com/lasersenigma/lasersenigma/-/issues/512): Fixed rare case where temporary colored glass blocks created by laser solidifier caused laser segmentation. - Fixed memory leak where areas loaded by commands or editor interactions were not unloaded from memory.
    11 downloads
  41. 8.14.0v8.14.0Apr 10, 2026

    V8.14.0

    Features

    - [#516](https://gitlab.com/lasersenigma/lasersenigma/-/issues/516): Improved area resize experience. - Added /le resize set <minX> <minY> <minZ> <maxX> <maxY> <maxZ> subcommand with adaptive tab-completion. - The editor shortcut bar now shows a dynamic Create / Delete button depending on whether you are inside an area. - New Resize tool in the editor shortcut bar: hold it to see nearby areas, then right-click a corner to drag it. The bounding box updates in real-time and turns red if the resize would cause issues (component outside area or overlap).
    9 downloads
  42. 8.13.1v8.13.1Apr 8, 2026

    V8.13.1

    Technical

    - [#521](https://gitlab.com/lasersenigma/lasersenigma/-/issues/521) Added AreaPlayerStatsRepository.findSolvedAreaIdsByPlayer(UUID, Set<Integer>): efficient batch SQL query returning the set of area IDs a player has won (nb_victories > 0), used by LEPlayServerUtils to find the first unsolved puzzle.

    V8.13.0

    Features

    - [#227](https://gitlab.com/lasersenigma/lasersenigma/-/issues/227): - Added built-in translations for 24 languages: Chinese (zh), Hindi (hi), Spanish (es), French (fr), Arabic (ar), Bengali (bn), Russian (ru), German (de), Korean (ko), Portuguese (pt), Japanese (ja), Turkish (tr), Polish (pl), Italian (it), Dutch (nl), Swedish (sv), Czech (cs), Ukrainian (uk), Greek (el), Danish (da), Finnish (fi), Norwegian (no), Hungarian (hu), Romanian (ro). - Added /le lang <language> command to change your display language in-game. Available to all players, with tab-completion. - Added unused translation automatic deletion (Updated translation-lib and itemlib dependencies)

    Fixes

    - [#519](https://gitlab.com/lasersenigma/lasersenigma/-/issues/519): Fixed mirror containers (FilteringSphere, ReflectingSphere, MirrorSupport) getting a ghost black mirror after clipboard paste or schematic load when they originally had no mirror.
    14 downloads
  43. 8.12.7v8.12.7Apr 6, 2026

    V8.12.7

    Fixes

    - [#514](https://gitlab.com/lasersenigma/lasersenigma/-/issues/514): Added database migration to drop the obsolete linked_area_id column for servers that installed the plugin with the buggy CREATE TABLE statement (between 8.0.0 and 8.12.5).
    11 downloads
  44. 8.12.6v8.12.6Apr 6, 2026

    V8.12.6

    Fixes

    - [#514](https://gitlab.com/lasersenigma/lasersenigma/-/issues/514): Fixed area creation failing on fresh databases due to the obsolete linked_area_id NOT NULL column still present in the CREATE TABLE statement.

    V8.12.5

    Fixes

    - [#502](https://gitlab.com/lasersenigma/lasersenigma/-/issues/502): Fixed range infinity transition: increasing max beyond the maximum range value now correctly switches to ∞ for both +1 and +10 buttons, in both area victory conditions and component conditions.
    12 downloads
  45. 8.12.4v8.12.4Apr 2, 2026

    V8.12.4

    Fixes

    - [#499](https://gitlab.com/lasersenigma/lasersenigma/-/issues/499): Fixed laser beam flickering and segmentation occurring in various situations, mainly when 2 mirrors are next to each other.
    11 downloads
  46. 8.12.3v8.12.3Mar 31, 2026

    V8.12.3

    Fixes

    - [#446](https://gitlab.com/lasersenigma/lasersenigma/-/issues/446): Fixed a bug about laser segment color merging when lasers where going in opposite directions.
    18 downloads
  47. 8.12.2v8.12.2Mar 31, 2026

    V8.12.2

    Technical changes

    - [#497](https://gitlab.com/lasersenigma/lasersenigma/-/issues/497): Schematic export no longer requires a player to be online. This allows external tools and scheduled tasks to generate .leschem files automatically.
    17 downloads
  48. 8.12.1v8.12.1Mar 31, 2026

    V8.12.1

    Technical changes

    - [#497](https://gitlab.com/lasersenigma/lasersenigma/-/issues/497): Improved the schematics website api to show the last modification date of each puzzle. Automated deployment of all www files via CI/CD.
    6 downloads
  49. 8.12.0v8.12.0Mar 30, 2026

    V8.12.0

    Features

    - [#496](https://gitlab.com/lasersenigma/lasersenigma/-/issues/496): Download community puzzles directly in-game with /lasers schematic download <name>. Tab-completion suggests all available schematics from the [Lasers-Enigma website](https://lasers-enigma.eu/schematics/).
    12 downloads
  50. 8.11.1v8.11.1Mar 28, 2026

    V8.11.1

    - [#492](https://gitlab.com/lasersenigma/lasersenigma/-/issues/492): Fix navigation items in material selection menu.
    12 downloads
  51. 8.11.0v8.11.0Mar 27, 2026

    V8.11.0

    Features

    - [#427](https://gitlab.com/lasersenigma/lasersenigma/-/issues/427): Component synchronization. - Puzzle creators can now synchronize two compatible components so that a player action on one is automatically replicated on the other. - Supported sync types: horizontal rotation, vertical rotation, mirror placement/removal, and gravitational sphere size. - Presets allow creating multiple sync types at once (e.g. "All rotations", "Mirror + All rotations"). - N-way propagation: when syncing two components that are already linked to others, the plugin offers to extend the sync to the entire group in one click. - New Sync Tool in the editor hotbar: hold it and right-click a component to manage its syncs. - Syncs can also be accessed from the component menu (🔗 button). - A chain visualization connects synced components when the Sync Tool is held, with labels showing the active sync types. - Editor actions are never propagated — only player and command actions trigger synchronization.

    Fixes

    - [#350](https://gitlab.com/lasersenigma/lasersenigma/-/issues/350): Fixed a bug preventing left clicking a mirror when the invisible armor stand holding the mirror or the mirror support is between the player and the component.

    Technical changes

    - [#427](https://gitlab.com/lasersenigma/lasersenigma/-/issues/427): - New component/sync/ package (service, manager, repository, events, UI). - New component_sync database table with migration. - New ActionCause.SYNC to prevent propagation loops and ActionCause.EDITOR to prevent puzzle editors from triggering sync. - Refactored per-player entity display rendering into a shared base for both synchronization and rotation preview features.
    7 downloads
  52. 8.10.0v8.10.0Mar 26, 2026

    V8.10.0

    Features

    - [#486](https://gitlab.com/lasersenigma/lasersenigma/-/issues/486): [Conditional appearing](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… and [disappearing](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… blocks now support material selection. The chosen material is used as the visual block and also determines how the block interacts with laser beams (e.g. concrete powder reflects, stained glass filters color, transparent materials let the laser pass).

    Technical changes

    - Add a new gradle task buildLEPlayRoomsCsv and the corresponding shared run configuration 📋 buildLEPlayRoomsCsv. It parses the LEPlayServerUtils config.json and exports all portal rooms (order, description, difficulty, tags) to a CSV file under build/buildLEPlayRoomsCSV/. - [#487](https://gitlab.com/lasersenigma/lasersenigma/-/issues/487): Refactoring of the entity display mode. Improving performance and indirectly fixing a few bugs including the [#440](https://gitlab.com/lasersenigma/lasersenigma/-/issues/440) related to a gap between components and lasers start.
    7 downloads
  53. 8.9.1v8.9.1Mar 22, 2026

    V8.9.1

    Fixes

    - [#484](https://gitlab.com/lasersenigma/lasersenigma/-/issues/484): Fix for Arclight compatibility (workaround for NoSuchMethodError related to net.kyori.adventure Component API).

    V8.9.0

    Features

    - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Added "[Specific Component State](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g…" [detection mode](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… Conditional components and [area victory conditions](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… can now mirror the active/inactive state of another component, with an optional inversion toggle.

    Fixes

    - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Fixed dangling target sender references in [Laser Solidifier](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… when a targeted Laser Sender is deleted. - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Fixed schematic paste not remapping cross-component references (Laser Solidifier target senders, activable target). - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Fixed schematic paste losing area configuration properties (rotation permissions, checkpoint, victory conditions). - Fixed shortcut bar items being misidentified as their menu counterparts due to identical ItemStack traits. Item identification now uses PersistentDataContainer (PDC) tags for unique lookup. - Fixed IllegalPluginAccessException when the server stops while temporary blocks are being cleaned up. Database writes now execute synchronously during plugin shutdown.

    Technical changes

    - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Added IActivableComponent interface for components with an activation state. - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Added circular reference detection for component targeting chains. - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Added schematic cross-reference remapping mechanism for Laser Solidifier target senders and activable target component IDs. - [#471](https://gitlab.com/lasersenigma/lasersenigma/-/issues/471): Database migration: added target_activable_component_id and target_activable_inverted columns to component and area tables.
    7 downloads
  54. 8.8.0v8.8.0Mar 20, 2026

    V8.8.0

    Features

    - [#309](https://gitlab.com/lasersenigma/lasersenigma/-/issues/309): Rotatable components (laser senders, receivers, concentrators, mirror supports, bonuses) now automatically face toward the player when placed.

    Fixes

    - [#483](https://gitlab.com/lasersenigma/lasersenigma/-/issues/483): Fixed mirror not appearing on newly created mirror supports, filtering spheres, and reflecting spheres when selecting a color. - [#467](https://gitlab.com/lasersenigma/lasersenigma/-/issues/467): Fixed picking a component with middle click not working. Now works using a new button in the main shortcut bar. - [#310](https://gitlab.com/lasersenigma/lasersenigma/-/issues/310): Fixed the need to exit and re-enter the area after a clipboard paste. - Fixed a bug in ComponentSchematicMapper for laser receivers accepting any color.

    Technical changes

    - [#310](https://gitlab.com/lasersenigma/lasersenigma/-/issues/310): Added technical requirements to allow the [LEPSU plugin](https://gitlab.com/lasersenigma/le-play-server-utils) to copy a puzzle room.

    V8.7.1

    Fixes

    - [#477](https://gitlab.com/lasersenigma/lasersenigma/-/issues/477): Fixed scheduled actions changes not being saved when the player quickly leaves the area. - [#477](https://gitlab.com/lasersenigma/lasersenigma/-/issues/477): Fixed scheduled actions not starting immediately when defined (previously required exiting and re-entering the puzzle area). - [#481](https://gitlab.com/lasersenigma/lasersenigma/-/issues/481): Fixed NPE when hotbar or inventory is closed between a click and task execution.

    Technical changes

    - [#479](https://gitlab.com/lasersenigma/lasersenigma/-/issues/479): Added Gradle tasks for server pack generation: cleanupServer, sanitizeServer, createServerPackArchive, and generateServerPack. Added -PskipPatchSpigotYml and -PskipConfigureLog4j options to existing tasks. - [#480](https://gitlab.com/lasersenigma/lasersenigma/-/issues/480): Added CI/CD pipeline for automated server pack generation and publication. Added server pack download endpoint (download.php?type=server-pack).
    6 downloads
  55. 8.7.0v8.7.0Mar 19, 2026

    V8.7.0

    Features

    - [#410](https://gitlab.com/lasersenigma/lasersenigma/-/issues/410): Added passive ambient sound for active lasers. A low-volume beacon hum is played to players within 1.5 blocks of an active laser beam, looping every 10 seconds. Can be toggled via [laser_ambient_sound in config.yml (default: true)](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/Inst…

    Technical changes

    - [#410](https://gitlab.com/lasersenigma/lasersenigma/-/issues/410): Added PlaySoundEvent.getPlayer() returning Optional<Player> to support per-player sound events. Added SoundLauncher.playSoundToPlayer() for targeted sound playback.

    V8.6.1

    Technical changes

    - Added -PskipUpdateSpark Gradle property to skip the spark profiler download and deployment during setupDevEnvironment.
    10 downloads
  56. 8.6.0v8.6.0Mar 19, 2026

    V8.6.0

    Features

    - [#411](https://gitlab.com/lasersenigma/lasersenigma/-/issues/411): Added [/lasers info [<player>] command](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… This feature is intended for color blind players and educational purposes. - When holding the item given by this command and right-clicking inside a puzzle area, displays a summary in the chat for the targeted component or laser beam. - The feature can be toggled per-area via the [area configuration menu](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/In-g… - The feature can be toggled globally through [plugin's config.yml](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/Inst… component_info entry. - Admins can give the item directly to another player by specifying a target. - When right-clicking a colorable component or a laser beam, a color wheel (Venn diagram) is displayed as a virtual map in the game world, showing the color composition. The map disappears automatically when the player right-clicks, moves more than 2 blocks, or looks away. Requires the [MapEngine plugin](https://hangar.papermc.io/Minceraft/MapEngine) (optional: Falls back to chat-only mode).

    Technical changes

    - [#411](https://gitlab.com/lasersenigma/lasersenigma/-/issues/411): Added ColorWheelImageService: pre-generates language-specific Venn diagram PNG images at startup, overlaying translated color names on template images bundled in the JAR. Generated images are cached on disk in plugins/LasersEnigma/color-images/.
    4 downloads
  57. 8.5.0v8.5.0Mar 17, 2026

    V8.5.0

    Features

    - [#468](https://gitlab.com/lasersenigma/lasersenigma/-/issues/468): New component: Laser Solidifier. Places stained glass blocks at laser beam positions when activated; removes them when deactivated.

    Fixes

    - Multiple fixes related to temporary light block placement including an exception related to beginCycle.

    V8.4.3

    Technical changes

    - Added originSenderIds to LaserParticle to trace original laser senders through the full propagation chain. - Refactored Concentrator received laser buffer into a single unified structure. Fixed buffer shift data loss bug. - Internalized task lifecycle (startTask/cancelTask) into component activation/deactivation/deletion. ITaskComponent is now an empty marker interface. - Fixed BurnableBlock task leak on deactivation and deletion. - Removed dead code in LaserParticle and Concentrator.
    6 downloads
  58. 8.4.2v8.4.2Mar 17, 2026

    V8.4.2

    Fixes

    - [#475](https://gitlab.com/lasersenigma/lasersenigma/-/issues/475): Fixed light block deletion in case of server crash.

    Technical changes

    - gradle task patchServerConfigs: disable proxy-protocol in config/paper-global.yml for local development. - gradle task updatePaperJars: skip le-play server (production mirror). - gradle task patchServerConfigs, updatePaperJars: fail fast when expected files or config keys are missing. - add .editorconfig file to enforce consistent code formatting. - Generalization of the temporary block deletion system through the new TemporaryBlockService. It saves the location and type of blocks temporarily replaced by the plugin (e.g. light blocks along laser beams) and ensures their proper restoration after a server crash. - Fix database asynchronous access issues. - [#246](https://gitlab.com/lasersenigma/lasersenigma/-/issues/246): Prevent players from moving GUI/shortcutbar items using number keys (1-9). Items are now locked in place when in edition mode or when a shortcut bar is opened. - [#419](https://gitlab.com/lasersenigma/lasersenigma/-/issues/419): - lecomponentdeactivated <x;y;z;world> [only_first]: Triggered when a component is deactivated at a specific location. Optional parameter only_first (default: true) triggers only on the first deactivation since area activation /le area forceActivateById <areaId> - [#400](https://gitlab.com/lasersenigma/lasersenigma/-/issues/400) Refactor the redstone powering code (when activated laser receivers and locks power redstone wires around).
    9 downloads
  59. 8.4.1v8.4.1Mar 14, 2026

    V8.4.1

    Features

    - [#470](https://gitlab.com/lasersenigma/lasersenigma/-/issues/470): fix area reset for editors and players using spectators/creative gamemode.

    V8.4.0

    Features

    - [#355](https://gitlab.com/lasersenigma/lasersenigma/-/issues/355): Added "multicolor" option when creating a laser receiver.

    Technical changes

    - [#449](https://gitlab.com/lasersenigma/lasersenigma/-/issues/449): Add ways to retrieve efficiently the component count per component type per area for other plugins.

    V8.3.1

    Fixes

    - [#368](https://gitlab.com/lasersenigma/lasersenigma/-/issues/368): Hided unavailable scheduled actions in menu.
    7 downloads
  60. 8.3.0v8.3.0Mar 13, 2026

    V8.3.0

    Features

    - [#113](https://gitlab.com/lasersenigma/lasersenigma/-/issues/113): Copy components with middle click. The component can then be pasted using a new button inside the "create component" menu. - [#460](https://gitlab.com/lasersenigma/lasersenigma/-/issues/460): Added three new detection modes available for components and as area victory conditions: - Time: time elapsed since the first player entered the area, in seconds (range 0–999) - Bonus: number of unique bonuses collected during the current run in the area, among active players in the area (range 0–99) - Server Bonus: best number of unique bonuses confirmed by previous winning runs on the server, among active players in the area (range 0–99) - [#460](https://gitlab.com/lasersenigma/lasersenigma/-/issues/460): Added infinity as maximal range boundary. - [#460](https://gitlab.com/lasersenigma/lasersenigma/-/issues/460): Removed the Players mode from area victory conditions (still available for components). - [#460](https://gitlab.com/lasersenigma/lasersenigma/-/issues/460): Refactored the Component and Area Configuration menus: detection mode and range settings are now in dedicated Conditions sub-menus, freeing up slots in the main menus.

    Fixes

    - [#213](https://gitlab.com/lasersenigma/lasersenigma/-/issues/213): Fixed lasers passing through diagonal edges and 3D corners when blocks are placed corner-to-corner. The laser now interacts with edge blocks based on their type: glass blocks filter the laser color (merged when multiple), mirror blocks reflect the laser back (pure mirror edges only), glass panes are treated as passable (thin gap), and opaque blocks stop the laser.
    10 downloads
  61. 8.2.2v8.2.2Mar 12, 2026

    V8.2.2

    Fixes

    - [#464](https://gitlab.com/lasersenigma/lasersenigma/-/issues/464): Fixed a bug in setupDevEnvironment Gradle task where the detectMcVersion method was not correctly detecting the Minecraft version from the server jar filename, causing servers to end up with a wrong PaperMC version. Also improved factorization using a shared lib.
    8 downloads
  62. 8.2.1v8.2.1Mar 11, 2026

    V8.2.1

    Fixes

    - [#463](https://gitlab.com/lasersenigma/lasersenigma/-/issues/463): Updated NoteBlockAPI from 1.6.1 to 1.6.3 (for music block on 1.21).

    Technical changes

    - [#438](https://gitlab.com/lasersenigma/lasersenigma/-/issues/438): Automated local development environment setup. New Gradle task setupDevEnvironment chains: downloadServerArchive, cleanRunServers, extractServerArchives, updatePaperJars, bootstrapEmptyServers, patchServerConfigs, configureLog4j, updateLepsu, buildAndDeployBranches, verifyServers. Also added generateRemoteDebugConfig. All tasks support -PserverFilter=<name> to target specific servers. Shared IntelliJ run configurations added in .run/. Server targets are configured via SERVER_PLUGINS_DIRECTORIES in core/dev.properties. See the [Setup development environment](https://gitlab.com/lasersenigma/lasersenigma/-/wikis/Deve… wiki page.
    7 downloads
  63. 8.2.0v8.2.0Mar 10, 2026

    V8.2.0

    Features

    - [#450](https://gitlab.com/lasersenigma/lasersenigma/-/issues/450): Bonus components can now be rotated by puzzle makers in editor mode.
    9 downloads
  64. 8.1.1v8.1.1Mar 9, 2026

    V8.1.1

    Fixes

    - [#350](https://gitlab.com/lasersenigma/lasersenigma/-/issues/350): Fixed Mirror Support placed on a wall not responding to player clicks when another plugin cancels the interaction event on its armor stands. - [#452](https://gitlab.com/lasersenigma/lasersenigma/-/issues/452): Fixed shortcut bar / editor items remaining in the player's inventory after reconnecting following a server crash or restart. - [#432](https://gitlab.com/lasersenigma/lasersenigma/-/issues/432): Fixed light level configuration of laser senders/receivers not being persisted to the database, causing the value to reset when leaving a level. - [#432](https://gitlab.com/lasersenigma/lasersenigma/-/issues/432): Fixed light blocks never being placed along laser beams when using laser_display_mode=DISPLAY_ENTITY. - [#354](https://gitlab.com/lasersenigma/lasersenigma/-/issues/354): Fixed display entities (laser segments and merge overlay segments) and light blocks not being removed when deleting an area. Fixed ConcurrentModificationException when deleting an area containing linked components (Elevator/CallButton, Lock/KeyChest). Fixed Lock not removing KeyChests when they are in a different area (cross-area bug). Fixed crash (IllegalArgumentException) when entering an area linked to a deleted area due to stale linked area references. - [#444](https://gitlab.com/lasersenigma/lasersenigma/-/issues/444): Fixed burnable block material selection menu crashing with IllegalArgumentException because block-only materials (e.g. wall signs) cannot be represented as items. - [#414](https://gitlab.com/lasersenigma/lasersenigma/-/issues/414): Fixed laser receivers and burnable blocks not accepting certain valid color combinations (e.g. MAGENTA + CYAN for a WHITE receiver, or RED + RED + BLUE for a MAGENTA receiver). Color matching now decomposes all received colors into primary components before comparison.

    Technical changes

    - [#452](https://gitlab.com/lasersenigma/lasersenigma/-/issues/452): Removed unused isineditionmode and isrotationshortcutbaropened columns from playersinventories table. Added PRIMARY KEY on playeruuid. Removed LEPlayerInventory class. - The lasers-enigma play server now runs Minecraft 1.21.11. Updated CI/CD post-deploy rule to deploy the main tags (instead of the X.Y.Z-1.19.4-to-1.20.4 retro-compatibility versions).
    17 downloads
  65. 8.1.0v8.1.0Mar 9, 2026

    V8.1.0

    Features

    - [#453](https://gitlab.com/lasersenigma/lasersenigma/-/issues/453): The player rotation shortcut bar now closes automatically when the player looks away (>90°) from the component. - [#453](https://gitlab.com/lasersenigma/lasersenigma/-/issues/453): When a player or an editor selects a rotation button in the shortcut bar, a curved arrow (quarter-turn arc) made of Block Display Entities is shown around the component to preview the rotation direction. The arrow is only visible to the player (requires ProtocolLib). If the space around the component is obstructed by solid blocks, the arrow is not displayed. If ProtocolLib is not installed, the preview is silently disabled. This feature can be disabled via the rotation_preview config option (enabled by default).

    Technical changes

    - [#453](https://gitlab.com/lasersenigma/lasersenigma/-/issues/453): Added ProtocolLib as an optional dependency (softdepend) for per-player entity visibility. - [#453](https://gitlab.com/lasersenigma/lasersenigma/-/issues/453): Added a global ProtocolLib packet listener to block SPAWN_ENTITY packets for preview entities, preventing late-joining players from seeing them.
    11 downloads
  66. 8.0.3v8.0.3Mar 8, 2026

    V8.0.3

    Fixes

    - [#455](https://gitlab.com/lasersenigma/lasersenigma/-/issues/455): Fixed SQLite race condition caused by leaderboard, player join, and scheduled action DB queries running on async threads sharing a singleton connection. All three are now executed synchronously. - [#455](https://gitlab.com/lasersenigma/lasersenigma/-/issues/455): Fixed NullPointerException in LaserParticle.impact() and Area.getPlayersInsideArea() when no players are tracked for an area.
    8 downloads
  67. 8.0.2v8.0.2Mar 7, 2026

    V8.0.2

    Features

    - [#451](https://gitlab.com/lasersenigma/lasersenigma/-/issues/451): - Victory message now show much more information about the run. - Runs with multiple players are now marked as tainted — victory and bonuses are counted, but personal and puzzle records are not updated. A warning message is shown.

    Fixes

    - [#451](https://gitlab.com/lasersenigma/lasersenigma/-/issues/451): - Small bug fixes about exception in console that had no real impact on gameplay but were filling the logs.
    5 downloads
  68. 8.0.1v8.0.1Mar 7, 2026

    V8.0.1

    Features

    - [#336](https://gitlab.com/lasersenigma/lasersenigma/-/issues/336): Mirror retrieval and placement are now processed immediately instead of being deferred to the end of the animation, making mirror interactions feel faster and more responsive.

    Fixes

    - [#421](https://gitlab.com/lasersenigma/lasersenigma/-/issues/421): Fixed mirrors being duplicated or lost when placed on or retrieved from a component. Mirror inventory operations now go through the saved-inventory system symmetrically, and the result is checked before proceeding. If the player's inventory is full when receiving a mirror, the item is dropped at the nearest passable block.
    5 downloads
  69. 8.0.0v8.0.0Mar 7, 2026

    V8.0.0

    Breaking changes

    - [#223](https://gitlab.com/lasersenigma/lasersenigma/-/issues/223): Stats link/unlink feature has been removed.

    Features

    - [#223](https://gitlab.com/lasersenigma/lasersenigma/-/issues/223): New stats system with the following features: - New Bonus component — a chest that awards a bonus to a player only if the run is completed successfully. Bonuses are re-claimable each run but are persisted globally only once per player per component. - New /le stats player [playerName] command — displays a player's global statistics. Admin permission required to view another player's stats. - New /le stats server command — displays server-wide aggregated statistics. Requires lasers.admin. Available from console. - New /le stats area [id] command — displays aggregated statistics for a specific puzzle area. Requires lasers.admin. Resolves area by position if id is omitted (in-game only). - [#223](https://gitlab.com/lasersenigma/lasersenigma/-/issues/223): New Leaderboard component — displays a real-time ranked list of players as a floating Text Display inside a puzzle area. Features: - Two scopes: Area (ranks players on a specific puzzle) and Global (ranks across all areas). - Fifteen ranking criteria — Area scope: best time, fewest actions, fewest steps, most bonuses, most victories, most runs, most time spent, most steps, most actions; Global scope: areas won, total victories, most runs, most time spent, most steps, most actions, bonuses obtained. - Configurable number of displayed entries (3–10 lines). - Paginated area picker GUI to select the target area. - Refreshes automatically after each player victory. Offline player names are preserved via last_known_name stored on login.

    Technical changes

    - [#223](https://gitlab.com/lasersenigma/lasersenigma/-/issues/223): The new stats system also includes the following technical changes: - New stats data model: tables area_player_stats, player_global_stats, server_global_stats, server_global_stats_puzzle, bonus_obtained. Pre-computed aggregates kept in sync via GlobalStatsUpdateService on all relevant events. - Database migration 7.1.0 → 8.0.0: drops linked_area_id from area; drops playerstats table; adds leaderboard_criteria column to component; adds last_known_name column to player_global_stats. - New ATextDisplayComponent abstract base class for components using Text Display entities (same anti-duplication pattern as AArmorStandComponent). - New LeaderboardQueryService for fetching and formatting ranked data from the database. - ComponentCounterUpdateService extended with dirty-flag tracking to trigger leaderboard refreshes after player victories (via notifyAreaStatsUpdated / notifyGlobalStatsUpdated / flushLeaderboardRefresh / clearLeaderboardDirtyFlags). - Player last-known Minecraft name persisted on every PlayerJoinEvent via PlayerGlobalStatsRepository.updateLastKnownName.

    Fixes

    - [#305](https://gitlab.com/lasersenigma/lasersenigma/-/issues/305): Fixed a bug preventing area victory detection. - [#409](https://gitlab.com/lasersenigma/lasersenigma/-/issues/409): A player in spectator mode no longer triggers area activation/deactivation, player count change events, or player-based victory conditions.
    8 downloads
  70. 7.1.1v7.1.1Mar 6, 2026

    V7.1.1

    Fixes

    - [#434](https://gitlab.com/lasersenigma/lasersenigma/-/issues/434): Fixed exception while running /puzzle download. - [#222](https://gitlab.com/lasersenigma/lasersenigma/-/issues/222): Fixed puzzle room spawn location truncated & yaw pitch not modifiable.
    7 downloads
  71. 7.1.0v7.1.0Mar 1, 2026

    V7.1.0

    Features

    - [#343](https://gitlab.com/lasersenigma/lasersenigma/-/issues/343): Laser beams can now be displayed using Block Display Entities instead of Redstone particles, significantly improving performance. Configurable via laser_display_mode in config (PARTICLE / DISPLAY_ENTITY / BOTH). Display entities are automatically cleaned up on chunk load and area deactivation. Gravitational sphere curves are subdivided into multiple rectilinear segments. This evolution should not break existing puzzle but, if it does, please contact us. - [#108](https://gitlab.com/lasersenigma/lasersenigma/-/issues/108): Combine colors of overlapping laser segments into a single merged display. Works only for laser_display_mode=DISPLAY_ENTITY.

    Fixes

    - [#436](https://gitlab.com/lasersenigma/lasersenigma/-/issues/436): Fixes cyan and blue mirror blocks which did not reflect lasers. - [#417](https://gitlab.com/lasersenigma/lasersenigma/-/issues/417): Fix mirror filter not working correctly with reflected lasers.

    Technical changes

    - Add a copilot prompt /fix-mr-comments (that uses a gradle task fetchMrComments) to help process GitLab Merge Request comments and create a plan allowing to fix them.
    7 downloads
  72. 7.0.4v7.0.4Feb 21, 2026

    V7.0.4

    Technical changes

    - [#425](https://gitlab.com/lasersenigma/lasersenigma/-/issues/425): Auto-publish plugin to Modrinth and Hangar marketplaces on tag creation via CI/CD.

    Fixes

    - [#305](https://gitlab.com/lasersenigma/lasersenigma/-/issues/305): Fix victory conditions not triggering. Component counters are now initialized when an area is activated. Also fixed victory validation when player leaves an area to support all detection modes (DETECTION_REDSTONE_SENSORS, DETECTION_PLAYERS, DETECTION_LOCKS were throwing an exception). - [#433](https://gitlab.com/lasersenigma/lasersenigma/-/issues/433): Another fix related to area loading logs. - [#435](https://gitlab.com/lasersenigma/lasersenigma/-/issues/435): Fix area resize allowing overlap with another area. The resize command now correctly checks for overlaps or components leaving area before applying changes. Improved error message to show both areas involved in the overlap. - [#392](https://gitlab.com/lasersenigma/lasersenigma/-/issues/392): Fix the system that triggers some actions occurring after a player leaves a puzzle area. This fixes mirrors not being removed from player inventory when leaving a puzzle area. This also fixes the title (message) not sent for puzzle creators when leaving a puzzle area. The issue occurred because area deactivation was clearing player tracking data before the "player left" notifications were processed. Now, newly left players are computed and stored before the data is cleared, ensuring proper cleanup (mirrors removal, title display for editors). - [#246](https://gitlab.com/lasersenigma/lasersenigma/-/issues/246): Prevent players from moving GUI/shortcutbar items using number keys (1-9). Items are now locked in place when in edition mode or when a shortcut bar is opened.
    11 downloads
  73. 7.0.0Lasers Enigma 7.0.0Feb 14, 2026

    V7.0.0

    Breaking changes

    - [#423](https://gitlab.com/lasersenigma/lasersenigma/-/issues/423): Remove custom armor feature and versioned NMS packages - The following config entries are no longer used and should be manually removed from config.yml: armor_no_knockback_tag, armor_no_burn_tag, armor_no_damage_tag, armor_reflect_tag, armor_prism_tag, armor_focus_tag, armor_lasers_reduces_durability_tag.

    V6.29.1

    Technical changes

    - [#416](https://gitlab.com/lasersenigma/lasersenigma/-/issues/416): - Avoid building javadoc and sources jars during local build. Keep them only for publication (on Artifactory) or during CI for merge request validation. - Avoid deleting macOS ._* files if not on macOS to speed up build (can also be triggered using -PcleanMacOsFiles parameter). - Delete previous artifacts when deploying to local server (according to dev.properties SERVER_PLUGINS_DIRECTORY property) to avoid version confusion and manual cleanup. - Additional changes in developer documentation since we use Gradle now instead of Maven (and unrelated minor fixes).

    V6.29.0

    Technical changes

    - [#415](https://gitlab.com/lasersenigma/lasersenigma/-/issues/415): Update Java compilation target from 16 to 21 - [#416](https://gitlab.com/lasersenigma/lasersenigma/-/issues/416): Migrate build system from Maven to Gradle

    Fixes

    - [#419](https://gitlab.com/lasersenigma/lasersenigma/-/issues/419): - Fix a bug appearing when components are outside areas after the resize command. ⇒ A new issue have been created: [#420](https://gitlab.com/lasersenigma/lasersenigma/-/issues/420) fix players/components outside of area issues. - Fix a bug appearing when players are leaving areas during mirror retrieving/placing animations.

    V6.28.2

    Fixes

    - [#96](https://gitlab.com/lasersenigma/lasersenigma/-/issues/96): Fix BetonQuest integration (again) to delay its loading (because BetonQuest is loaded after Lasers-Enigma).

    V6.28.1

    Fixes

    - [#96](https://gitlab.com/lasersenigma/lasersenigma/-/issues/96): Fix BetonQuest integration and handle BetonQuest unavailability correctly.

    V6.28.0

    Features

    - [#406](https://gitlab.com/lasersenigma/lasersenigma/-/issues/406): Open the mirror support shortcut bar menu when placing a mirror. - [#96](https://gitlab.com/lasersenigma/lasersenigma/-/issues/96): Add BetonQuest support with the following conditions, events and objectives: - Conditions: - leplayerwonarea <x;y;z;world>: Check if a player has won a specific area at a given location - Events: - leforceactivateareabyid <area_id>: Force an area to stay loaded and activated by its ID - leforceactivateareabylocation <x;y;z;world>: Force an area to stay loaded and activated by its location - leunforceactivateareabyid <area_id>: Remove forced activation from an area by its ID - leunforceactivateareabylocation <x;y;z;world>: Remove forced activation from an area by its location - Objectives: - leplayerwinarea <area_id>: Triggered when a player reaches the win conditions of a specific area - lecomponentactivated <x;y;z;world> [only_first]: Triggered when a component is activated at a specific location. Optional parameter only_first (default: true) triggers only on the first activation since area activation - lecomponentdeactivated <x;y;z;world> [only_first]: Triggered when a component is deactivated at a specific location. Optional parameter only_first (default: true) triggers only on the first deactivation since area activation

    Fixes

    - [#407](https://gitlab.com/lasersenigma/lasersenigma/-/issues/407): If you right-clicked on a mirror and quickly broke it, the player shortcut bar was not closed.

    V6.27.1

    Fixes

    - [#405](https://gitlab.com/lasersenigma/lasersenigma/-/issues/405): Enlarge mirrors hitbox for lasers receiving. - [#404](https://gitlab.com/lasersenigma/lasersenigma/-/issues/404): Add a clear error message when Lasers-Enigma is not compatible with the current server version. - Change player's shortcut bat items custom_model_data to allow integration of custom Skytale models. Lasers-Enigma items custom_model_data now start at 70000.

    V6.27.0

    Fixes

    - [#385](https://gitlab.com/lasersenigma/lasersenigma/-/issues/385): Add commands to keep areas activated:
      /le area forceActivateById <areaId> 
      /le area forceActivateByLocation <x> <y> <z> <worldName>
      /le area forceActivateByCommandSenderLocation
      /le area unforceActivateById <areaId>
      /le area unforceActivateByLocation <x> <y> <z> <worldName>
      /le area unforceActivateByCommandSenderLocation
      

    V6.26.8

    Fixes

    - [#319](https://gitlab.com/lasersenigma/lasersenigma/-/issues/319): Typo when toggling the “let through” option on laser receivers. - [#399](https://gitlab.com/lasersenigma/lasersenigma/-/issues/399): In the configuration of areas victory conditions, the range of values is now correctly bounded (0-99). The minimum can therefore no longer be negative. - [#398](https://gitlab.com/lasersenigma/lasersenigma/-/issues/398): Correct isActivated() check fails when traveling quickly through an area - [#396](https://gitlab.com/lasersenigma/lasersenigma/-/issues/396): Remove exception loop when keychest and lock are in different areas

    Technical changes

    - [#400](https://gitlab.com/lasersenigma/lasersenigma/-/issues/400) Refactor the redstone powering code (when activated laser receivers and locks power redstone wires around).

    V6.26.7

    Fixes

    - [#365](https://gitlab.com/lasersenigma/lasersenigma/-/issues/365): No translation found for Scheduled Actions' error messages

    V6.26.6

    Fixes

    - [#390](https://gitlab.com/lasersenigma/lasersenigma/-/issues/390): Area boundaries now correctly display updated coordinates after resize - [#390](https://gitlab.com/lasersenigma/lasersenigma/-/issues/391): Prevent areas from being resized below 1x1x1 minimum dimensions

    V6.26.5

    Fixes

    - Correct an issue that prevented an existing schematic to be deleted and loaded

    V6.26.4

    Fixes

    - Correct coordinates which weren't properly injected in the area overlapping message

    V6.26.3

    Fixes

    - Correct some messages with double quote ('') instead of simple quote (')

    V6.26.2

    Technical changes

    - Add findActivatedAreaByAreaId method in AreaQueryService

    V6.26.1

    Technical changes

    - Area-related and Schematic-related classes has been refactored to follow layered architecture

    V6.26.0

    Feature

    - Modified the display of areas to use display entities in the context of the /le area show command. - Remove compatibility for Minecraft version lower than 1.19.4.

    Fix

    - Fixed a bug related to the display of an area when an administrator enters/exits. - Fixed a bug related to changing the size of an area.

    Technical changes

    - Use of RTree to improve the performance of spatial searches for areas. - Reduction of memory footprint thanks to lazy loading of areas. In this context, management of dependencies between areas (e.g., Lock in area A and KeyChest in area B).

    V6.25.5

    Technical changes

    - Refactoring Area related classes to split it in services / manager / mappers.

    V6.25.4

    Technical changes

    - Asynchronously load music block songs to reduce memory usage. This may cause a delay when playing a song for the first time.

    V6.25.3

    Technical changes

    - Upgraded TranslationLib dependency to 2.5.4 which introduces multiple translation file

    V6.25.2

    Feature

    - Improve /le area resize command auto-completion.

    Fixed bugs

    - Remove double ' character from translations. - [#346](https://gitlab.com/lasersenigma/lasersenigma/-/issues/346): Fixed an issue where destroying a component after an area resize causes the component to reappear. - [#351](https://gitlab.com/lasersenigma/lasersenigma/-/issues/351): Fixed an issue where clipboard-related messages were not colored correctly due to the '&' character.
    9 downloads
  74. 6.23.15Lasers Enigma 6.23.15Mar 7, 2025
    ![Lasers Enigma : Concentrator](https://i.imgur.com/nwUh1Zn.gif) If you want to get notified about plugin release, join [our Discord](https://discord.gg/z677bNY84q) as we're updating Lasers Enigma there first.

    New Features

    * Wiki update: * You can now access our wiki from [wiki.lasers-enigma.eu](https://wiki.lasers-enigma.eu). * Almost every components has a preview like the one just above. * Mirror Support: Added a 'No mirror' option in the Color Selection menu when placing a Mirror Support. * Component Color Command: Added a command for Command Blocks to edit colorable components using /le component color <x> <y> <z> <color>, with corresponding wiki updates. * Component Information: Introduced /le component look [range=5] to retrieve component information. * Victory Zones: Victory zones can now be placed anywhere within the puzzle area (not only along its edges), allowing puzzles where players may be teleported out of the zone yet still win. * Laser Receiver Pass-through: Receivers now offer an option to allow lasers to pass through them, configurable via the receiver's configuration menu.

    Bug Fixes

    * Minecraft Version Remapping: Fixed an issue where v1_20_R3 was remapping to the wrong Minecraft version. * Missing Translations: Resolved missing translations for the "No color" option in the Color Selector inventory (#341). * Command Block Execution: Fixed a problem that prevented /le component color from being executed in a Command Block. * Laser Receiver Color: * Fixed an issue with laser receivers accepting any color (#333). * Resolved an exception caused by null mirror colors (#333). * Laser Impact: Corrected an issue that stopped lasers from impacting players when laser light was disabled. * Task Saving: Fixed an error during task saving in deactivation (#340). * Zone Transition: Addressed a bug where rapid zone transitions (without an intermediate space) caused mirror orientation issues and erratic shortcut bar behavior. * Rotation Menu Behavior: Updated the rotation menu to close automatically when a mirror is retrieved—even if it was opened on a different mirror support. * Data Loading: Fixed an issue that prevented some data from loading during plugin startup. * Texture Updates: Corrected a texture issue with laser receivers when changing their color. * Laser Blockage: Fixed laser receivers improperly allowing lasers to pass through when they shouldn't. * Receiver Creation: Resolved a bug occurring during the creation of laser receivers. * Burnable Blocks: Fixed a bug related to the new burnable blocks feature.

    Improvements

    * Enhanced continuous integration pipeline checks prior to merging changes.

    Refactoring

    * Overhauled the translation system for improved maintainability and performance.
    63 downloads
  75. 6.22.1Jul 21, 2024
    New features
    - Meltable clay is dead, long live Burnable block! Unlike Meltable clay, Burnable block allows you to select any block you want. As before, you have to select the colour that can burn the block you picked.
    Bug fixes
    - Fixed a bug related to Burnable block - Fixed a lot of typos - Fixed a bug related to components not being loaded from database - Fixed a bug placing the wrong block when selecting stained glass in place component menu - Fixed the unavailable black colour from the GUI when placing a glass, glass panes and mirror blocks - Fixed a bug related to black colour in the loop for Mirror supports
    Chores
    - Update some classes names to be more relevant and consistent
    68 downloads
  76. 6.21.6Lasers Enigma 6.21.6Jun 6, 2024

    New features

    - Lasers now going through following blocks: - Light - Air (Cave, Void and Structure) - Water - Barrier - Comparator - Repeater - Redstone - Redstone Wire - Tripewire - Tripewire Hook - Lever - Activator Rail - Detector Rail - Powered Rail - Buttons - Pressure Plates - Scaffolding - Chain - Iron Bars - Candles - Vine - Lily Pad - Slabs - Carpets - You can add your own blocks in "crossable_materials" option from config.yml

    Bug fixes

    - Fixed a behaviour when players were able to drop items on death (#192) - Fixed missing translation erros.invalid_schematic (#214)
    65 downloads
  77. 6.21.5Lasers Enigma 6.21.5Jun 4, 2024

    V6.21.5

    - Fixed a bug when players were able to interact with component through walls - Fixed a bug with /le area show - Added an alias for /le schematic: /le schem

    V6.21.4

    - Fixed a bug that prevents edition mode to turn off when player leaves the server - Fixed an out-of-bounds error when using /le schematic list command - Fixed missing translations - items.area_delete_confirm_delete.name - area.commands.show.description

    V6.21.3

    - Fixed a bug related to armorstands duplication
    82 downloads
  78. 6.21.2Lasers Enigma 6.21.2 - LightMay 20, 2024

    V6.21.2

    - Fixed a bug related to scheduled actions next/previous buttons

    V6.21.1

    - Fixed a bug related to glass and glass panes lasers color filtering
    77 downloads
  79. 6.21.0Lasers Enigma 6.21.0May 18, 2024
    V6.21.0 Fixed another bug related to components without mirrors Allow schematics copy and save from API Lasers emit light back again. This feature is now based on light block creation/deletion instead of LightAPI. V6.20.8 Fixed a bug keeping laser particles instead of removing them when the area is deactivated. Particles will not reappear when the area is activated again. V6.20.7 Fixed a bug that prevented components that can contain a mirror from being empty when the puzzle area is initialised. Mirror supports, filtering spheres and reflecting spheres can now have NO mirror at the start of the puzzle if the puzzle creator so wishes. V6.20.6 Fix a bug in particle/glass interaction Fix a bug in scheduled actions edition menu V6.20.5 Fix a bug in meltable clay component creation V6.20.4 Fix revision injection in continuous deployment for developers using the plugin as dependency V6.20.3 Fix a bug related to custom heads Fix permissions V6.20.2 deactivate lightAPI by default
    74 downloads
  80. 6.20.1Apr 18, 2024

    V6.20.1

    - Fix a bug related to custom heads

    V6.19 and V6.20

    Minecraft 1.20.3 and 1.20.4 compatibility

    Lasers-Enigma is now compatible with Minecraft versions 1.20.3 and 1.20.4. On the other side, we removed 1.12 - 1.16 compatibility. The plugin is now compatible with 1.17+ versions of Minecraft. Don't forget to use Java 16 for 1.17 version and Java 17 for 1.18+ versions of Minecraft.

    Website refactoring

    The website has been completely redesigned to be more user-friendly and to provide clear information about the plugin. The website does not contain news anymore, but the changelog is now available here.

    New features

    - Locks are now emitting a redstone signal when activated - WorldEdit compatibility is now fixed for every version of Lasers-Enigma => Please use WorldEdit 7.2.20

    Feature improvements

    - Instead of being spawn then updated, components are now directly spawned with the correct display - The item title and lore have been colored - Error messages have been improved and colored - Update notifier now undertake the semantic version during comparison - Clipboard / Schematics error messages have been improved and completed - Undertake the ability to change the height of worlds in the clipboard / schematics features

    Other changes

    - We removed Twitter/Facebook accounts (we don't like these platforms and posting automation is painful) - Test plan updated and improved - The translations are not available anymore. Only english is available. The translations will be available again in the future.

    Bugfixes

    - We fixed a bug related to arrows blocked under a component. The invisible ArmorStand’s hit box prevented arrows from going through. - Component skin now changes during scheduled actions - When a key was found, left keys count were not updated - An error occurred when player leaved an area - Mirror support reset have been fixed - Filtering sphere color changed have been fixed - Lock options are now correctly based on configuration - Components are not correctly deactivated when the puzzle area is deactivated - Refactoring commands hierarchy - Enchantment are now hidden in item lore - Add some missing translations - and many more ...

    Technical changes

    - Replacing the old command system with CommandLib - Replacing the old translation system with TranslationLib - Replacing the old Item system with ItemLib - A lot of code refactoring / splitting to improve maintainability and readability - Now we are not compatible with 1.12/1.13 anymore, we have managed to remove a lot of NMS code - CI/CD now compile NMS instead of illegally retrieving them. - Deployment have been fixed and the maven repository - CI/CD now publish on our test server. - CI/CD now publish on discord (including changelog differences).
    103 downloads

Similar projects

Plugin →