Rust library for creating Minecraft datapacks
Go to file
Moritz Hölting 581e8a3fff Fix conditionals with more than one interpretation of the boolean formula 2024-04-07 00:13:49 +02:00
src Fix conditionals with more than one interpretation of the boolean formula 2024-04-07 00:13:49 +02:00
.gitignore Add initial project files 2024-03-21 16:25:57 +01:00
Cargo.toml Implement group command refactor function compilation 2024-04-02 16:47:50 +02:00
README.md Basic implementation of execute 2024-03-28 00:58:46 +01:00

README.md

Shulkerbox-rs

Create datapacks with all the features of rust you like.

Example Usage

use shulkerbox::{
    datapack::{Datapack, Function, Namespace},
    util::compile::CompileOptions,
};

let mut dp = Datapack::new("shulkerpack", 20) // Create a new datapack with the name "shulkerpack" and the pack format 20
    .with_description("I created this datapack with rust") // Add a description to the datapack
    .with_supported_formats(16..=20) // Add the supported formats of the datapack
    .with_template_folder(Path::new("./template")) // Add a template folder to the datapack. This will include all files in the template folder in the root of the datapack and can be used for including the "pack.png" file
    .unwrap();
let namespace = datapack.namespace_mut("shulker"); // Create a new namespace with the name "shulker"

let hello_function = namespace.function_mut("hello"); // Create a new function
hello_function.add_command("say Hello, world!"); // Add a command to the function

let v_folder = dp.compile(&CompileOptions::default()); // Compile the datapack with default options

v_folder.place(Path::new("./dist")).unwrap(); // Place the datapack in the dist folder
v_folder.zip(Path::new("./dist.zip")).unwrap(); // Zip the datapack to the dist.zip file