Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
V8.27.1
Features
- #651: colored mirrors are now named after their colour — "Red mirror", "Cyan mirror", etc. — instead of the generic "Mirror", so they can be told apart at a glance in the inventory and the Mirror Chest menu. Translated in all supported languages.
- #652: the "bonus obtained" message now shows your progress in the area, e.g. "Bonus obtained! (2/5)", so you can tell at a glance whether you have them all. Translated in all supported languages.
- #679: new
/lasers stats resetProgresscommands to wipe progress — for all players in one area, for one player across all areas, for one player in one area, or for everyone everywhere. A reset clears the targeted statistics and progression (records, victories, keys and bonuses, plus checkpoints when a whole player is reset) while keeping player inventories. Variants that affect other players or everyone require admin rights and aconfirmkeyword; resetting your own progress only needs edit rights. The area statistics menu's "clear" button now clears keys and bonuses for that area too, not just its statistics. Translated in all supported languages.
Fixes
- #658: copying a component or pasting an area schematic now preserves condition durations (the minimum time a condition must stay met and the minimum time its state is held), both for individual components and for the area's own settings; they were previously lost on copy.
- #662: in a race, moving on to the next level now teleports you to that level area's configured checkpoint instead of the level's corner, matching where you start level 1 and where you resume after reconnecting.
- #659: when a puzzle resets (the last player leaves the area), a Redstone Sensor is now forced back to its deactivated state even if a redstone signal is still powering it, so conditions based on it always start from a clean state on the next run.
- #679: server-wide statistics are now recomputed correctly after an area's statistics are cleared — the total time played is no longer reset to zero, and the "unique areas won" total keeps its meaning (the number of player/area victories) instead of switching to the number of distinct winners.
- #491: clicking to select a component is more reliable. A Cube Pressure Plate can now be removed by aiming at it — because the plate has no block of its own, the click used to land on the supporting floor and leave the plate behind. Breaking the block under a plate is now prevented, so a plate can no longer be left floating and unremovable. A cube that landed on a lever (or any non-solid block, where no barrier is created) can now be picked up by aiming at it. And left-clicking no longer selects a component hidden behind a solid block.
- selecting a rotatable component to open its rotation shortcut bar is now more reliable in play mode: a Mirror Support on a wall can be selected from the side (not only head-on), and a component such as a Laser Sender can be reached through a gap (e.g. a staircase hole). The selection still stops at solid blocks and never steals a right-click meant for a native block (a lever, a door…) standing in front of the component.
Technical changes
- #635 / #265: beta test server automation. Each push to
maindeploys the latest in-development build to the beta test server and posts an announcement to the#beta-testDiscord channel (changelog diff since the last release + server IPbeta.lasers-enigma.eu). The beta server is rebuilt as a sanitized mirror of production (world, config, plugins — keeping the in-development LasersEnigma and LE Play Server Utils builds) whenever a server pack is generated, runs withproxy-protocol: trueto match its behind-proxy setup (the public pack keepsfalse), and is tagged with a red[BETA]MOTD in the server list. - #641: the publicly distributed server pack now blanks the documentation assistant's address and access token so they are never shipped to third-party servers, while the official beta test server keeps a working
/puzzle doc. - #646: the LE Play levels export (now also including each room's parent — lobby or parent room) moved from the
buildLEPlayRoomsCsvdevelopment Gradle task to the live/. export csvcreator command; the Gradle task and its run configuration have been removed. - #655: anonymous bStats statistics now also report server-wide player engagement totals — actions performed, steps taken, time played, puzzle entries, distinct areas solved and unique bonuses obtained — alongside the number of distinct players who have played at least one puzzle.
- the AI tooling's GitLab operations (read issues and comments, create/edit issues, fetch Merge Request review comments) now run through the GitLab MCP server instead of custom Gradle tasks; the
gradle/gitlab-tasks.gradle.ktstasks (createIssue,editIssue,fetchMrComments) have been removed and the GitLab token moved from thegitlabTokenGradle property to theGITLAB_PERSONAL_ACCESS_TOKENenvironment variable. - new Issue management wiki page documenting the allowed labels and cardinality rules for GitLab issues.
- #680: generating the server pack no longer overwrites the beta test server's in-development LasersEnigma and LE Play Server Utils builds with the (older) production versions. The archive's jar-exclusion patterns were matching versioned names while play's backup carries the version-less deploy names, so both production jars were being bundled in and decompressed over the beta builds; the exclusion now uses those deploy names, shared with the wipe step so the two can no longer diverge.
- companion plugins can now veto an area resize: a new cancellable
PlayerTryToResizeAreaEventis fired right before a resize is applied (once it has passed LasersEnigma's own validation). Cancelling it aborts the resize — nothing is persisted, noAreaResizedEventis emitted — and the canceller's reason is shown to the player. Used by LE Play Server Utils to forbid resizes that would break its lobby-tree path uniqueness. - #679: a new
PlayerProgressResetEventis fired whenever progress is reset via/lasers stats resetProgress(or the area stats "clear" button) — once per affected player, or once with a null UUID for a server-wide reset — so companion plugins can invalidate any per-player progress they cache. Used by LE Play Server Utils to refresh portal completion displays.
Information
| Published on | June 10, 2026 |
|---|---|
| Downloads | 1 |
Platforms
Paper (1.19.4-1.20.4, 1.21.1-1.21.11)
Dependencies
Paper