Skip to main content

rna/
lib.rs

1//! This is a library for interpreting "Loot Table Script".
2//! 
3//! Loot Table Script is created by [Minecraft Datapacks](https://discord.gg/56ySADc) community to create more robust loot table syntax.
4//! # Examples
5//! ```should_panic
6//! use rna::utils;
7//! 
8//! let loot_a = utils::interpret_file("test/loot_a.ult", "resource").unwrap();
9//! let loot_b = utils::interpret_file("test/loot_b.ult", "resource").unwrap();
10//! 
11//! let merged_loot = utils::merge(&[loot_a, loot_b], "resource").unwrap();
12//! ```
13
14
15mod megu;
16mod util;
17
18pub use megu::{
19	MeguScript,
20	MeguDrop,
21	Namespace,
22	Extension
23};
24
25/// Module containg every errors type in this crate
26pub mod error {
27	pub use crate::megu::{MeguError, MeguResult};
28	pub use crate::megu::script::{ScriptFormatError, ReadError};
29	pub use crate::megu::namespace::DecodeError;
30	pub use crate::megu::extension::ExtensionError;
31	pub use crate::megu::drop::DropTypeError;
32	pub use crate::util::MetaError;
33}
34
35/// MeguScript module
36pub mod script {
37	pub use crate::megu::script::{MeguScript, ScriptFormat, ScriptFormatError, ReadError};
38}
39
40/// Namespace module
41pub mod namespace {
42	pub use crate::megu::namespace::{Namespace, DecodeError};
43}
44
45/// Extension module
46pub mod extension {
47	pub use crate::megu::extension::{Extension, ExtensionError};
48}
49
50/// MeguDrop module
51pub mod drop {
52	pub use crate::megu::drop::{MeguDrop, DropType, DropFormat, DropTypeError};
53}
54
55/// Utility module
56pub mod utils {
57	pub use crate::megu::{interpret_file, merge, MeguResult, MeguError};
58	pub use crate::util::{check_meta, is_loot_table_script, MetaError};
59}