upd:

8Crafter's Debug Sticks, Chat Ranks, Custom UI, and JavaScript Commands v1.13.0 (1.20.80 UPDATE!)

Thumbnail: 8Crafter's Debug Sticks, Chat Ranks, Custom UI, and JavaScript Commands v1.13.0 (1.20.80 UPDATE!) Go to files

This is an add-on that adds the debug stick, as well as an editor stick, which lets you see block info when you crouch and can be used on a block to change the block type (you can even change it to blocks that normally require NBT editors to obtain), change some of the block states of the block, change the raw text of a sign, change the color of the liquid in a cauldron (even for lava and powdered snow), change the potion in a cauldron, set whether or not the block is waterlogged, etc. It also allows you to have chat ranks, change your name in the chat, and have custom colors and formatting codes automatically applied to your messages, it also adds some custom chat commands, it also adds three different debug menus, one for the world details, one for player details, and one for entity details, it also adds a player controller that lets you do things like change a player's name tag, active selected hotbar slot, change whether or not they have operator permissions, start cooldowns on their items, apply knockback to them, kill them, despawn them, apply damage to them, add effects or tags to them, remove effect or tags from them, teleport them, set them on fire for a certain amount of time, set their spawn point to a very specific point in a specified dimension, etc. Then there is also an entity controller that does a lot of the same stuff as the player controller (except for the stuff that can only be used on the players) but also has a few other features too. Then there is an item modifier that lets you change the lore and name of an item (you can even use multiple lines of text in the lore too), you can also have multiple lines of text in the item names, you can also set the components of an item (like lock in slot, lock in inventory, can destroy, can place on, and also keep on death), you can also trigger item events for custom items, you can also transfer items in between players inventories. Then there is also a world controller that lets you do stuff like send internal client messages, set the weather in a specific dimension, send /tellraw messages to all players without needing to type out the /tellraw command, you can also set the world spawn, absolute world time, current time of day, spawn entities, spawn items, spawn particles with specified molang values (so you can use particles that are normally broken with the /particle command), etc. There is also an explosion creator that lets you create custom explosions at specified coordinates with a specified radius, and you can also specify whether or not it causes fire, whether or not it destroys blocks, whether or not it can explode underwater, and also which entity has caused the explosions.

Debug Sticks

Show/hide text

Debug Stick

The debug stick works identical to the java edition one, you use to go to the next possible value of that block state, and sneak while using to go to the previous one, you hit the block to select the next block state type, and sneak while hitting the block to select the previous block state type, you can see a demonstration of this in the trailer video. The liquid clipped version allows you to also target liquid blocks.

Item Id: andexdb:debug_stick or andexdb:liquid_clipped_debug_stick

Editor Stick

Images of the GUI

Editor Stick GUI: Screenshot 1

Editor Stick GUI: Screenshot 2

Editor Stick GUI: Screenshot 3

Editor Stick GUI: Screenshot 4

Editor Stick GUI: Screenshot 5

Editor Stick GUI: Screenshot 6

Editor Stick GUI: Screenshot 7

Editor Stick GUI: Screenshot 8

Item Id: andexdb:editor_stick

Debug Stick Type B

This is the same as the editor stick except it can't show you block info by sneaking and when you use it you can select which block to edit by entering its coordinates.

Show/hide image

Debug Stick Type B GUI: Screenshot

Item Id: andexdb:debug_stick_b

Debug Stick Type C

This is the same as the editor stick except it can't show you block info by sneaking and when you use it you can select filtering options for which block that you are looking at will actually be selected.

Show/hide image

Debug Stick Type C GUI: Screenshot

Item Id: andexdb:debug_stick_c

Main Menu

This opens up the main menu GUI.

Images of the GUI

Main Menu GUI: Screenshot 1

Main Menu GUI: Screenshot 2

Main Menu GUI: Screenshot 3

Main Menu GUI: Screenshot 4

Main Menu GUI: Screenshot 5

Command Runner

This allows you to enter a command into the GUI to run it, this can run commands that normally you would need to use an npc to run it, such as the /agent command.

Show/hide image

Command Runner GUI: Screenshot

Script Runner

This allows you to enter some JаvaScript code into the GUI to run it, this can run any JаvaScript/Script API code.

Show/hide image

Script Runner GUI: Screenshot

Player Controller

This opens up the player controller GUI.

Item Id: andexdb:player_controller

Entity Controller

This opens up the entity controller GUI.

Item Id: andexdb:entity_controller

Player Debug

This lets you get debug info about a player.

Show/hide image

Player Debug Info: Screenshot

Item Id: andexdb:player_debug_stick

Entity Debug

This lets you get debug info about an entity.

Item Id: andexdb:entity_debug_stick

Show/hide image

Entity Debug Info

Main Menu

Show/hide text

The Main Menu can be opened either with the selection menu debug stick, the mainmenu chat command, or the andexdb:editorMenusAndLists /scriptevent command.

Buttons:

  • Editor Stick: Opens the editor stick UI. (More info in the editor stick section of the debug sticks section)
  • Editor Stick Menu B: Opens the Debug Stick B UI. (More info in the Debug Stick B section of the debug sticks section)
  • Editor Stick Menu C: Opens the Debug Stick C UI. (More info in the Debug Stick C section of the debug sticks section)
  • Debug Screen: Unused
  • Inventory Controller: Opens the item modifier UI where you can do things such as modify the name and lore of an item, modify its components etc. (More info in the Item Lore and Name Modification section)
  • Player Debug: Opens the player debug info UI. (More info in the player debug section of the debug sticks section)
  • Entity Debug: Opens the entity debug info UI. (More info in the entity debug section of the debug sticks section)
  • Player Controller: Opens the player controller UI. (More info in the player controller section of the debug sticks section)
  • Entity Controller: Opens the entity controller UI. (More info in the entity controller section of the debug sticks section)
  • World Options: Opens the world options sub-menu.
  • Dimension Options: Opens the dimension options sub-menu. (COMING IN FUTURE UPDATE!)
  • Create Explosion [Alpha]: Opens the create explosion sub-menu.
  • Fill Blocks: Opens the fill blocks sub-menu. (COMING IN FUTURE UPDATE!)
  • Inventory Transfer: Opens the inventory transfer sub-menu.
  • Run Command: Opens the command runner UI. (More info in the command runner section of the debug sticks section)
  • Script Eval: Opens the script runner UI. (More info in the script runner section of the debug sticks section)
  • Manage Restricted Areas: Opens the spawn protection management sub-menu.
  • Manage Custom UIs: Opens the custom UI manager sub-menu.
  • Settings: Opens the add-on settings sub-menu.
  • Manage Players: Manages bans and saved player data.
  • Manage Commands [Beta]: Manages built-in and custom commands.
  • Item Editor [Alpha]: Edits items.
Images of the GUI
Older Versions

Main Menu GUI: Screenshot 1

Main Menu GUI: Screenshot 2

Main Menu GUI: Screenshot 3

Main Menu GUI: Screenshot 4

Main Menu GUI: Screenshot 5

v1.11.0+

Main Menu GUI: Screenshot 1

Main Menu GUI: Screenshot 2

Main Menu GUI: Screenshot 3

Main Menu GUI: Screenshot 4

Main Menu GUI: Screenshot 5

Main Menu GUI: Screenshot 6

Sub-Menus

World Options

World Options GUI: Screenshot 1

World Options GUI: Screenshot 2

World Options GUI: Screenshot 3

World Options GUI: Screenshot 4

World Options GUI: Screenshot 5

World Options GUI: Screenshot 6

World Options GUI: Screenshot 7

World Options GUI: Screenshot 8

Inventory Transfer

This allows you to do things like swap the inventories of a block container and an entity, two entities, or two block containers, as well as manage your hotbar swap presets.

Manage Restricted Areas

This allows you to manage the list of protected areas for each type of spawn protection. The types are spawn protection are: no explosion areas, protected areas, no block break areas, no block place areas, no block interact areas, and no interact areas.

Area Selector GUI: Screenshot 1

Area Selector GUI: Screenshot 2

Area Selector GUI: Screenshot 3

Area Selector GUI: Screenshot 4

Manage Custom UIs

This allows you to manage your custom UIs. If you have already made a custom UI then you can click on it to either view it, edit the elements of it, edit the code of it, or delete it. If you don't have any custom UIs yet or you just want to create a new one then you can just click on create new to create a new custom UIs. To pull up a custom UI that you have made for a specific player then just do this command: /execute as <playerName or targetSelector for the player> run /scriptevent andexdb:showCustomUI <UIID: id of the ui>

Custom Form UI Selector GUI: Screenshot

Options for editing an existing form:

  • Edit Code Form Menu.
  • Edit Elements Form Menu.
  • Form Deletion Warning Pop-Up Menu.
  • Add New Form Menu.
Settings

This is the menu for the add-on settings.

Settings GUI: Screenshot

Global Settings

This is the menu for the global add-on settings.

Older Versions

Global Settings GUI: Screenshot 1

Global Settings GUI: Screenshot 2

Global Settings GUI: Screenshot 3

Global Settings GUI: Screenshot 4

Global Settings GUI: Screenshot 5

Global Settings GUI: Screenshot 6

v1.9.0+

Global Settings GUI: Screenshot 1

Global Settings GUI: Screenshot 2

Global Settings GUI: Screenshot 3

Global Settings GUI: Screenshot 4

Global Settings GUI: Screenshot 5

Global Settings GUI: Screenshot 6

Global Settings GUI: Screenshot 7

Global Settings GUI: Screenshot 8

Global Settings GUI: Screenshot 9

Global Settings GUI: Screenshot 10

Manage Auto Script Eval

This lets you manage the JаvaScript/Script API code that executes when certain game events are fired.

Script API/JаvaScript/Script Eval

Show/hide text

With this add-on you can run your own Script API/JаvaScript Scripts with the Script Eval functions. This can allow you to make way more advanced command than are normally possible in bedrock edition. There are multiple ways to do this, some work a little differently than other, there are contexts in which these can be run, in beforeEvents, or in afterEvents, beforeEvents are executed during the current tick, the tick does not finish until the beforeEvent code is done with executing, before events can allow you to also artificially lower the TPS of a server if you need to do that for testing purposes, they can also be used to forcefully crash the server by using an insanely large arrayBuffer object to exceed the scripting memory (RAM) limit, which will cause the world or server to immediately just shut down, with beforeEvents there is one problem some things can not be executed during before events and to execute them you would have to use system.run(()=>{}), using system.run(()=>{}) turns the code inside of the {} form a beforeEvent into an after event, the code inside of the {} is executed the next tick instead of the current one, afterEvents are not able to lower the TPS or crash the server or world, they are also executed asynchronously (in the next tick). Here is a list of teh methods to execute script eval and whether they are beforeEvents of afterEvents:

andexdb:scriptEval scriptevent: afterEvent

eval chat command: beforeEvent

${se} or ${scripteval} chat escape codes: beforeEvent

GameTests: beforeEvent

AutoEval for world afterEvent triggers: afterEvent

AutoEval for world beforeEvent triggers: beforeEvent

Script Runner: afterEvent

To use the andexdb:scriptEval scriptevent you just use this /scriptevent command: /scriptevent andexdb:scriptEval <ScriptAPICode: JаvaScript>

To use the eval chat command you must first add the canUseChatCommands and canUseScriptEval tags to yourself, then you use this chat command: eval <ScriptAPICode: JаvaScript>

To use the ${se} or ${scripteval} chat escape codes you must first add the canUseChatCommands and canUseScriptEval tags to yourself, then put either ${se} or ${scripteval} somewhere in your chat message, then the rest of your chat message will be executed as the code.

The GameTest script eval is still a work in progress and is not fully functional yet.

For the AutoEval you can set the dynamic property for it and it will be executed when that event is triggered, the dynamic property id is either formatted like "evalAfterEvents:(event type)" or "evalBeforeEvents:(event type)" depending on whether it is an afterEvent or a beforeEvent, for example the entityDie world after event executes the code in the dynamic property "evalAfterEvents:entityDie". The data of these events can be accessed with the event property. Here are links with all of the different event types:

System AfterEvents: minecraft/server.SystemAfterEvents Class | Microsoft Learn

System BeforeEvents: minecraft/server.SystemBeforeEvents Class | Microsoft Learn

World AfterEvents: minecraft/server.WorldAfterEvents Class | Microsoft Learn

World BeforeEvents: minecraft/server.WorldBeforeEvents Class | Microsoft Learn

The Script Runner can be accessed either through the main menu or the script runner debug stick.

This can be very useful for doing things such as running more advanced commands with JаvaScript variables and conditions or running commands with JаvaScript escape codes (for example to put multiple lines of text in the name of an entity or use special Unicode characters in commands without needing to copy and paste them into your game). (Note: The names of the server modules are mcServer for the minecraft/Server module, mcServerUI for the minecraft/ServerUI module, and GameTest for the minecraft/GameTest module). Here are some examples:

Send a tellraw command message:

world.sendMessage("Example messagenNew LinenSender's Name: " + player.name + "nToken Emoji: uE105")

Give all players health boost with the level equal to their XP level:

world.getAllPlayers().forEach((p)=>{p.addEffect("health_boost", 200, {amplifier: player.level, showParticles: false}); })

Summon a sheep with multiple lines of text in its name:

/scriptevent andexdb:scripteval sourceEntity.runCommand("/summon sheep ~~~~~ test Sheepn§aMinecoin SheepuE105nnnnnn§c§oSupernTallnSheepnNameTag. §r§f")

Give all players a player head with their name instead of player:

/execute as @a run /scriptevent andexdb:scriptEval let player = sourceEntity; player.runCommand(`/replaceitem entity @s slot.weapon.mainhand 0 skull 1 3`); player.getComponent("inventory").container.getSlot(player.selectedSlot).nameTag = `§r§f${player.name}'s Head§§`;

Particle Customization

Show/hide text

With this add-on you can also customize particles by setting their molang variables, this allows for a lot more particle customization then is currently available with the /particle command. To do this you must use the andexdb:createParticle /scriptevent command.

Command format: /scriptevent andexdb:createParticle <x: float|~>|<y: float|~>|<z: float|~>|[action: action]...

[action: action]

<actionType: actionType>:<molangVariable>:<newValue: float|R:G:B|R:G:B:A|x:y:z>

Action Types:

setFloat: / f:

newValue format: <float: float>

setColorRGB: / rgb:

newValue format: <r: float>|<g: float>|<b: float>

setColorRGBA: / rgba:

newValue format: <r: float>|<g: float>|<b: float>|<a: float>

setVector3: / v3:

newValue format: <x: float>|<y: float>|<z: float>

This add-on also has some custom particles that are made specifically to be used with this command:

Show/hide Custom Added Particles

andexdb:block_destruct_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.emitter_texture_coordinate_u: the horizontal position of the uv
  • variable.emitter_texture_coordinate_v: the vertical position of the uv
  • variable.emitter_texture_size_u: the horizontal size of the uv
  • variable.emitter_texture_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting

andexdb:custom_block_texture_billboard

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.uv_range_u: the range of horizontal position of the uv
  • variable.uv_range_v: the range of vertical position of the uv
  • variable.uv_size_range_u: the range of horizontal size of the uv
  • variable.uv_size_range_v: the range of vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.color_range_r: the range of red color tinting
  • variable.color_range_g: the range of green color tinting
  • variable.color_range_b: the range of blue color tinting
  • variable.color_range_a: the range of alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.size_range_x: the range of x size
  • variable.size_range_y: the range of y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_radius_x: the x emitter radius
  • variable.emitter_radius_y: the y emitter radius
  • variable.emitter_radius_z: the z emitter radius
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_block_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_item_texture_billboard

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_item_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_text_ascii_sga_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_text_glyph_E0_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_text_glyph_E1_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_text_glyph_E3_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

andexdb:custom_text_texture_billboard_2

Molang Variables:

  • variable.emitter_intensity: the cube root of the amount of particles
  • variable.uv_u: the horizontal position of the uv
  • variable.uv_v: the vertical position of the uv
  • variable.uv_size_u: the horizontal size of the uv
  • variable.uv_size_v: the vertical size of the uv
  • variable.color.r: the red color tinting
  • variable.color.g: the green color tinting
  • variable.color.b: the blue color tinting
  • variable.color.a: the alpha color tinting
  • variable.direction_x: the x facing direction
  • variable.direction_y: the y facing direction
  • variable.direction_z: the z facing direction
  • variable.size_x: the x size
  • variable.size_y: the y size
  • variable.emitter_offset_x: the x emitter offset
  • variable.emitter_offset_y: the y emitter offset
  • variable.emitter_offset_z: the z emitter offset
  • variable.emitter_direction_x: the emitter x facing direction
  • variable.emitter_direction_y: the emitter y facing direction
  • variable.emitter_direction_z: the emitter z facing direction
  • variable.max_lifetime: the amount of time before the particle disappears

Here are some examples of this command (these are the ones that are showcased in the YouTube trailer video):

/scriptevent andexdb:createParticle minecraft:block_destruct|~~2~2|overworld|setColorRGBA:color:0.5:0.25:0:1|setFloat:variable.EmitterTextureCoord.u:32|setFloat:variable.EmitterTextureCoord.v:32|setFloat:variable.EmitterTextureSize.u:32|setFloat:variable.EmitterTextureSize.v:32|setFloat:emitter_radius:0.2|setFloat:emitter_intensity:10
/scriptevent andexdb:createParticle andexdb:custom_block_texture_billboard|~0.5~1.5~0.5|overworld|setColorRGBA:color:1:1:1:1|setFloat:variable.uv_u:0|setFloat:variable.uv_v:0|setFloat:variable.uv_size_u:5000|setFloat:variable.uv_size_v:5000|setFloat:variable.direction_x:0.0|setFloat:variable.direction_y:0.0|setFloat:variable.direction_z:1.0|setFloat:variable.max_lifetime:1000.0|setFloat:variable.size_y:0.5|setFloat:variable.size_x:1
/scriptevent andexdb:createParticle andexdb:custom_item_texture_billboard|~0.5~1.5~0.5|overworld|setColorRGBA:color:1:1:1:1|setFloat:variable.uv_u:0|setFloat:variable.uv_v:0|setFloat:variable.uv_size_u:1000|setFloat:variable.uv_size_v:1000|setFloat:variable.direction_x:0.0|setFloat:variable.direction_y:0.0|setFloat:variable.direction_z:1.0|setFloat:variable.max_lifetime:1000.0|setFloat:variable.size_y:1|setFloat:variable.size_x:0.5
/scriptevent andexdb:createParticle minecraft:note_particle|~0.5~1~0.5|overworld|setColorRGBA:note_color:1:0.5:1:1 /scriptevent andexdb:createParticle minecraft:note_particle|~0.5~1~0.5|overworld|setColorRGBA:note_color:1:1:1:1

All of these examples could also be written as:

/scriptevent andexdb:createParticle minecraft:block_destruct|~~2~2|overworld|setColorRGBA:color:0.5:0.25:0:1|setFloat:variable.EmitterTextureCoord.u:32|setFloat:variable.EmitterTextureCoord.v:32|setFloat:variable.EmitterTextureSize.u:32|setFloat:variable.EmitterTextureSize.v:32|setFloat:emitter_radius:0.2|setFloat:emitter_intensity:10
/scriptevent andexdb:createParticle andexdb:custom_block_texture_billboard|~0.5~1.5~0.5|overworld|rgba:color:1:1:1:1|f:variable.uv_u:0|f:variable.uv_v:0|f:variable.uv_size_u:5000|f:variable.uv_size_v:5000|f:variable.direction_x:0.0|f:variable.direction_y:0.0|f:variable.direction_z:1.0|f:variable.max_lifetime:1000.0|f:variable.size_y:0.5|f:variable.size_x:1
/scriptevent andexdb:createParticle andexdb:custom_item_texture_billboard|~0.5~1.5~0.5|overworld|rgba:color:1:1:1:1|f:variable.uv_u:0|f:variable.uv_v:0|f:variable.uv_size_u:1000|f:variable.uv_size_v:1000|f:variable.direction_x:0.0|f:variable.direction_y:0.0|f:variable.direction_z:1.0|f:variable.max_lifetime:1000.0|f:variable.size_y:1|f:variable.size_x:0.5
/scriptevent andexdb:createParticle minecraft:note_particle|~0.5~1~0.5|overworld|rgba:note_color:1:0.5:1:1 /scriptevent andexdb:createParticle minecraft:note_particle|~0.5~1~0.5|overworld|rgba:note_color:1:1:1:1

Item Lore and Name Modification

Show/hide text

With this add-on you can also modify the name and lore of an item (you can even use multiple lines of text in it too). To do this you have to open up the inventory controller menu or the item command.

Inventory Controller

You can access the inventory controller through the main menu, once you open up the UI you just enter the slot number of the item, then select the player who has the item, and the player to pull UI the second UI for, then it will open up the item modifier menu where you can modify a lot of properties of the item, such as its name, lore, amount, the keepOnDeath, canBreak, canDestroy, and itemLock components of the item, you can also transfer the item to another player's inventory, move it to another inventory slot, replace it with a new item that can be any type and any amount (even if the item types normally requires an NBT Editor to obtain, or if the amount is more than the max stack size of the item, so if you wanted you could get a stack of 127 nether reactor cores), etc.

item Command

To use the item command you must first give yourself the canUseChatCommands tag. Then use the following command.

Command Formats:

item name <itemName: escapableString>

item lore <itemName: escapableString[]>

item amount<itemAmount: int>

item slot <slotId: int> name <itemName: escapableString>

item slot <slotId: int> lore <itemName: escapableString[]>

item slot <slotId: int> amount<itemAmount: int>

Examples:

item name "item name line 1nitem name line 2"

item lore ["item lore line 1", "item lore line 2"]

Simulated Players

Show/hide text

With this addon you can also spawn in simulated players, these simulated players work just like real players, they can be spawned using the /gametest command, just like real players they appear in the player list and show up in the /list command. They also show up in the target selector suggestion just like real players. You can also use player-only commands on them too. To get rid of them you either have to reload the world or do /gametest stopall. You can spawn infinite of these simulated players, even if it exceeds the max players limit, even on realms too, and it does increase the player count of the world, server, or realm. Another way to spawn them in is with this /scriptevent command: /scriptevent andexdb:spawnSimulatedPlayer [playerName: string]|[location: location]|[dimensionId: string]|[gametestStructureSpawnLocation: location]

No AI Entities

Show/hide text

With this add-on you can also spawn entities with no AI. With this you can also create the old pre-1.14 villagers. When the world is restarted, any entities with no AI will get their AI back, though with the villagers even when they get their AI back, they will still be the old type of villagers if they were spawned in with no AI.

You can use this command to spawn in the no ai entities: /scriptevent andexdb:spawnWithNoAI <entityType: string>|[location: location]|[dimensionId: string]|[gametestStructureSpawnLocation: location]

Chat Escape Codes

Show/hide text

With this add-on you can also use escape codes in the chat (you can disable this by going into the main menu, then go to settings, then go to global settings, then scroll down to the bottom and turn off the toggle for allowChatEscapeCodes). These are very useful for things such as typing any Unicode character or emoji into the chat without needing to use a computer to be able to copy and paste it in, and even using those Unicode characters and emojis in chat messages, here is an example that gives you the tag "testtag" but with a Minecoin emoji at the end of it: ${se}player.runCommandAsync('/tag @s add "testtague105"'). To use the escape codes, you must put one of the codes specified below somewhere in your chat message (you can use multiple different ones too, and the codes do get removed from the message):

${ea} or ${escapeall}: does JаvaScript escape codes, such as n or ue105.

${ei} or ${escapeuri}: does URI escape codes such as %20 or %50.

${se} or ${scripteval}: executes the chat message as Script API/JаvaScript code (the chat message is not sent). Note: This one requires you to have the canUseScriptEval tag in order to use it. It is also not disabled when you turn off the allowChatEscapeCodes toggle. Also, with ${se} or ${scripteval} any part of the code that is inside of ``, "", or '' will automatically have the JаvaScript escape codes in it, so ${se}player.runCommandAsync('/tag @s add "testtague105"') will replace ue105 with a token emoji (which has a Unicode code value of U+E105).

Chat Ranks

Show/hide text

With this add-on you can also have chat ranks. To give yourself a chat rank you have to use tags. The format of the tag is "rank:(rank)". Note: the brackets [] are not on the chat rank by default, this is so that you can add your own custom brackets, for example to add the rank [Moderator] to yourself you would give yourself the tag "rank:[§6Moderator§f]". You can also have multiple chat ranks as well. You can also change your name in the chat, you can set it to use your nameTag instead of your username with the tag chatUseNameTag, and to give yourself a custom chat name you would use a tag in the format of "sudo:(name)", these tags work the same as the chat rank one, if you want it to look like a vanilla one but just with the name Herobrine instead of just your username then you would give yourself the tag "sudo:<Herobrine> ". If you want to change the prefix that the rank and sudo tags use, you can do that is the settings at "Main Menu>Settings>Global Settings", and you can just change the chatRankPrefix and chatSudoPrefix settings options, by default they are set to rank: and sudo: respectively.

/scriptevent Commands

Show/hide text

andexdb:blockExplosion

Creates a custom explosion with the specified explosion options.

Command format: /scriptevent andexdb:blockExplosion <dimensionId: dimensionId>|<x: float>|<y: float>|<z: float>|<radius: float>|<allowUnderwater: bool>|<breaksBlocks: bool>|<causesFire: boolean>

andexdb:editorMenusAndLists

Pulls up the main UI menu of the add-on.

Command format: /scriptevent andexdb:editorMenusAndLists <anything: anything>

andexdb:itemLoreInventoryModifier

Command format: /scriptevent andexdb:itemLoreInventoryModifier <anything: anything>

andexdb:inventoryTransfer

andexdb:inventoryTransferB

Unused.

andexdb:playerController

Command format: /scriptevent andexdb:debugStickMenuC <anything: anything>

andexdb:entityController

Command format: /scriptevent andexdb:debugStickMenuC <anything: anything>

andexdb:playerDebug

Command format: /scriptevent andexdb:debugStickMenuC <anything: anything>

andexdb:entityDebug

Command format: /scriptevent andexdb:debugStickMenuC <anything: anything>

andexdb:debugStick

The UI for the editor stick, it allows you to change things like the block type (it can be set to any valid block, even ones that you normally need an NBT editor to obtain), block states, if the block is waterlogged, the RGBA color and fill level of cauldron water (if you use a debug stick on the cauldron after setting this then the color will stay even when the liquid is switched to lava or powdered snow instead of water, but to change it again you will have to switch it back to water first), the fill level of powdered snow in a cauldron, the fill level of lava in a cauldron, the potion type and fill level of a potion in a cauldron, the rawtext of a sign, and the regular text of a sign. More info is in the section about debug sticks.

Command format: /scriptevent andexdb:debugStick <anything: anything>

andexdb:debugStickB

Command format: /scriptevent andexdb:debugStickB coordinates:<blockDimension: dimensionId>|<blockX: float>|<blockY: float>|<blockZ: float>

andexdb:debugStickC

Command format: /scriptevent andexdb:debugStickB coordinates:<blockDimension: dimensionId>|<blockX: float>|<blockY: float>|<blockZ: float>

andexdb:debugStickMenuB

The selector UI for the debugStickB UI, debugStickB is a variant of debugStick where it gets the block to edit based on the specified coordinates instead of the block that you are looking at. It inputs the parameters selected in this UI into the message of the andexdb:debugStickB /scriptevent command in the format that is listed below:

/scriptevent andexdb:debugStickB coordinates:<blockDimension>|<blockX>|<blockY>|<blockZ>

Command format: /scriptevent andexdb:debugStickMenuB <anything: anything>

andexdb:debugStickMenuC

The selector UI for the debugStickC UI, debugStickC is a variant of debugStick where you can specify the filters for when it selects the block that you are looking at. It inputs the parameters selected in this UI into the message of the andexdb:debugStickC /scriptevent command in the format that is listed below:

/scriptevent andexdb:debugStickC options:<includeLiquidBlocks>|<includePassableBlocks>|<maxDistance>

Command format: /scriptevent andexdb:debugStickMenuC <anything: anything>

andexdb:debugScreen

Unused.

andexdb:worldOptions

The world options UI, more info under "selection menu" in the debug sticks section.

Command format: /scriptevent andexdb:worldOptions <anything: anything>

andexdb:scriptEvalRunWindow

A UI with multiple textboxes where you can enter JаvaScript/Script API and then when you click on the submit button then it will run that code that you typed in.

Command format: /scriptevent andexdb:scriptEvalRunWindow <anything: anything>

andexdb:evalAutoScriptSettings

Command format: /scriptevent andexdb:evalAutoScriptSettings <anything: anything>

andexdb:editEntityDynamicProperty

Command format: /scriptevent andexdb:editEntityDynamicProperty <anything: anything>

andexdb:editWorldDynamicProperty

Command format: /scriptevent andexdb:editWorldDynamicProperty <anything: anything>

andexdb:scriptEval

Runs the JаvaScript/Script API code specified in the message parameter.

Command format: /scriptevent andexdb:scriptEval <ScriptAPICode: JаvaScript>

andexdb:indirectScriptEval

Runs the JаvaScript/Script API code specified in the message parameter indirectly, which will cause any imported functions to not function of the code in this script eval (meaning that it will not be able to interact with Minecraft at all).

Command format: /scriptevent andexdb:indirectScriptEval <ScriptAPICode: JаvaScript>

andexdb:sendGlobalWorldMessage

Command format: /scriptevent andexdb:sendGlobalWorldMessage <anything: anything>

andexdb:setWorldDynamicProperty

Command format: /scriptevent andexdb:setWorldDynamicProperty <propertyId: string>|<propertyValue: string|undefined>

andexdb:setWorldDynamicPropertyB

Command format: /scriptevent andexdb:setWorldDynamicPropertyB <propertyId: string>|<propertyValue: string|undefined>

andexdb:setWorldDynamicPropertyInt

Command format: /scriptevent andexdb:setWorldDynamicPropertyInt <propertyId: string>|<propertyValue: float|undefined>

andexdb:setWorldDynamicPropertyBoolean

Command format: /scriptevent andexdb:setWorldDynamicPropertyBoolean <propertyId: string>|<propertyValue: bool|undefined>

andexdb:getEntityDynamicProperty

Command format: /scriptevent andexdb:getEntityDynamicProperty <targets: targetSelector>|<propertyId: string>

andexdb:getWorldDynamicProperty

Command format: /scriptevent andexdb:getWorldDynamicProperty <anything: anything>

andexdb:setPlayerNameTag

Command format: /scriptevent andexdb:setPlayerNameTag <playerName: string>|<newPlayerNameTag: string>

andexdb:playerControllerCommandForm

Unused.

andexdb:entityControllerCommandForm

Command format: /scriptevent andexdb:entityControllerCommandForm <anything: anything>

andexdb:getRedstone

Command format: /scriptevent andexdb:getRedstone <anything: anything>

andexdb:getRedstoneAndLiquid

Command format: /scriptevent andexdb:getRedstoneAndLiquid <anything: anything>

andexdb:getBlockStates

Command format: /scriptevent andexdb:getBlockStates <anything: anything>

andexdb:getBlockStatesNoLiquid

Command format: /scriptevent andexdb:getBlockStatesNoLiquid <anything: anything>

andexdb:spawnWithNoAI

Spawns in an entity with no ai

Command format: /scriptevent andexdb:spawnWithNoAI <entityType: string>|[location: location]|[dimensionId: string]|[gametestStructureSpawnLocation: location]

andexdb:spawnSimulatedPlayer

Spawns in a simulated player.

Command format: /scriptevent andexdb:spawnSimulatedPlayer [playerName: string]|[location: location]|[dimensionId: string]|[gametestStructureSpawnLocation: location]

andexdb:createParticle

Creates a particle in the world with the specified molang variable set. Note: This is the only way to set particle molang variables, this can be very useful for customizing some particles, here are some examples of this listed below:

Command format: /scriptevent andexdb:createParticle <x: float|~>|<y: float|~>|<z: float|~>|[action: action]...

[action: action]

<actionType: actionType>:<molangVariable>:<newValue: float|R:G:B|R:G:B:A|x:y:z>

Action Types:

setFloat: / f:

newValue format: <float: float>

setColorRGB: / rgb:

newValue format: <r: float>|<g: float>|<b: float>

setColorRGBA: / rgba:

newValue format: <r: float>|<g: float>|<b: float>|<a: float>

setVector3: / v3:

newValue format: <x: float>|<y: float>|<z: float>

Chat Commands

Show/hide text

To use the chat commands, you will first need to give yourself the canUseChatCommands tag.

To get notified whenever a player runs a chat command then just give yourself the getAllChatCommands tag.

give

Inserts the specified number of the specified item type into the player's inventory. Note: The item parameter can be set to any valid item id, even ones that can't be used with the normal vanilla /give, such as ones that require an NBT editor to obtain, for example you could use minecraft:netherreactor to get a Nether Reactor Core. The count parameter can be any value from 0-255.

Command format: give <item: itemId> <count: int>

giveb

Creates a new stack of the specified item type of the specified size in the player's inventory. Note: The item parameter can be set to any valid item id, even ones that can't be used with the normal vanilla /give, such as ones that require an NBT editor to obtain, for example you could use minecraft:netherreactor to get a Nether Reactor Core. The count parameter can be any value from 0-255.

Command format: giveb <item: itemId> <count: int>

setitem

Creates a new stack of the specified item type of the specified size in the specified slot of the specified player's inventory. Note: The item parameter can be set to any valid item id, even ones that can't be used with the normal vanilla /give, such as ones that require an NBT editor to obtain, for example you could use minecraft:netherreactor to get a Nether Reactor Core. The count parameter can be any value from 0-255.

Command format: giveb <item: itemId> <count: int> <slot: int> [target: target]

gmc

Sets your game mode to creative.

gms

Sets your game mode to survival.

gma

Sets you game mode to adventure.

gmd

Sets your game mode to default.

gmp

Sets your game mode to spectator.

gmr

Sets your game mode to random.

Show/hide private warp commands

w

Custom Player Game Rule: playerCanUsePrivateWarps

Warps to the specified private warp.

Command Format: w <privateWarpName: string>

wset

Sets the position of the specified private warp or creates a new one if the specified one does not already exist.

Command Format: wset <dimensionId: dimensionId> <x: float|~> <y: float|~> <z: float|~> <privateWarpName: string>

<dimensionId: dimensionId>

Valid Values: ["overworld", "nether", "the_end", "minecraft:overworld", "minecraft:nether", "minecraft:the_end"]

The dimension to set the warp to be in.

wreset

wlist

Show/hide global warp commands

warp

warpset

warpset <dimensionId: dimensionId> <x: float|~> <y: float|~> <z: float|~> <globalWarpName: string>

Sets the specified global warp preset to the specified location in the specified dimension.

warpremove

warpreset

warplist

warplistrawdata

Show/hide item commands

item

(Versions 1.3.2+)

Command Formats:

  • item name <itemName: escapableString> (ex. item name §r§aMy Awesome Diamond Swordn...)
  • item lore <stringArray: JSONString> (ex. item lore ["§r§bLore line 1", "Lore line 2nLore line 3"])
  • item lorene <stringArray: JSONString> (ex. item lore ["§r§bLore line 1", "Lore line 2nLore line 3"])
  • item count <itemCount: int> (ex. item count 1)
  • item amount <itemAmount: int> (ex. item amount 1)
  • item enchantment add <enchantment: JSONString> (ex. item enchantment add {"level": 1, "type": "fire_aspect"}) (Versions 1.3.6+)
  • item enchantment addlist <enchantmentArray: JSONString> (ex. item enchantment add [{"level": 1, "type": "fire_aspect"}, {"level": 5, "type": "sharpness"}]) (Versions 1.3.6+)
  • item enchantment remove <enchantmentName: string> (ex. item enchantment remove fire_aspect) (Versions 1.3.6+)
  • item enchantment list (ex. item enchantment list) (Versions 1.3.6+)
  • item enchantment get<enchantmentName: string> (ex. item enchantment get fire_aspect) (Versions 1.3.6+)
  • item slot <slot: integer> <action: name|lore|lorene|count|amount|enchantment> [actionOptions: any] (ex. item slot 1 name §r§aMy Awesome Diamond Swordn...)
  • item canBreak <canBreakIdArray: JSONString> (ex. item canBreak ["minecraft:stone", "bedrock", "grass", "minecraft:diamond_ore"]) (COMING SOON!)
  • item canPlaceOn <canPlaceOnIdArray: JSONString> (ex. item canPlaceOn ["minecraft:stone", "bedrock", "grass", "minecraft:diamond_ore"]) (COMING SOON!)
  • item keepOnDeath <keepOnDeath: boolean> (ex. item keepOnDeath true) (COMING SOON!)
  • item lockMode <lockMode: inventory|none|slot> (ex. item lockMode inventory) (COMING SOON!)
  • item property set <propertyId: escapableString> <undefined|string|boolean|number>[propertyValue: JSONString] (ex. item property set "myProperty:propertyName" string "propertyValueTextLine1n Property Value Text Line 2") (COMING SOON!)
  • item property get <propertyId: escapableString> (ex. item property get "myProperty:propertyName") (COMING SOON!)
  • item property remove <propertyId: escapableString> (ex. item property remove "myProperty:propertyName") (COMING SOON!)
  • item property clear (ex. item property clear) (COMING SOON!)
  • item property listIds (ex. item property listIds) (COMING SOON!)
  • item property list (ex. item property list) (COMING SOON!)
  • item property listValues (ex. item property listValues) (COMING SOON!)

setplayernametag

invsee

Displays the contents of the selected player's inventory in the chat.

Command format: invesee <target: targetSelector>

offlineinfo

Displays data of an offline player in the chat.

Command format: offlineinfo <playerName: string>

offlineuuidinvsee

Displays data of an offline player in the chat.

Command format: offlineinfo <uuid: int>

offlineinvsee

Displays the contents of an offline player's inventory in the chat.

Command format: offlineinvesee <playerName: string>

offlineuuidinvsee

Displays the contents of an offline player's inventory in the chat.

Command format: offlineinvesee <uuid: int>

binvsee

Displays the contents of the selected block's inventory in the chat.

Command format: binvesee <dimensionId: string> <x: float|~> <y: float|~> <z: float|~>

einvsee

Displays the contents of the selected entity's inventory in the chat.

Command format: invesee <target: targetSelector>

invseeuuidmode

Displays the contents of the selected entity's inventory in the chat.

Command format: invesee <entityUUID: integer>

getEntityUUIDSelector

Gets the UUID of the selected entity.

Command format: getEntityUUIDSelector <target: targetSelector>

h#

Swaps your hotbar with the specified hotbar presets.

Command format: h<presetId: float> [containerRow: float]

Examples:

  • h1
  • h1 0.5
  • h0
  • h0 1

hset

Sets the location of the container for the specified hotbar preset.

Command formats:

Set preset: hset <presetId: float> <dimensionId: string> <position: x y z>

Remove preset: hset <presetId: float>

Examples:

  • hset 1 overworld ~~5~
  • hset 1 nether ^^^5
  • hset 1 the_end 100 57.6 10284.81723456
  • hset 1

top

Teleports you to the top solid block at your current x and z coordinates.

Command format: top

up

Goes up or down the specified number of blocks, and places glass at the block below the location that you are teleported to if there is not already a block there unless placeGlass is set to false.

Command format: up <distance: int> [placeGlass: bool]

extinguish

Removes fire and soul fire in the specified radius, the radius defaults to 10 if not specified.

Command format: extinguish [radius: number]

remexp

Removes explosive blocks in the specified radius, the radius defaults to 10 if not specified. Removes TNT and respawn anchors if in the overworld, removes TNT and beds if in the nether, and removes TNT, beds, and respawn anchors if in the end.

Command format: remexp [radius: number]

printlayers

Lists all of the non-air blocks at the specified x and z coordinates.

Command format: printlayers

run

Runs the specified command after the specified number of ticks. Note: Ticks must be set to a value that is at least 1.

Command format: run <delayTicks: int> <command: command>

eval

Runs the specified JаvaScript / Script API code. This can be very useful for doing things such as running more advanced commands with JаvaScript variables and conditions, or running commands with JаvaScript escape codes(for example to put multiple lines of text in the name of an entity or use special unicode characters in commands without needing to copy and paste them into your game). (Note: The names of the server modules are mcServer for the minecraft/Server module, mcServerUI for the minecraft/ServerUI module, and GameTest for the minecraft/GameTest module). Here are some examples:

Send a tellraw command message:

eval world.sendMessage("Example messagenNew LinenSender's Name: " + player.name + "nToken Emoji: uE105")

Give all players health boost with the level equal to their XP level:

eval world.getAllPlayers().forEach((p)=>{p.addEffect("health_boost", 200, {amplifier: player.level, showParticles: false}); })

Command format: eval <ScriptAPICode: JаvaScript>

morph

Additional Addons Required: ["8Crafter's Entity Scale, NBT, and Behavior Modifier, Bossbar, and Morph Addon"]

Morphs to the morph with the specified morph id.

Command format: morph <morphId: float>

tint

Additional Addons Required: ["8Crafter's Entity Scale, NBT, and Behavior Modifier, Bossbar, and Morph Addon"]

Command format: tint [r: float] [g: float] [b: float] [a: float] [useSpectatorMaterial: boolean] [targets: targets]

scale

Additional Addons Required: ["8Crafter's Entity Scale, NBT, and Behavior Modifier, Bossbar, and Morph Addon"]

Command format: scale <scale: float>

visualscale

Additional Addons Required: ["8Crafter's Entity Scale, NBT, and Behavior Modifier, Bossbar, and Morph Addon"]

Command format: visualscale <visualScale: float>

tps

Additional Addons Required: ["8Crafter's Entity Scale, NBT, and Behavior Modifier, Bossbar, and Morph Addon"]

(Versions 1.3.4+)

Command format: tps

Gets the current TPS values and displays them in the chat.

mainmenu

This chat command opens up the main menu of the add-on.

Command format: /mainmenu

Coming Soon!

Show/hide upcoming chat commands

spawn

Teleports you to the location set as spawn in the andexdb:worldSpawn world dynamic property or in the pack settings.

Command format: spawn

debug

setblock

Command format: setblock <position: position> <blockType: blockType> [isWatterlogged: boolean] [blockStates: JSON]

fill

Command format: fill <position1: position> <position2: position> <blockType: blockType> [isWatterlogged: boolean] [blockStates: JSON] [replace|keep|destroy|replaceDestroy] [blockType: blockType] [isWatterlogged: boolean] [blockStates: JSON] (ex. fill ~-50~-50~-50~50~50~50 cauldron true [{"fill_level": 7}, {"cauldron_liquid": "lava"}] replace flowing_lava false [])

ban

Bans the player with the specified name or UUID.

ban name <playerName: string> <durationInMinutes: float><reason: JаvaScriptString>

ban UUID <playerUUID: int> <durationInMinutes: float><reason: JаvaScriptString>

unban

banlist

tempban

Bans the player with the specified name or UUID until the specified data and time.

tempban name <unbanYear: int> <unbanMonth: int> <unbanDay: int> <unbanHour: int> <unbanMinute: int> <unbanSecond: int> <playerName: string>

tempban UUID <unbanYear: int> <unbanMonth: int> <unbanDay: int> <unbanHour: int> <unbanMinute: int> <unbanSecond: int> <playerUUID: int>

Compatibility With Other Chat Command Add-Ons

Show/hide text

This add-on has some features to allows for compatibility with other chat command add-ons. To allow other chat command add-ons to work with it, you just go into the main menu, go to the settings, then go to the global settings, then in the text box called validChatCommandPrefixes put in the prefix for the chat commands in that other add-on, if there are multiple or there are multiple different chat commands add-ons with different chat command prefixes, then just put all of the different chat command prefixes into the text box separated by a comma and a space right after the comma.

Compatibility With Other Chat Rank Add-Ons

Show/hide text

This add-on has some features to allows for compatibility with other chat rank add-ons. To allow other chat rank add-ons to work with it, you just go into the main menu, go to the settings, then go to the global settings, then just disable the toggle called customChatMessagesEnabled, this will disable the chat ranks part of the add-on so that you can use the chat ranks from the other add-on instead. WARNING: Disabling this will also disable the chat escape codes, and it might also break the chat commands depending on how the other add-on is set up.

Required Experimental Toggles

  • Molang Features
  • Holiday Creator Features
  • Upcoming Creator Features
  • Beta APIs

Terms of Use

You are NOT ALLOWED to:

  • Provide direct download links to my add-on, you may only share my work.ink link.
  • Provide your own links to my add-on.
  • Use any part of my code in your own add-on.
  • Claim any of my code as your own.
  • Upload this add-on to different sites without my permission.
  • Make videos about my add-on without properly crediting me and linking to this page.

You are FREE to:

  • Make videos about my add-on if you properly credit me and link to this page.
  • Make private modifications to my addon, but do not redistribute those modified versions of my add-on.

Updated on April 23

Version 1.12.2

  • Fixed an issue where the submit button for the private settings menu said "SaVE" instead of "Save".
Changelog for April 23 / Old Update

Version 1.12.1

  • Fixed an issue where many imports were missing from the script files.
  • Fixed an issue where the andexdb:tickingarea entity was missing from the files.
  • Fixed an issue where the andexdb:ifill_command_placeholder_block block was missing from the files.
  • Fixed an issue where the chargeable item and non-chargeable item items were missing from the files.
Changelog for April 22 / Old Update

Version 1.12.0

  • Updated add-on to 1.20.80!
  • Fixed an issue where the button for the debug sticks settings menu section would not appear, causing the menu to always be open and visible behind all of the other menus.
  • Changed the text on the submit buttons for the global settings, personal settings, edit command, and command settings menus to be "Save" instead of "Submit".
  • Changed the text on the submit buttons for the run command and script runner menus to be "Run" instead of "Submit".
  • Changed the text on the submit button for the create command menu to be "Create Command" instead of "Submit".
  • Changed the text on the submit button for the create explosion menu to be "Create" instead of "Submit".
  • Changed the text on the submit buttons for the edit item and edit item code menus to be "Done" instead of "Submit".
  • Removed the evalBeforeEvents:dataDrivenEntityTriggerEvent because it no longer works because sadly it was removed in the 1.20.80 update.
Changelog for April 22 / Old Update

Version 1.11.0

MASSIVE OVERHAUL UPDATE!

  • Added command categories, so you can find commands easier in the manage commands menu. The menu is now split up into different sections for each category, as well as a custom category for the custom commands, and an all category which is the same as the old version of the menu where it has all of the commands there.
  • Commands in the manage commands menus are anow sorted in alphabetical order.
  • Added command aliases so you can just type in a shorter version of some commands instead of typing out the whole thing!

MASSIVE UPDATES TO THE HELP COMMANDS!:

  • The help chatcommands sub-command now just displays a list of all of the available command and there descriptions just like the autocomplete for vanilla commands when you type / in the chat text box. To access the old version of it just type in help chatcommandsb, however the chatcommandsb one will NOT be updated.
  • Added a new help cmd <command: CommandName> subcommand to the help command, to use this just type help cmd and then the name of the command (you can also put the name of one of its aliases too), then it will display info on the command including it's description, syntaxes, and it's aliases, in the exact same style/format as the vanilla /help command does.

Command Description: scanenderchest

Here is an example of what it displays when you type in help cmd scanenderchest.

MASSIVE UPDATES TO THE IFILL COMMANDS!

  • Added the ability to generate circles, cylinders, spheres, hollow spheres, domes, semi-spheres, ovoids (3d ovals), and hollow ovoids, skygrids, and inverse skygrids with the ifill commands.
  • Added the walls mode to the ifill command which only fills in the walls of an area, similar to the //walls command in world edit in java edition.
  • Added the hollow mode to the ifill command which only fills in the sides, so it makes a hollow rectangular prism, silimar to the hollow option in the vanilla /fill command.
  • Added the outline mode to the ifill command which only fills in the outline, so it makes a outline of a rectangular prism, silimar to the outline option in the vanilla /fill command (though the vanilla one doesn't actually work anymore for some reason.
  • Added the pillars mode to the ifill command which only fills in the pillars on the corners of the shape.
  • Added the itfill command which is the same as the ifill command except it spawns in a tickingarea first to load in the chunks around it so the whole shape can generate.
  • Added the idtfill command which is the same as the itfill command but it allows you to specify the integrity of the fill, whatever value you put for the integrity will be the chance of each block actually generating, so if you put 100 all of them will generate, but if you put 50 then only half of the blocks will generate, and if you put 0 then none of the blocks will generate.
  • Updated the fill and ifill commands so now you can just type in fill or ifill with no parameters to get a full list of their syntaxes.
  • Added the ihollow, ithhollow, ioutline, itoutline, ipillars, and itpillars commands.
  • The format of the ifill command has been changed from
    ifill <from: x y z> <to: x y z> <tileName: Block> <blockStates: block states|JSON|Array> [replaceTileName: Block] [replaceBlockStates: block states|JSON|Array]
    to
    ifill <from: x y z> <to: x y z> <tileName: Block> <blockStates: block states> <ifillMode: replace|fill|cube|keep|walls|hollow|outline|pillars> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> <blockStates: block states> <ifillMode: replace|fill|cube|keep|walls|hollow|outline|pillars> <replaceTileName: Block> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> <blockStates: block states> [ifillMode: replace|fill|cube|keep|walls|hollow|outline|pillars] [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> <blockStates: block states> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> <ifillMode: replace|fill|cube|keep|walls|hollow|outline|pillars> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> <ifillMode: replace|fill|cube|keep|walls|hollow|outline|pillars> <replaceTileName: Block> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> [ifillMode: replace|fill|cube|keep|walls|hollow|outline|pillars] [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <blockStates: block states> <mode: skygrid|inverseskygrid> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <blockStates: block states> <mode: skygrid|inverseskygrid> <replaceTileName: Block> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <blockStates: block states> <mode: skygrid|inverseskygrid> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <blockStates: block states> <mode: skygrid|inverseskygrid> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <mode: skygrid|inverseskygrid> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <mode: skygrid|inverseskygrid> <replaceTileName: Block> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <skygridSize: float> <tileName: Block> <mode: skygrid|inverseskygrid> [clearContainers: boolean] ifill <from: x y z> <to: x y z> <tileName: Block> [clearContainers: boolean] ifill <from: x y z> <to: x y z> clear [clearContainers: boolean] ifill <from: x y z> <to: x y z> drain ifill <center: x y z> <radius: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <blockStates: block states> circle [replaceTileName: Block] [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <blockStates: block states> circle [replaceTileName: Block] [clearContainers: boolean] ifill <center: x y z> <radius: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <blockStates: block states> circle [clearContainers: boolean] ifill <center: x y z> <radius: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> circle [replaceTileName: Block] [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> circle [replaceTileName: Block] [clearContainers: boolean] ifill <center: x y z> <radius: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> circle [clearContainers: boolean] ifill <center: x y z> <radius: float> <tileName: Block> <blockStates: block states> <mode: circlex|circley|circlez|circlexy|circleyz|circlexyz|sphere|semisphere> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <tileName: Block> <blockStates: block states> <mode: circlex|circley|circlez|circlexy|circleyz|circlexyz|sphere|semisphere> <replaceTileName: Block> [clearContainers: boolean] ifill <center: x y z> <radius: float> <tileName: Block> <blockStates: block states> <mode: circlex|circley|circlez|circlexy|circleyz|circlexyz|sphere|semisphere> [clearContainers: boolean] ifill <center: x y z> <radius: float> <tileName: Block> <mode: circlex|circley|circlez|circlexy|circleyz|circlexyz|sphere|semisphere> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <tileName: Block> <mode: circlex|circley|circlez|circlexy|circleyz|circlexyz|sphere|semisphere> <replaceTileName: Block> [clearContainers: boolean] ifill <center: x y z> <radius: float> <tileName: Block> <mode: circlex|circley|circlez|circlexy|circleyz|circlexyz|sphere|semisphere> [clearContainers: boolean] ifill <center: x y z> <radius: float> <thickness: float> <tileName: Block> <blockStates: block states> <mode: hollowsphere|dome> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <thickness: float> <tileName: Block> <blockStates: block states> <mode: hollowsphere|dome> <replaceTileName: Block> [clearContainers: boolean] ifill <center: x y z> <radius: float> <thickness: float> <tileName: Block> <blockStates: block states> <mode: hollowsphere|dome> [clearContainers: boolean] ifill <center: x y z> <radius: float> <thickness: float> <tileName: Block> <mode: hollowsphere|dome> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <thickness: float> <tileName: Block> <mode: hollowsphere|dome> <replaceTileName: Block> [clearContainers: boolean] ifill <center: x y z> <radius: float> <thickness: float> <tileName: Block> <mode: hollowsphere|dome> [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <tileName: Block> <blockStates: block states> <mode: cylinderx|cylindery|cylinderz|cylinderxy|cylinderyz|cylinderxz|cylinderxyz> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <tileName: Block> <blockStates: block states> <mode: cylinderx|cylindery|cylinderz|cylinderxy|cylinderyz|cylinderxz|cylinderxyz> <replaceTileName: Block> [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <tileName: Block> <blockStates: block states> <mode: cylinderx|cylindery|cylinderz|cylinderxy|cylinderyz|cylinderxz|cylinderxyz> [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <tileName: Block> <mode: cylinderx|cylindery|cylinderz|cylinderxy|cylinderyz|cylinderxz|cylinderxyz> <replaceTileName: Block> [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <tileName: Block> <mode: cylinderx|cylindery|cylinderz|cylinderxy|cylinderyz|cylinderxz|cylinderxyz> <replaceTileName: Block> [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <tileName: Block> <mode: cylinderx|cylindery|cylinderz|cylinderxy|cylinderyz|cylinderxz|cylinderxyz> [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <blockStates: block states> <mode: tunnel|cylinder> [replaceTileName: Block] [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <blockStates: block states> <mode: tunnel|cylinder> [replaceTileName: Block] [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <blockStates: block states> <mode: tunnel|cylinder> [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <mode: tunnel|cylinder> [replaceTileName: Block] [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <mode: tunnel|cylinder> [replaceTileName: Block] [clearContainers: boolean] ifill <center: x y z> <radius: float> <length: float> <axis: x|y|z|xy|yz|xz|xyz> <tileName: Block> <mode: tunnel|cylinder> [clearContainers: boolean] ifill <center: x y z> <radius: x y z> <offset: x y z> <length: float> <tileName: Block> <blockStates: block states> hollowovoid [replaceTileName: Block] [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: x y z> <offset: x y z> <length: float> <tileName: Block> <blockStates: block states> hollowovoid [replaceTileName: Block] [clearContainers: boolean] ifill <center: x y z> <radius: x y z> <offset: x y z> <length: float> <tileName: Block> <blockStates: block states> hollowovoid [clearContainers: boolean] ifill <center: x y z> <radius: x y z> <offset: x y z> <length: float> <tileName: Block> hollowovoid [replaceTileName: Block] [replaceBlockStates: block states] [clearContainers: boolean] ifill <center: x y z> <radius: x y z> <offset: x y z> <length: float> <tileName: Block> hollowovoid [replaceTileName: Block] [clearContainers: boolean] ifill <center: x y z> <radius: x y z> <offset: x y z> <length: float> <tileName: Block> hollowovoid [clearContainers: boolean]

OTHER CHANGES!

  • Added the givec command which lets you specify an item based on ItemJSON, you can include all the data of the item in this, such as name, lore, stack size, dynamic properties, enchantments, durability, canDestroy, canPlaceOn, lockMode, keepOnDeath, etc. To get the full format of this command as well as some examples just type in givec with no parameters.
  • Added the setitemb command which lets you specify an item to be put in the specified slot based on ItemJSON, you can include all the data of the item in this, such as name, lore, stack size, dynamic properties, enchantments, durability, canDestroy, canPlaceOn, lockMode, keepOnDeath, etc. To get the full format of this command as well as some examples just type in setitemb with no parameters.
  • Updated the item command so now you can just type in item with no parameters to get a full list of its syntaxes.
  • Added the item candestroy <blockTypes: string[]>, item canplaceon <blockTypes: string[]>, item json <itemJSON: ItemJSON> and item jsonb <itemJSON: ItemJSON> sub-commands, type in help itemjsonformat to see the full format for the ItemJSON as well as some examples.
  • The cloneitem, transferitem, shuffleinventorym swapitems, and scanenderchest commands now use target selectors instead of player names.
  • Added the drain command to drain liquids in the specified radius, the radius defaults to 10 if not specified.
  • Added the createexplosion command to create an explosion. To get the full format of this command just type in createexplosion with no parameters.
  • Made the create explosion section of the main menu functional.
  • Removed the block states from the andexdb:ifill_command_placeholder_block block to make it less laggy.
  • Added a new andexdb:tickingarea entity to create tickingareas without having to use the /tickingarea command, it has a andexdb:tick_radius property to determine how big the tickingarea is, it ranges from 0-6, values 0 and 1 are just 0, it has 6 aliases: andexdb:tickingarea_0, andexdb:tickingarea_2, andexdb:tickingarea_3, andexdb:tickingarea_4, andexdb:tickingarea_5, and andexdb:tickingarea_6.
  • Fixed a bug where the explosion protected areas did not work if the explosion had no source and would instead just produce an error in the console.
  • Fixed an issue where custom commands set to use JаvaScript Code did not work.
  • Fixed a bug where the edit code and edit properties menus in the item editor menu only opened for stackable items when it was actually only supposed to open for non-stackable items.
Changelog for April 11 / Old Update

Version 1.10.2

  • Added a new preset block for the ifill commands.
  • Added 2 new items andexdb:chargeable_item_5 and andexdb:non_chargeable_item_1.
  • Added a new srun function, it is exactly the same as system.run so you can use it anywhere you would normally use system.run to make it shorter.
  • Added a new invseep command, it is the same as invsee except for the fact that it also displays the dynamic properties of the items.
  • Added a new einvseeb command, (it is actually the old version of the einvsee command).
  • Added the terminal command to open up the command runner UI.
  • Added the managecommands command to open up the manage commands UI.
  • Added the manageplayers command to open up the manage players UI.
  • Updated the invsee command to include the equipment of the player as well.
  • Updated the binvsee command and changed its syntax to binvsee <dimension: dimension|~> <block: x y z>.
  • Updated the einvsee and invseeuuidmode commands to include the equipment of the entity as well.
  • Added the item property and item slot <slot: int> property sub-commands to modify the dynamic properties on non-stackable items.
  • Changed the mainmenu and settings commands to open up the menu by directly running the function to open up the UI instead of using the /scriptevent command to make it faster.
  • Updated the fill command to give command feedback saying how many blocks were filled.
  • Updated the ifill command to match blocks where a block state that was not specified was the default value, so if you specify a block type to replace without any block states it will replace all blocks of that type instead of only the ones with the default block states.
  • Updated the ifill command to include the time in milliseconds that it took to complete the ifill command in the command feedback.
  • Some Minor Bug Fixes.
  • Added the iwalls command to fill in the walls of an area.
  • Added the igfill command which is the same as the ifill command but it uses a generator function so that is will never trigger a script hang error if the fill takes longer than 10 seconds.
  • Added the stopgen command to stop a generator function such as the igfill command.
  • Added the ifillb command which is just the old version of the ifill command.
  • Added the clear to clear player's inventories of any item type including NBT Editor only ones, however it is currently mostly non-functional and extremely buggy, so it is not recommended to use it in this version.
  • Updated the swapinventories command to not always require quotation marks around players names so that you can just use it normally, it will work with or without quotation marks now, however if the players name contains a space then you will need to include the quotation marks.
  • Added the swapinventoriesb command which is just the old version of the swapinventories command.
  • Added the compressitems command which compresses your entire inventory into 2 chests and then inserts those chests into your inventory.
  • Added the compressitemsshulker command which compresses your entire inventory into 2 shulker boxes and then inserts those shulker boxes into your inventory, and yes, this command can put shulker boxes inside of other shulker boxes.
  • Added the compressitemscontainer command which compresses your entire inventory into whatever container block type you specify and then inserts those container blocks into your inventory, if the block is not a container block type then it will give you an error saying that it is not a container block, some valid container types include: jukeboxes, chests, barrels, shulker boxes, dyed shulker boxes, beacons, lecterns, trapped chests brewing stands, furnaces, blast furnaces, smokers, hoppers, droppers, dispensers, etc. WARNING!: If you choose brewing stand some of your items may be deleted because it tries to put some of the items in the blaze powder slot and instead of producing an error which would make it try again in another slot, it instead just deletes the items, also if you choose a beacon all of your items will be deleted because even though it has 1 inventory slot, the items in it just get deleted for some reason!
  • Added the compressitemscontainerb command which is the same as the compressitemscontainer command but it lets you specify block states too, but it is very buggy.
  • Added the scanenderchest command which scans the contents of a player's ender chest and then displays them.
  • Added the clearenderchestslot command which clears a slot of a player's ender chest.
  • Added the clearenderchest command which clears a player's ender chest.
  • Added the filljunk command which a fills player's inventory with junk items.
  • Added the fillrandom command which a fills player's inventory with random items.
  • Added the fillop command which a fills player's inventory with op items.
  • Added the fillillegal command which a fills player's inventory with illegal items.
  • Added the chunkban command which fill a shulker box with the item in the specified slot, and then put the shulker box in that slot, and repeats this the specified number of times. WARNING!: This command can actually chunk ban you if you are not careful, that is why this command requires additional tags to be used that the other commands don't require, it is not recommended to use this command!
  • Updated the extinguish command to be able to put out all of the different block states of the fire.
  • Updated the remexp command to be able to put out all of the different block states of the explosive blocks.
Changelog for April 08 / Old Update

Version 1.9.0

  • CRITICAL BUG FIX!
  • Fixed a bug where custom chat commands were able to be run by any player if the prefix was set to the default.
  • Fixed a bug where the custom commands editor would always have the command type dropdown default to commands even if it is actually set to JаvaScript.
  • Added 4 new chat commands: copyitem, extinguish, remexp, swapinventoriesb.
Changelog for April 06 / Old Update

Version 1.8.0

  • CRITICAL BUG FIX!
  • Fixed a bug where chat commands settings defaulted to not requiring players to have the canUseChatCommands tag, which caused any player to be able to run the chat commands.
  • Fixed a bug where the run command button in the main menu did not do anything.
  • Added 6 new chat commands: cloneitem, dupeitem, transferitem, swapitems, takeitem, swapinventories.
Changelog for March 25 / Old Update

Version 1.7.0

  • Added in the descriptions and formats of some more of the commands, as well as adding in a few of the commands that were missing.
  • Added 2 new chat commands: fill and ifill.
  • The new fill command is similar to the vanilla /fill command except that it can be used with any block in the game, even nbt editor only ones, so for example if you wanted to replace every Nether Reactor Core in a ~-5~-5~-5~5~5~5 block radius around you with a top half stone slab, you would just do this command right here: fill ~-5~-5~-5~5~5~5 stone_stairs ["top_half_bit"=true] netherreactor, or if you wanted to replace every top half stone slab in a ~-5~-5~-5~5~5~5 block radius around you with Glowing Obsidian, you would just do this command right here: fill ~-5~-5~-5~5~5~5 glowingobsidian stone_stairs ["top_half_bit"=true].
  • The new ifill command is the same as the new fill command except for the fact that it has ABSOLUTELY NO SIZE LIMIT so you could fill an area as large as you wanted without getting an error message saying that there were too many blocks in the area to fill. For example if you tried the following command with fill or /fill instead of ifill then it would give you an error, but with ifill it actually works: ifill ~-50~-50~-50~50~50~50 stone.
  • Added a bunch of new JаvaScript functions for launching/shooting entities/projectiles:

    export function shootProjectile(entityType, location, velocity, shootOptions = {}, setProjectileComponentPropertiesCallbackFn=(a)=>{}){let entityProjectileComponent = location.dimension.spawnEntity(String(entityType), location).getComponent("projectile"); try{setProjectileComponentPropertiesCallbackFn(entityProjectileComponent)}catch(e){console.error(e, e.stack)}; entityProjectileComponent?.shoot(velocity, shootOptions)};
    export function shootEntity(entityType, location, velocity, setProjectileComponentPropertiesCallbackFn=(a)=>{}){let entity = location.dimension.spawnEntity(String(entityType), location); try{setProjectileComponentPropertiesCallbackFn(entity)}catch(e){console.error(e, e.stack)} ; entity.applyImpulse(velocity)};
    export function shootProjectileB(entityType, location, rotation, power, shootOptions = {}, setProjectileComponentPropertiesCallbackFn=(a)=>{}){let entityProjectileComponent = location.dimension.spawnEntity(String(entityType), location).getComponent("projectile"); try{setProjectileComponentPropertiesCallbackFn(entityProjectileComponent)}catch(e){console.error(e, e.stack)}; entityProjectileComponent?.shoot(caretNotationC(Vector.zero, Vector.multiply(Vector.forward, power), rotation), shootOptions)};
    export function shootEntityB(entityType, location, rotation, power, setProjectileComponentPropertiesCallbackFn=(a)=>{}){let entity = location.dimension.spawnEntity(String(entityType), location); try{setProjectileComponentPropertiesCallbackFn(entity)}catch(e){console.error(e, e.stack)}; entity.applyImpulse(caretNotationC(Vector.zero, Vector.multiply(Vector.forward, power), rotation))};

Changelog for March 23 / Old Update

Version 1.6.0

  • MASSIVE OVERHAUL TO COMMANDS! Commands now each have their own settings sections with options such as settings where the person running them need to have op to use them, the minimum required permission level to use the commands (still a work in progress), the required tags to use it (so you can make it so even players who do not have the canUseChatCommands tag can still use it), and whether or not it is enabled. You can also see a list of every command that can be used in the new main menu section for Manage Commands, in there if you click on a command you can see info like the version of the command, the name of it, the format of it, the description, etc. , in there are also options to manage the settings of that specific command, in the main menu section for Manage Commands you can also create your own custom commands, and even set a custom command prefix for them, and so much more.
  • Made it so that the add-on now also saves a player's GameMode and Spawn Point in the savedPlayer data so you can now also check that even when that player is offline.
  • Fixed an issue where the back button in one of the sections of the restricted areas manager main menu section did not work.
  • Fixed a bug with the debug stick where it would not cycle through all of the block states options with certain blocks, such as wool, and it would just cycle back and forth through a few of the options but never the others.
Changelog for March 12 / Old Update

Version 1.5.1

  • IMPORTANT CRITICAL HOTFIX UPDATE! Fixed a critical bug in version 1.5.0 where the scripts of the add-on would not start if the add-on was used on a realm because for some reason it doesn't work on realms if it has the @minecraft/debug-utilities module being imported, so in this update that was removed to fix the issue.
Changelog for March 12 / Old Update

Version 1.5.0

  • Updated Add-On To 1.20.70!
  • Fixed the eval command.
Changelog for March 08 / Old Update

Version 1.4.0

  • MASSIVE INTERNAL SCRIPTING OVERHAUL! This will make it much easier and quicker to add much bigger and better features in the future. The main part of this overhaul is that the Main.js file was split into 6 different files: Main.js, Main/ban.js, Main/commands.js, Main/coordinates.js, Main/player_save.js, Main/spawn_protection.js, and Main/ui.js.
  • Started switching the UIs from using /scriptevent to using functions to increase performance and reduce delays between the UIs opening.
  • ADDED A NEW SECTION TO THE MAIN MENU: Manage Players! This main menu section shows all players who have ever joined your world/realm/server while you have had version 1.4.0 of this add-on added onto the world, this new UI section allows you to do things like ban players, check their inventories, check when they were last online, check all of their saved player data, such as where their last known location and rotation was, their last gamemode, etc. , and the best part is that this all works even when those players are offline, so you can check them for illegal items even if they have already logged of and are offline.
  • ADDED A TON OF NEW SETTINGS OPTIONS, IN BOTH THE GLOBAL AND PERSONAL SETTINGS SECTIONS!
  • Added the ability to have a global settings option be different for a specific user, such as the chat rank prefix, by adding duplicates of the options into the personal settings section that override those global settings for that specific user!
  • ADDED A NEW SECTION TO THE VANILLA SETTINGS MENU TO SHOW YOU THAT THE ADD-ON IS ACTIVE AND WHAT VERSION YOU HAVE ON! It also has the URLs to the add-on page (this page), and in a future update might also have some tutorials on how to use the add-on in it!
Changelog for March 03 / Old Update

Version 1.3.6

  • Removed an extra added comma in some console error messages.
  • Fixed an issue with the binvsee command where it would error because of an accidentally left in .location property on the stringified JSON for the block location and dimension.
  • Fixed lots of bugs with the item command.
Changelog for March 02 / Old Update

Version 1.3.5

  • Fixed an issue where the item command did not work properly.
  • Changed the item lore sub-command to parse the inputted text as JSON before evaluating any escape characters in it.
  • Added the item lorne sub-command which does not evaluate the escape characters again after the JSON is parsed (which already evaluates JаvaScript escape characters).
  • Added the item property sub-command which is currently non-functional.
  • Added the item enchantments sub-command which modifies item enchantments (it has many sub-commands including add, addList, remove, set (non-functional), list, get, clear, and test (non-functional)).
Changelog for March 02 / Old Update

Version 1.3.4

  • Reverted an accidental reversion in v1.3.3 for the fix for the binvsee command in v1.3.2.
  • Fixed an issue with the binvsee command not parsing the coordinate values properly.
  • Changed the invseeuuidmode command so that it can invsee into entities now too instead of just only players.
  • Added a new tps command (requires ["8Crafter's Entity Scale, NBT, and Behavior Modifier, Bossbar, and Morph Addon"] in order to actually function properly).
Changelog for March 2 / Old Update

Version 1.3.3

  • Changed the invseeuuidmode command to reset the formatting codes between every item so that if the selected player has an item in their inventory with an obfuscated name, then it won't cause all the rest of the item data to also be obfuscated as well.
  • Fixed an issue where the binvsee command did not work properly.
  • Reverted a fix for the einvsee command did not parsing the target selector properly, because it was not broken before, and the fix actually just broke it.
  • Changed the binvsee, einvsee, invseeuuidmodle commands so that it also displays the enchantments of the items.

Technical changes (JаvaScript/Script Eval):

  • Added a new JаvaScript function (and it can be used in script eval):

    function getArrayElementProperty(array, property){array.forEach((v, i, a)=>{array[i]=eval(`v.${property}`)}); return array}

Changelog for March 22 / Old Update

Version 1.3.2

  • Changed the invsee command to that if the item is not enchantable is shows the enchantments as [] instead of as undefined.
Changelog for March 02 / Old Update

Version 1.3.1

  • Changed the invsee, binvsee, einvsee, offlineinvsee, and offlineuuidinvee commands to reset the formatting codes between every item so that if the selected player has an item in their inventory with an obfuscated name, then it won't cause all the rest of the item data to also be obfuscated as well.
  • Fixed an issue where the binvsee command did not work properly.
  • Fixed an issue where the einvsee command did not parse the target selector properly.

Technical changes (JаvaScript/Script Eval):

  • Added a new JаvaScript function (and it can be used in script eval):

    function arrayModifier(array, callbackfn){array.forEach((v, i, a)=>{array[i]=callbackfn(v, i, a)}); return array}>

  • Made the JаvaScript ban class able to parse the inputted format version instead of always outputting the current format version.
Changelog for February 29 / Old Update

Version 1.3.0

  • Fixed a bug where the option to add a list of chat command prefixes for compatibility other add-ons did not work properly.
  • Changed the invsee, offlineinvsee, offlineuuidinvsee commands so that it also displays the enchantments of the items.
  • Changed the offlineinfo and offlineuuidinfo commands to reset the formatting codes between every property so that if the selected player has an item in their inventory with an obfuscated name, then it won't cause all the rest of the data to also be obfuscated as well.
  • Changed the offlineinvsee and offlineuuidinvsee commands to also display the format version that the selected player's data was saved in.
  • Replaced the mostly useless settings commands with a new one that just opens up the settings menu.
  • Added settings and datapickblock to the list of commands shown in the help chatcommands command.
  • Fixed a bug where the run command did not run the very first part of the command.
  • Fixed a bug where the tint command couldn't use the target selectors.
  • Fixed a bug where the new options to change the prefixes and suffixes for displaying chat ranks and also player names, as well as the custom separator between the player's name and the message, did not work in a majority of situations, especially for the player name prefixes and suffixes and the separator for the player's name and message.
  • Added the new custom eval before event dynamic property: evalBeforeEvents:chatSendBeforeModifiedMessageSend.
  • Fixed a bug where the UI for editing the restricted areas selected the areas for the type of area below the one that you actually selected.
Changelog for February 29 / Old Update

Version 1.2.2

  • Fixed a bug with version 1.2.0 where the add-on did not work on realms.
  • Fixed a bug with version 1.2.1 where the add-on did not work at all.
  • WARNING!: a change in the UUID of the behavior pack was required to fix the issues so any data stored in the dynamic properties of the add-on on versions 1.2.1 and below WILL NOT BE TRANSFERRED to versions 1.2.2 and above so make sure that you write down any variable that you want to transfer so that you can manually set them again.
Changelog for February 27 / Old Update

Version 1.2.0

  • Fixed a bug where the eval chat command did not work.
  • Fixed a few bugs where the caret notation (^^^) coordinates were not evaluating properly.
  • Added new script functions for calculating / modifying coordinates in the same ways as the /execute command.
  • Added the ability for the add-on to save player data so that you can see info like when a certain player was last online and also invsee into a player's inventory even when they are offline.
  • Added the offlineinvsee chat command to invsee into the inventory of a player who is offline.
  • Added the offlineuuidinvsee chat command to invsee into the inventory of a player who is offline by using their uuid.
  • Added the offlineinfo chat command to see data of a player who is offline.
  • Added the offlineuuidinfo chat command to see data of a player who is offline by using their uuid.
  • Added the personal settings section to the settings menu, currently the only option is timeZone which lets you set the time zone that the time is displayed in when invseeing into an offline player's inventory of using offlineinfo to see the data of an offline player.
Changelog for January 31 / Old Update

Version 1.1.0

  • Updated the add-on to 1.20.60!
Download links
v1.13.0 (for 1.20.8x) (work.ink)
v1.11.0 (for 1.20.7x) (work.ink)
v1.3.6 (for 1.20.6x) (work.ink)
v1.0.0 (for 1.20.5x) (work.ink)
My YouTube Channel
My Website
Patreon
Supported versions
1.20.80 1.20.70 1.20.60 1.20.50
Tags
3 108
1 comment
  1. 8Crafter profile avatar 8Crafter
    Another massive overhaul update is going to be coming out very soon!