aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/errors
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-brigadier/src/errors')
-rw-r--r--azalea-brigadier/src/errors/command_syntax_error.rs4
-rw-r--r--azalea-brigadier/src/errors/mod.rs21
2 files changed, 23 insertions, 2 deletions
diff --git a/azalea-brigadier/src/errors/command_syntax_error.rs b/azalea-brigadier/src/errors/command_syntax_error.rs
index fd97b050..a29c95ee 100644
--- a/azalea-brigadier/src/errors/command_syntax_error.rs
+++ b/azalea-brigadier/src/errors/command_syntax_error.rs
@@ -77,8 +77,8 @@ impl CommandSyntaxError {
&self.kind
}
- pub fn input(&self) -> &Option<String> {
- &self.input
+ pub fn input(&self) -> Option<&str> {
+ self.input.as_deref()
}
pub fn cursor(&self) -> Option<usize> {
diff --git a/azalea-brigadier/src/errors/mod.rs b/azalea-brigadier/src/errors/mod.rs
index facebe5e..49d0f956 100644
--- a/azalea-brigadier/src/errors/mod.rs
+++ b/azalea-brigadier/src/errors/mod.rs
@@ -3,3 +3,24 @@ mod command_syntax_error;
pub use builtin_errors::BuiltInError;
pub use command_syntax_error::CommandSyntaxError;
+
+pub trait CommandResultTrait {
+ fn new(i: i32) -> Self;
+ fn as_i32(&self) -> Option<i32>;
+}
+impl CommandResultTrait for i32 {
+ fn new(i: i32) -> Self {
+ i
+ }
+ fn as_i32(&self) -> Option<i32> {
+ Some(*self)
+ }
+}
+impl<E> CommandResultTrait for Result<i32, E> {
+ fn new(i: i32) -> Self {
+ Ok(i)
+ }
+ fn as_i32(&self) -> Option<i32> {
+ self.as_ref().copied().ok()
+ }
+}