Modules & addons

The NeoSkript project layout and how to write addons.

Modules

ModulePurpose
neoskript-apiPublic SPI — stable, semver'd (Expression, Effect, Condition, Type, SyntaxRegistry, NeoSkriptAddon).
neoskript-corePipeline internals: lexer, parser, resolver, optimizer, runtime.
neoskript-langBuilt-in expressions/effects/conditions/events/types.
neoskript-platformPaper + Folia adapters and the NeoScheduler abstraction.
neoskript-pluginThe shaded, distributable plugin jar.
neoskript-testkitScript conformance harness and benchmarks.

Building

Requires JDK 25 (the build uses a Java 25 toolchain).

./gradlew build

The distributable plugin jar is produced at neoskript-plugin/build/libs/neoskript-plugin-<version>.jar.

Writing an addon

NeoSkript exposes a typed SPI (neoskript-api). Implement NeoSkriptAddon and either ship it via ServiceLoader or register it from a dependent plugin's onEnable. See CONTRIBUTING.md in the repository for the full guide.

Last updated on

On this page