aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2023-07-15 16:35:23 -0500
committermat <git@matdoes.dev>2023-07-15 16:35:23 -0500
commita839c6a923a737fab61536cec0258fdd83106368 (patch)
tree8dfdb984da72dd60ad77a5f171e7db4efd296103 /azalea-brigadier/src
parentcde7e35046b726b07bf3e067c080b85a12b2fd74 (diff)
downloadazalea-drasl-a839c6a923a737fab61536cec0258fdd83106368.tar.xz
fix brigadier booleans
Diffstat (limited to 'azalea-brigadier/src')
-rw-r--r--azalea-brigadier/src/arguments/bool_argument_type.rs12
-rwxr-xr-xazalea-brigadier/src/lib.rs1
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},