PokeJofeJr4th / minescript

Rust-based language to create Minecraft datapacks
MIT License
6 stars 2 forks source link
datapack language mc minecraft rust

Rust

Minescript

Minescript is a powerful language with a Rust transpiler that turns it into a Minecraft datapack. It simplifies many of minecraft commands' roughest edges, like control flow, variables, and interoperability between commands, advancements, and recipes.

Usage

First, download Minescript with the instructions in the quickstart guide. Next, set up your source file. The following is a simple, fully-functional example:

@item {
    base: cookie
    name: Goodberry
    nbt: {customModelData:10007}
    on_consume: [
        @effect {
            effect: saturation
            level: 10
            duration: 1
        }
    ]
    recipe: {
        pattern: [
            " l "
            "lbl"
            " l "
        ]
        key: {
            b: sweet_berries
            l: lapis_lazuli
        }
    }
}

To compile to a Minecraft datapack, run the following command:

minescript src.txt <namespace>

where namespace is the name of your datapack. Once you provide the location of your .minecraft folder, Minescript will create a folder ready to be dropped into the datapacks folder of your minecraft world!

For more information on how to use the command line interface, see the command line format. To learn more about what Minescript can do, check out the wiki and examples.

Contributing

Contributions to the Minescript project are welcome. Please provide as much reproducibility information as you can for issues. Pull requests should be well-documented unless they are small. Hate speech, harassment, etc. are not tolerated.