▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Lumen

Lumen

A modern Minecraft scripting language that compiles scripts into native Java bytecode for near-plugin performance.

13
0
Все версииLumen 1.2.0-BETA

Lumen 1.2.0-BETA

Release1 нед. назад

Список изменений

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

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.

Файлы

lumen-1.2.0-BETA.jar(3.83 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.2.0-BETA

Загрузчики

Paper
Purpur
Spigot

Версии игры

1.20–26.1.2

Загрузок

3

Дата публикации

1 нед. назад

Загрузил

ID версии

Главная