diff --git a/.prettierrc.json5 b/.prettierrc.json5 new file mode 100644 index 0000000..b56041a --- /dev/null +++ b/.prettierrc.json5 @@ -0,0 +1,6 @@ +// Formatter configuration for the KubeJS scripts. +{ + tabWidth: 4, + trailingComma: "always", +} + diff --git a/CHANGELOG.md b/CHANGELOG.md index 679848c..6162f3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2 +1,3 @@ - fixed some tags and recipes - removed ae2 spatial anchor (broken on fabric) +- added `/rtp` command diff --git a/overrides/kubejs/server_scripts/99-rtp.js b/overrides/kubejs/server_scripts/99-rtp.js new file mode 100644 index 0000000..4d5810b --- /dev/null +++ b/overrides/kubejs/server_scripts/99-rtp.js @@ -0,0 +1,37 @@ +const diameter = 1000000; +const y = 200; + +function getRandomCoord() { + var n = Math.floor(Math.random() * diameter); + if (Math.round(Math.random())) { + n *= -1; + } + + return n; +} + +function onRtpExecute(ctx) { + const player = ctx.source.getPlayerOrException().asKJS(); + const x = getRandomCoord(); + const z = getRandomCoord(); + + // add slow falling so the player doesn't immediately die + player.potionEffects.add( + "minecraft:slow_falling", + 15 * 20, // 15 seconds + ); + + // teleport + player.setPositionAndRotation(x, y, z, 0, 0); + + // 1 = success + return 1; +} + +function commandRegistry(ev) { + const { commands: Commands } = ev; + + ev.register(Commands.literal("rtp").executes(onRtpExecute)); +} + +onEvent("command.registry", commandRegistry);