Skip to content

lilrosalyn/miniscript

Repository files navigation

MiniScript

Warning

MiniScript is currently extremely experimental. Behavior may change at any time, features may be added or removed at any time. Expect no consistency.

MiniScript is a scripting language written in Kotlin. It's primarily built for Minecraft, so it can be used to rapidly develop servers. However, MiniScript does remain platform agnostic and is not necessarily locked to running on Minecraft.

There currently isn't any language documentation available, but you can view the test scripts I'm using in development.

Features

This is not necessarily a complete list, and can be expected to morph as does the scope of the project. Feel free to suggest new features in the Issues tab.

  • Functions
  • Variables
  • Foreach/While Loops
  • Break/Continue
  • Primitives, arrays, dictionaries
  • If statements
  • Arithmetic
  • Ternary expressions
  • Classes
  • Import/export
  • AST validation pass
    • Not all code branches return a value
    • Validate return value type
    • Validate parameter/argument types
    • Validate variable accesses
    • Validate field value type
    • Validate vararg positioning
    • Validate if/while statements returning a boolean
    • Validate array indexes
  • Core standard library
    • Networking (http, tcp, ws)
    • Persistent data storage
    • Reflection
    • Files
    • Locale (time/date, language)
    • Primitive utilities
  • Minecraft plugin implementation
    • Skeleton implementation
    • Standard library for Minecraft

About

a tiny scripting language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages