Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.


Moxvallix's Datapack Creation Library

Moxlib aims to make Datapack creation fun and enjoyable.

With a predictable API, and a focus on data driven functionality, Moxlib serves as an excellent foundation to any Datapack project.

Moxlib aims to run as little as possible on the tick function. Most functions in the pack only run when they are called.

Another focus of the pack is instantaneous functions. Most of the functions in the pack have been designed to run in a single tick, and do not use schedules, or other timer based methods.

Moxlib is licensed under the GNU LGPL, meaning you are free to use it in your own Datapacks, themselves under any license, but any changes you make to Moxlib must be released under the terms of the LGPL. See for full license.

Suggestions and contributions welcomed!



Any function outside of the moxlib:api folder is considered private, and is not supported.

Functions that take in data storage as an input, will read and write data at the same path you would use to call the function.

Eg. /function moxlib:api/helpers/block/get writes to /data get storage moxlib:api/helpers/block/get

However, the test and tui modules are an exception, using more semantic language for their respective tasks. See their individual documentations.

Functions will usually take in a target. Think of this as the main input. It is the piece of data that the function will manipulate. Functions will occasionally ask for other data as well.

Functions, if they output anything, will write to output. Optionally, they might also record their success to a success tag, although not all functions implement this.

Some functions and modules are marked as "experimental". These require Moxlib Exp to function.



See documentation...

The helpers module contains small, miscellaneous, but helpful functions.

These functions are too small and specific to warrant a module of their own.


See documentation...

The data module contains functions specifically for working with arrays of NBT data.


See documentation...

The test module contains functions for testing other functions.

Currently, it can only test to see that a function returned the correct value.


See documentation...

The TUI module allows for easy creation of data driven TUIs.


See documentation...

The Math module provides some helpful math functions.


See documentation...

The Player module exposes some helpful information about the player.


See documentation...

The String module provides functions to manipulate strings.


See documentation...

Moxlib provides a dimension for storing and accessing blocks. (Requires Moxlib Exp)

External resources

Project members




Technical information

Project ID