Debris is a powerful language & compiler which aims to make the process of creating a datapack easier and quicker. For a working prototype in python, take a look at McScript.
There is an interactive online playground available: https://inky-developer.github.io/debris-playground/
This language is in a very early state.
Documentation for the Project can be found here
Goal for version 0.1: Feature parity with the mcscript prototype
- Internal support for types
- Internal support for variables
- Support for modules
- Support for integers and arithmetic operations (+, -, *, /, %)
- Support for booleans and relations (==, !=, <, >, <=, >=)
- Support for conditions
- Support for recursive loops
- Support for functions
- Control flow (return statements)
- Support for structs
- Struct declaration and initialization
- Struct objects as function parameters
- Associated methods
and valuesfor structs
- Support for sum types
- Declaring sum tyes
- Matching on sum types
- Function expressions (
comptime my_func = fn() { ... }
) - Struct expressions (
comptime my_struct = struct { ... }
) - Interfaces
- Support for tuples
- tuple patterns for variable assignment
- tuple patterns for variable updates
- tuple methods, including
.length()
,.get(0)
,.added(element)
and.join(separator)
- iterating tuples (
comptime for i in (1, 2, 3) { print(i) }
)
- Basic minecraft standard library
- Builtin functionality for more control over the generated datapack
-
execute
function for inserting any command -
export
function for generating a function at a specific path -
on_tick
function for calling a function every tick
-
- Context manipulators (execute as/at/positioned/...)
- Syntax sugar
- In-place operators (+=, -=, *=, /=, %=)
- While loops
- attribute to declare ticking functions
- syntax sugar for for-loops (Blocked on interfaces?)
- Basic optimization passes
- Further optimizations
- Automated integration tests
- Internal refactoring to remove some recursive implementations
- Improved parser for more flexibility
- Good error messages
A basic vscode extension can be found at the latest run of the extensions action.