diff options
| author | mat <git@matdoes.dev> | 2023-07-15 16:35:23 -0500 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2023-07-15 16:35:23 -0500 |
| commit | a839c6a923a737fab61536cec0258fdd83106368 (patch) | |
| tree | 8dfdb984da72dd60ad77a5f171e7db4efd296103 /azalea-brigadier/src | |
| parent | cde7e35046b726b07bf3e067c080b85a12b2fd74 (diff) | |
| download | azalea-drasl-a839c6a923a737fab61536cec0258fdd83106368.tar.xz | |
fix brigadier booleans
Diffstat (limited to 'azalea-brigadier/src')
| -rw-r--r-- | azalea-brigadier/src/arguments/bool_argument_type.rs | 12 | ||||
| -rwxr-xr-x | azalea-brigadier/src/lib.rs | 1 |
2 files changed, 10 insertions, 3 deletions
diff --git a/azalea-brigadier/src/arguments/bool_argument_type.rs b/azalea-brigadier/src/arguments/bool_argument_type.rs index 57fa8a03..1bff8aa3 100644 --- a/azalea-brigadier/src/arguments/bool_argument_type.rs +++ b/azalea-brigadier/src/arguments/bool_argument_type.rs @@ -6,16 +6,22 @@ use crate::{ use super::ArgumentType; -impl ArgumentType for bool { +#[derive(Default)] +struct Boolean; + +impl ArgumentType for Boolean { fn parse(&self, reader: &mut StringReader) -> Result<Rc<dyn Any>, CommandSyntaxException> { - Ok(Rc::new(reader.read_boolean())) + Ok(Rc::new(reader.read_boolean()?)) } } +pub fn bool() -> impl ArgumentType { + Boolean +} pub fn get_bool<S>(context: &CommandContext<S>, name: &str) -> Option<bool> { context .argument(name) - .unwrap() + .expect("argument with name not found") .downcast_ref::<bool>() .cloned() } diff --git a/azalea-brigadier/src/lib.rs b/azalea-brigadier/src/lib.rs index 161ef83a..4f704d46 100755 --- a/azalea-brigadier/src/lib.rs +++ b/azalea-brigadier/src/lib.rs @@ -14,6 +14,7 @@ pub mod tree; pub mod prelude { pub use crate::{ arguments::{ + bool_argument_type::{bool, get_bool}, double_argument_type::{double, get_double}, float_argument_type::{float, get_float}, integer_argument_type::{get_integer, integer}, |
