@dreamscript/paper
v0.1.0
Published
Typed Paper authoring APIs for DreamScript Script Packages
Maintainers
Readme
@dreamscript/paper
Typed Paper command and event authoring APIs for DreamScript Script Packages.
Install this package with @dreamscript/server and the target-compatible
@dreamscript/paper-api Binding Package.
import { definePackage } from "@dreamscript/server";
import { ServerCommandEvent } from "@dreamscript/paper-api/org/bukkit/event/server/ServerCommandEvent";
import {
literal,
registerCommand,
registerEvent,
stringArgument,
} from "@dreamscript/paper";
export default definePackage({
enable() {
registerCommand(
literal("greet").then(
stringArgument("target").executes((context) => {
context.sender.sendMessage(`Hello ${context.arguments.target}`);
}),
),
);
registerEvent(ServerCommandEvent, (event) => {
if (event.getCommand() === "stop-now") {
event.setCancelled(true);
}
});
},
});The command subset supports a root literal and one single-word string argument. Event handlers are synchronous. DreamScript owns command and event registrations and releases them with the Runtime Generation that created them.
