32 lines
985 B
Rust
32 lines
985 B
Rust
use std::path::Path;
|
|
|
|
// import the prelude to get all the necessary structs
|
|
use shulkerbox::prelude::*;
|
|
|
|
fn main() {
|
|
let mut dp = Datapack::new("main", 20).with_supported_formats(16..=20);
|
|
|
|
// get the namespace "test"
|
|
let namespace = dp.namespace_mut("test");
|
|
|
|
// get the function "foo" of the namespace "test" and add some commands
|
|
let foo_function = namespace.function_mut("foo");
|
|
|
|
let ex = Execute::If(
|
|
Condition::from("entity A"),
|
|
Box::new(Execute::Run(Box::new("say A".into()))),
|
|
Some(Box::new(Execute::If(
|
|
Condition::from("entity B"),
|
|
Box::new(Execute::Run(Box::new("say B".into()))),
|
|
Some(Box::new(Execute::Run(Box::new("say C".into())))),
|
|
))),
|
|
);
|
|
foo_function.add_command(ex);
|
|
|
|
// compile the datapack
|
|
let v_folder = dp.compile(&CompileOptions::default());
|
|
|
|
// place the compiled datapack in the "./dist" folder
|
|
v_folder.place(Path::new("./dist")).unwrap();
|
|
}
|