JS Runner
🟡 Updated this year🖼️ Gallery (1 images)
🔍 Analysis
- 🏆 #4 of 20 library mods in this game by downloads
📋 About This Mod
## Description This project was inspired by ScriptCraft. ScriptCraft is a plugin that allows JavaScript files to be ran on a Minecraft server, but sadly ScriptCraft is no longer being updated and only supports 1.8. This plugin aims to bring the function of ScriptCraft back to modern day Minecraft. This project includes custom JavaScript API to interact with the game server. ## Setup Put the .jar file into the server plugins folder and restart it. A new folder will pop up with the name: "JSRunner" and inside that folder will be another folder named: "scripts." You can put .js files into the scripts folder and use the appropriate command to execute it. ## Commands ``` /js run <filename> ``` runs a Javascript file located in JSRunner/Scripts ``` /js stop <filename> ``` stops a Javascript file ``` /js reload ``` stops all JavaScript files # JavaScript API ## Server ``` server.log() ``` logs a message to the server console ``` server.command() ``` runs a command as the console ## Timers ``` timers.setTimeout(fn, ticks) ``` run fn once after ticks ``` timers.setInterval(fn, ticks) ``` run fn repeatedly every ticks ``` timers.clear(id) ``` cancels a timeout/interval ``` timers.clearAll() ``` cancels all timers. ## Events ``` events.on(event, callback) ``` listens for an event ``` playerJoin ``` parameter: PlayerWrapper ``` playerQuit ``` parameter: PlayerWrapper ``` blockBreak ``` BlockWrapper ## Block Wrapper ``` getType() ``` returns block type as string ``` getX() ``` get X position ``` getY() ``` get Y position ``` getZ() ``` get Z position ``` getPlayerName() ``` name of the player who broke the block ## Player Wrapper ``` getName() ``` gets the players name ``` getUUID() ``` gets the players UUID ## Sample Code (Requires latest version to work) This sample code welcomes a player who joined the server. ``` server.log("Hello from JSRunner!"); events.on("playerJoin", function(player) { server.log("Welcome " + player.getName()); }); var intervalId = timers.setInterval(function() { server.log("Repeating message every 100 ticks"); }, 100); ``` This sample code clears the invenory of a player who breaks bedrock with their hands (not TNT). ``` events.on("blockBreak", function(block) { if (block.getType() === "BEDROCK") { server.command("clear " + block.getPlayerName()); server.command("tell " + block.getPlayerName() + " Your inventory was cleared!"); } }); ```
## Description This project was inspired by ScriptCraft. ScriptCraft is a plugin that allows JavaScript files to be ran on a Minecraft server, but sadly ScriptCraft is no longer being updated and only supports 1. 8. This plugin aims to bring the function of ScriptCraft back to modern day Minecraft. This project includes custom JavaScript API to interact with the game server.
## Setup Put the .jar file into the server plugins folder and restart it. A new folder will pop up with the name: "JSRunner" and inside that folder will be another folder named: "scripts." You can put .js files into the scripts folder and use the appropriate command to execute it.
## Commands
```
/js run
```
/js stop
``` /js reload ``` stops all JavaScript files
# JavaScript API ## Server
``` server.log() ``` logs a message to the server console
``` server.command() ``` runs a command as the console ## Timers
``` timers.setTimeout(fn, ticks) ``` run fn once after ticks
``` timers.setInterval(fn, ticks) ``` run fn repeatedly every ticks
``` timers.clear(id) ``` cancels a timeout/interval
``` timers.clearAll() ``` cancels all timers. ## Events
``` events.on(event, callback) ``` listens for an event
``` playerJoin ``` parameter: PlayerWrapper
``` playerQuit ``` parameter: PlayerWrapper
``` blockBreak ``` BlockWrapper ## Block Wrapper
``` getType() ``` returns block type as string
``` getX() ``` get X position ``` getY() ``` get Y position ``` getZ() ``` get Z position
``` getPlayerName() ``` name of the player who broke the block ## Player Wrapper
``` getName() ``` gets the players name ``` getUUID() ``` gets the players UUID
## Sample Code (Requires latest version to work) This sample code welcomes a player who joined the server.
``` server.log("Hello from JSRunner!");
events.on("playerJoin", function(player) { server.log("Welcome " + player.getName()); });
var intervalId = timers.setInterval(function() { server.log("Repeating message every 100 ticks"); }, 100); ``` This sample code clears the invenory of a player who breaks bedrock with their hands (not TNT).
``` events.on("blockBreak", function(block) { if (block.getType() === "BEDROCK") { server.command("clear " + block.getPlayerName()); server.command("tell " + block.getPlayerName() + " Your inventory was cleared!"); } });
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- Bunnyking
- Version
- 1.2
- Downloads
- 73
- Endorsements
- 0
- Category
- library
- Created
- 1/5/2026
- Updated
- 12/31/2025
- Game Versions
- 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4
- Tags
- library, technology, utility
🔧 How to Install Minecraft Plugins Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Plugins →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Plugins versions does JS Runner support?
The author lists 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5. Other versions may work but are untested by the author.
What is the latest version of JS Runner?
Version 1.2, published 2025-12-31 with 73 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await
