All Projects → astorks → ScriptableMC-Engine

astorks / ScriptableMC-Engine

Licence: GPL-3.0 License
Create TypeScript/JavaScript plugins for Minecraft 1.16 Bukkit/Spigot/Paper

Programming Languages

kotlin
9241 projects
typescript
32286 projects

Projects that are alternatives of or similar to ScriptableMC-Engine

grakkit
A modern JavaScript development environment for Minecraft.
Stars: ✭ 184 (+411.11%)
Mutual labels:  minecraft-plugin, graalvm
paperweight-test-plugin
test plugin for paperweight-userdev
Stars: ✭ 34 (-5.56%)
Mutual labels:  minecraft-server, minecraft-plugin
Islands
A spigot plugin for creating customisable home islands with different biomes. https://www.spigotmc.org/resources/islands-home-islands-system.84303/
Stars: ✭ 18 (-50%)
Mutual labels:  minecraft-server, minecraft-plugin
LevelledMobs
Level-up mobs on your Spigot/Paper server, RPG-style!
Stars: ✭ 143 (+297.22%)
Mutual labels:  minecraft-server, minecraft-plugin
LiteXLoader
This project has been merged into LiteLoaderBDS 👇 click below to new project 本项目已经合并到 LiteLoaderBDS 项目中 👇 点击前往 https://github.com/LiteLDev/LiteLoaderBDS
Stars: ✭ 84 (+133.33%)
Mutual labels:  minecraft-server, minecraft-plugin
McRPG
An RPG plugin for Minecraft 1.13
Stars: ✭ 32 (-11.11%)
Mutual labels:  minecraft-server, minecraft-plugin
EliteMobs
This is a spigot plugin that aims to extend Minecraft's survival endgame by making mobs more interesting.
Stars: ✭ 114 (+216.67%)
Mutual labels:  minecraft-server, minecraft-plugin
TamableFoxes
SpigotMC Plugin that gives you the ability to tame foxes!
Stars: ✭ 21 (-41.67%)
Mutual labels:  minecraft-server, minecraft-plugin
CustomHeads
Decorate your world with just a few clicks
Stars: ✭ 23 (-36.11%)
Mutual labels:  minecraft-plugin
Maintenance
Enable maintenance mode on your Minecraft server
Stars: ✭ 122 (+238.89%)
Mutual labels:  minecraft-plugin
Boss
Premium custom monsters plugin with skill system, natural spawning and lots of sickest features!
Stars: ✭ 72 (+100%)
Mutual labels:  minecraft-plugin
spigot-bending
Minecraft plugin that allows players to bend elements as in the series
Stars: ✭ 14 (-61.11%)
Mutual labels:  minecraft-plugin
MineiaGo
Minecraft Bedrock Edition <-> Java Edition using BungeeCord.
Stars: ✭ 14 (-61.11%)
Mutual labels:  minecraft-server
minecraft-backup
Backup script for Minecraft servers on Linux. Supports screen, tmux, and RCON connections. Supports tar and restic backup format.
Stars: ✭ 140 (+288.89%)
Mutual labels:  minecraft-server
quarkus-performance
Comparing the CPU/Memory utilisation - Quarkus via GraalVM Native Image vs. Quarkus via Java Runtime vs. Payara-Micro via Java Runtime.
Stars: ✭ 49 (+36.11%)
Mutual labels:  graalvm
Widget-Blur
This script for the Scriptable app creates widget backgrounds that appear to be transparent. You can also optionally emulate the light or dark blur effect used in the Batteries widget from Apple.
Stars: ✭ 113 (+213.89%)
Mutual labels:  scriptable
Minecraft-Server-Status
✅一个用于显示服务器在线信息及其他内容的网站
Stars: ✭ 22 (-38.89%)
Mutual labels:  minecraft-server
spigot-tg-bridge
Connect Telegram chats and Minecraft servers seamlessly
Stars: ✭ 27 (-25%)
Mutual labels:  minecraft-plugin
harry-potter-quarkus
Showcases in a web application Quarkus and Infinispan
Stars: ✭ 16 (-55.56%)
Mutual labels:  graalvm
LogoRRR
A log viewer which visualises log events such that it is easy to identify problems or events of interest. This app was implemented using Scala and JavaFX, GluonHQ toolchain and GraalVM as platform.
Stars: ✭ 40 (+11.11%)
Mutual labels:  graalvm

ScriptableMC-Engine

GitHub release (latest by date) SpigotMC Resource License

Run JavaScript/TypeScript plugins for Minecraft 1.15 using the GraalJS script engine.
Supported Minecraft Versions: Bukkit/Spigot/Paper 1.13, 1.14, 1.15, 1.16
Untested but should work: 1.8+

This plugin is in a preview state, there may be breaking changes, missing features, and possibly a few bugs.
Feel free to create an issue if you find any missing features, bugs, or just have an idea for a great feature to add.

This plugin requires running your minecraft server with OpenJDK, Standard JDK, or the GraalVM java runtime.
Most linux servers already use OpenJDK, however if you're running windows or want a fully supported java runtime that supports AOT javascript compilation you can install GraalVM-CE.

GraalVM-CE is a free open source java runtime created by Oracle that is pre-packaged with the GraalJS Engine allowing all javascript engine features including AOT compilation of javascript.

Installing The JavaScript Engine Plugin

If your server is running on a Standard JDK
If your server is running on a GraalVM JDK

Take a look at ScriptableMC-TypeScript for a full typescript plugin example. You can take the typescript example and compile it, then directly modify the javascript if you don't want to use typescript.

Commands and Permissions

ScritableMC Base Command
Command Alias Description Permission
/scriptablemc menu /smc m Opens an inventory menu that allows you to control the script engines. scriptablemc.menu
/scriptablemc info /smc i Prints plugin version and all loaded script engine versions if available. scriptablemc.info
/scriptablemc reload /smc rl Fully reloads all script engines and all script files. scriptablemc.reload
/scriptablemc version /smc v Check the github releases for any updates. scriptablemc.version
ScritableMC JavaScript Engine Commands
Command Alias Description Permission
/scriptablemc javascript reload /smc rl /jsrl Fully reloads the javascript engine and all script files. scriptablemc.js.reload
/scriptablemc javascript execute <source> /smc js ex <source> Executes javascript source and prints the return value. scriptablemc.js.execute
/scriptablemc javascript execute stash /smc js ex stash Executes javascript source stored in your stash. scriptablemc.js.execute
/scriptablemc javascript file <filePath> /smc js f <filePath> Executes javascript file from the scripts folder. scriptablemc.js.execute.file
/scriptablemc javascript stash /smc js st Prints all stored javascript lines in your stash. scriptablemc.js.execute
/scriptablemc javascript stash <source> /smc js st <source> Adds a line to your javascript stash. scriptablemc.js.execute
/scriptablemc javascript stash clear /smc js st clear Clears your javascript stash. scriptablemc.js.execute
ScritableMC Python Engine Commands
Command Alias Description Permission
/scriptablemc python reload /smc rl /pyrl Fully reloads the python script engine and all script files. scriptablemc.python.reload
/scriptablemc python execute <source> /smc py ex <source> /pyex Executes python source and prints the return value. scriptablemc.python.execute
/scriptablemc python execute stash /smc py ex stash Executes python source stored in your stash. scriptablemc.python.execute
/scriptablemc python file <filePath> /smc py f <filePath> Executes python file from the scripts folder. scriptablemc.python.execute.file
/scriptablemc python stash /smc py st Prints all stored python lines in your stash. scriptablemc.python.execute
/scriptablemc python stash <source> /smc py st <source> Adds a line to your python stash. scriptablemc.python.execute
/scriptablemc python stash clear /smc py st clear Clears your python stash. scriptablemc.python.execute

/smc javascript execute Command Example

/jsex return 1 + 1
2

/jsex sender.sendMessage(lib.org.bukkit.ChatColor.GREEN + "Hello World!")
Hello World!

Third Party Libraries

https://github.com/MinusKube/SmartInvs - Inventory helper library
https://github.com/lucko/helper - MinecraftVersions helper library
https://github.com/jkcclemens/khttp - HTTP helper library
https://github.com/aikar/commands - Built-in commands and auto-completion
https://github.com/tr7zw/Item-NBT-API - NBT helper library
https://github.com/apache/commons-io - FileUtils helper library
https://github.com/graalvm/graaljs - JavaScript engine

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].