Hot Summer Deals are Here!
Celebrate with up to 99% off on 16,900 resources
04
Days
02
Hours
47
Mins
25
Secs

Lumen | Modern Scripting Platform v1.2.0-BETA

A modern scripting platform that compiles scripts into native Java for near-plugin performance.

Changelog​

This release includes major internal rewrites and multiple breaking changes. If you already have existing scripts, they may require updates before working correctly on this version.

Breaking Changes​

Type System Overhaul​

The type system has been fully redesigned.
  • Exact types are now known throughout parsing
  • Stronger guarantees and clearer validation
  • Legacy type behavior has been removed

Global Variables Rewritten​

Global variables have been completely revamped.
  • Improved consistency
  • Better type-awareness
  • Cleaner internal behavior
  • Trying to use the old global syntax will immediately throw

Explicit Nullability​

Null handling is now explicit and type-aware.
  • Variables cannot be assigned none unless declared nullable from the start
  • Variables that are meant to be nullable must provide the exact type

Coercion Removed​

Automatic coercion has been removed.

Previously, a variable declared as one type could sometimes receive another type. That behavior is gone.

Example:
  • Declared as string → cannot assign int
  • Declared as int → cannot assign unrelated types
This prevents many runtime surprises.

Lists and Maps Updated​

Lists and maps have been partially rewritten.
  • Typed collections are now emphasized
  • Legacy untyped collections will immediately throw an error

Fixes & Improvements​

Much Better Error Messages​

Almost all diagnostics have been significantly improved.
  • Clearer explanations
  • Better highlights
  • More actionable help messages

Smarter Unknown Pattern Handling​

Unknown statements, conditions, expressions, loop sources, and blocks are now handled far better.

Instead of throwing a generic "Unknown X" even when the issue is only a typo, the matcher can now detect:
  • Extra tokens
  • Typos
  • Missing values
  • Type binding failures
  • Closest-match suggestions

Fewer Runtime Surprises​

With coercion removed and stronger typing, many issues are now caught earlier instead of failing later at runtime.

Data Classes Expanded​

Data classes now support all types instead of being limited to only a small subset.

General Stability Improvements​

Many additional fixes, cleanups, and internal improvements were made across the project.

Pattern Changes​

Many patterns now use required groups instead of duplicated matching logic.

Performance​

Faster Parsing​

Parsing performance is now significantly faster (2.5x+ in many cases).

This was achieved through:
  • Parallel parsing of independent blocks
  • Faster pattern indexing
  • Cheaper pattern matching

Experimental Compiler: Vanta​

A new experimental compiler backend, Vanta, is available.

Benefits:
  • Much faster startup compilation
  • Up to 35x faster compile times in many scenarios (average about 10x faster)

Vanta is currently in beta.

API Changes​

Statement Form Handlers Removed​

Statement form handlers have been removed.

Ref Types Removed​

Legacy Ref Types and related classes are gone, replaced by unified LumenType.

Single parameter handlers​

Instead of inconsistent signatures in statements, expressions, and conditions. All of them now receive a unified HandlerContext.

Final Note​

This release is a major step forward in correctness, tooling quality, performance, and long-term architecture.
However, keep in mind, this version is more beta than other releases due to the many breaking changes. There will be more edge cases.

Changelog - Lumen 1.1.0 (Combined with 1.0.9)​

This release combines changes from the unreleased 1.0.9 and includes a large set of improvements, fixes, and internal refactors.


Breaking Changes​

A much larger breaking change is planned for the next release. It will likely break around 90% of existing scripts due to a full type system overhaul.

Current breaking changes in this release:

Features​

Improvements​

  • Made several conditions and patterns more natural
  • Improved internal and user-facing descriptions
  • Updated stop pattern to support "(stop|return)"
  • Refactored event variable definitions to only include reference type or Java type

Fixes​

  • Fixed chat event not being cancellable
  • Fixed inventory click event variables
  • Fixed global variable default value not being set
  • Fixed addon classpaths not being properly added
  • Fixed raw Java line number preservation
  • Fixed math operator coercion issues
  • Removed showing experimental features in emit

Internal Changes​

  • General cleanup and consistency improvements across the variable system, events, and pipeline

Bug Fixes​

Scripts now properly disable on plugin disable (https://github.com/LumenLang/lumen/commit/4758aabb2e33bfffe2f593c3e5f13074323dea49).

API Changes​

Injectable handlers (https://github.com/LumenLang/lumen/pull/17)​

Injectable handlers allow writing real Java code (via lambdas or static methods) instead of generating Java source as strings. The compiled bytecode is extracted and injected directly into the generated script class.

This introduces a completely new way of defining patterns, removing the need for manual Java string emission while enabling full IDE support, type checking, and significantly cleaner implementations.

Note: This feature is currently in beta and may evolve in future versions.

Internal Changes​

The documentation format has been refactored into something more better long-term (https://github.com/LumenLang/lumen/pull/16).
This version adds code transformers. They can statically remove, replace, or add lines of code, and can be enabled through the config.
This release fixes minor bugs and improves the overall API.

Breaking Changes​

Support for implicit arguments has been removed.

Previously, it was possible to omit certain arguments, for example:
message "Test"
You must now explicitly provide the variable:
message player "Test"
This change improves determinism in pattern matching and simplifies tooling.

Internal Changes​

  • Refactored the type system, including multiple small bug fixes and improvements to inline expression handling.
  • The defaults module has been restructured and split into multiple files.
  • documentation.json has been updated on lumendocs.dev.
EULA: Free EULA
572 Views
11 Downloads
Mar 4, 2026 Published
Apr 28, 2026 Updated
Not yet rated
3.8 MB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. GUI
  1. Optimization
Game mode
  1. Survival
  1. Minigame
  1. Modded
Supported software
  1. Spigot
  1. Paper
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
Creator
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,188 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,123 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,061 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,804 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,573 purchases
572 Views
11 Downloads
Mar 4, 2026 Published
Apr 28, 2026 Updated
Not yet rated
3.8 MB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. GUI
  1. Optimization
Game mode
  1. Survival
  1. Minigame
  1. Modded
Supported software
  1. Spigot
  1. Paper
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
Creator
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,188 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,123 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,061 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,804 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,573 purchases
Top