diff options
| author | mat <github@matdoes.dev> | 2022-04-17 18:36:14 -0500 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-04-17 18:36:14 -0500 |
| commit | af4b0d0add23188ab00e89a216cd3db62074cf7e (patch) | |
| tree | debd9420fab175004f157dc308102b9b35432895 /azalea-brigadier/src/tree.rs | |
| parent | 14625e2bce15eeef35d2ae7fcce1e21a491f32aa (diff) | |
| download | azalea-drasl-af4b0d0add23188ab00e89a216cd3db62074cf7e.tar.xz | |
Implement working redirects
Diffstat (limited to 'azalea-brigadier/src/tree.rs')
| -rw-r--r-- | azalea-brigadier/src/tree.rs | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/azalea-brigadier/src/tree.rs b/azalea-brigadier/src/tree.rs index 5c33a879..b68fbdcf 100644 --- a/azalea-brigadier/src/tree.rs +++ b/azalea-brigadier/src/tree.rs @@ -32,15 +32,6 @@ pub struct CommandNode<S: Any + Clone> { } impl<S: Any + Clone> CommandNode<S> { - // pub fn new() - // TODO: precalculate `literals` and `arguments` and include them in CommandNode - fn literals(&self) -> &BTreeMap<String, Rc<RefCell<CommandNode<S>>>> { - &self.literals - } - fn arguments(&self) -> &BTreeMap<String, Rc<RefCell<CommandNode<S>>>> { - &self.arguments - } - /// Gets the literal, or panics. You should use match if you're not certain about the type. pub fn literal(&self) -> &Literal { match self.value { @@ -57,7 +48,7 @@ impl<S: Any + Clone> CommandNode<S> { } pub fn get_relevant_nodes(&self, input: &mut StringReader) -> Vec<Rc<RefCell<CommandNode<S>>>> { - let literals = self.literals(); + let literals = &self.literals; if !literals.is_empty() { let cursor = input.cursor(); @@ -75,10 +66,10 @@ impl<S: Any + Clone> CommandNode<S> { if let Some(literal) = literal { return vec![literal.clone()]; } else { - return self.arguments().values().cloned().collect(); + return self.arguments.values().cloned().collect(); } } else { - self.arguments().values().cloned().collect() + self.arguments.values().cloned().collect() } } @@ -245,8 +236,7 @@ impl<S: Any + Clone> PartialEq for CommandNode<S> { } else { return false; } - } - else if other.command.is_some() { + } else if other.command.is_some() { return false; } true |
