Minecraft Script REPL Add-On

Thumbnail: Minecraft Script REPL Add-On Go to files

Script REPL (read–eval–print loop) add-on is a debugging tool for Minecraft Scripting, that allows user to run JаvaScript code in Minecraft: Bedrock Edition. This powerful add-on is great to use for debugging, prototyping, and learning JаvaScript and Minecraft's scripting API.

REPL Form

Currenly JаvaScript is the only programming language that allow developers to use Script APIs from within their code.

This add-on allows developers to debug JаvaScript code and reports an error condition immediately in Minecraft in-game using this interpreter. This reduces the amount of script errors happened in your code development and time, and allows developers to experiment with the new features available in Script API modules in Minecraft.

Learning Minecraft's Script API

You are advised to learn JаvaScript free from online courses available online before learning how to use Minecraft's Scripting API, such as the following:

There are somewhat decent amount of resources available online related to script API. Important links have a ⭐.

  • Sample GameTests from Microsoft - Sample GameTest behavior files for Minecraft Bedrock Edition. Minecraft supports GameTests - a combination of JаvaScript + MCStructures - for validating facets of Minecraft behavior.
  • Official Script API Documentation - Microsoft's official documentation of high-level introduction of experimental Script API
  • Jayly's Script API Documentation - Jayly's Script API documentation with guides and easy to use and understand API references for programming beginners.
  • Script API Examples - JаvaScript code snippets that uses Script API modules only

Click here for a list of links related to resources for Minecraft Script API.

Add-On Usage Examples

Here are some examples executing JаvaScript in-game:

  • This script makes the world / script engine say "running"

Example 1 code

Example 1 result

  • This script shows the script has error.

Example 2 code

Example 2 result

Get it? Cause Aether dimension does not exist in Minecraft.

Script REPL Item

Script REPL Item

You can get the JаvaScript REPL [Use] item through the following methods:

  • Script event command: /scriptevent interpreter:js
  • Chat Command: !jаvascript
Important

This feature is only available behind beta versions of interpreter only.

  1. Use the enchantment book with the name JаvaScript REPL [Use] to open the interpreter.
  2. Type your JаvaScript code in the form. Best thing is that this form has multi-line supported, meaning you can write multiple lines of code here.
  3. Press Submit button to start executing your code.

In case you want to disable your code, you have to run /reload command which requires operator permission to execute the command.

Script Block

Note

This feature is not available to Script REPL v1.21.0 without Beta APIs experiment.

Script Block

The Script Block can store and execute JаvaScript code in a Minecraft world. It cannot be obtained or used in Survival mode without cheats.

Obtaining

The script blocks can either be obtained by using various commands, such as /give @s interpreter:script_block or /setblock ~ ~ ~ interpreter:script_block, or by pressing the pick block control on an existing script block.

Script blocks are not flammable, and have the same blast resistance as bedrock. They cannot cannot be mined in Survival mode, however they can be pushed with pistons and sticky pistons and the data inside the block persists.

Script Block Usage

A script block can execute JаvaScript code when activated by pressure plates and buttons currently. Script output is displayed when player activates the script block.

Modification

To enter command or modify the script block, players must interact with the script block. The scripts can be entered in the text input within the modal form. The text limit for scripts in a script block is 32,767 characters, you can scroll through lines of code just like the NPC text prompt UI.

Scripts in a script block do not need to be prefixed with imports (e.g. import { world } from "@minecraft/server") as they do in the actual JаvaScript files.

When finished inputing JаvaScript code, save the code into the script block by pressing 'Save' button. Upon pressing the button it will not immediately execute scripts unlike the Script REPL item.

Trailer

This is a very old showcase video of the add-on, fun fact the video includes the ability to run TypeScript code because this add-on used to be able to run TypeScript code.

Installation

First you go to the download section and click "Download Script REPL" (with or without experimentals), then the add-on will be downloaded to your device.

Using Interpreter with Beta API features

Import the add-on to Minecraft.

Important

Enable Beta APIs experiments in world settings. These experiments are needed to run Script REPL with Beta API features.

Required Experiments

Enable Experiments in the Create New World Screen

Using Interpreter without Beta API features

No experimental toggles needed to be enabled.

What APIs the REPL supports

Each invidiual version of Script REPL supports various fields of the APIs. Each version of script REPL have the latest version of script modules as the dependency on their channels:

  • Script REPL (Latest + Beta APIs):
    • @minecraft/server: 1.12.0-beta
    • @minecraft/server-ui: 1.2.0-beta
    • @minecraft/server-gametest: 1.0.0-beta
    • @minecraft/debug-utilities: 1.0.0-beta
  • Script REPL (Latest):
    • @minecraft/server: 1.11.0
    • @minecraft/server-ui: 1.1.0
  • Script REPL (Preview + Beta APIs):
    • @minecraft/server: 1.13.0-beta
    • @minecraft/server-ui: 1.3.0-beta
    • @minecraft/server-gametest: 1.0.0-beta
    • @minecraft/debug-utilities: 1.0.0-beta
  • Script REPL (Preview):
    • @minecraft/server: 1.12.0
    • @minecraft/server-ui: 1.2.0
Note

All versions of Script REPL also loads external npm packages such as @minecraft/vanilla-data and @minecraft/math when executing JаvaScript code.

Download links
Download Script REPL Add-On (v1.21.0+)
Supported versions
1.21.0 1.20.70 1.20.10
Tags
199
1 comment
Cancel
  1. Yo that's really cool (and useful 🙏), GG!