diff options
Diffstat (limited to 'azalea-brigadier/src/context')
| -rwxr-xr-x | azalea-brigadier/src/context/command_context.rs | 7 | ||||
| -rwxr-xr-x | azalea-brigadier/src/context/command_context_builder.rs | 13 |
2 files changed, 12 insertions, 8 deletions
diff --git a/azalea-brigadier/src/context/command_context.rs b/azalea-brigadier/src/context/command_context.rs index 1834a73d..98609a6e 100755 --- a/azalea-brigadier/src/context/command_context.rs +++ b/azalea-brigadier/src/context/command_context.rs @@ -1,5 +1,8 @@ use super::{parsed_command_node::ParsedCommandNode, string_range::StringRange, ParsedArgument}; -use crate::{modifier::RedirectModifier, tree::CommandNode}; +use crate::{ + modifier::RedirectModifier, + tree::{Command, CommandNode}, +}; use std::{any::Any, cell::RefCell, collections::HashMap, fmt::Debug, rc::Rc}; /// A built `CommandContextBuilder`. @@ -7,7 +10,7 @@ pub struct CommandContext<S> { pub source: Rc<S>, pub input: String, pub arguments: HashMap<String, ParsedArgument>, - pub command: Option<Rc<dyn Fn(&CommandContext<S>) -> i32>>, + pub command: Command<S>, pub root_node: Rc<RefCell<CommandNode<S>>>, pub nodes: Vec<ParsedCommandNode<S>>, pub range: StringRange, diff --git a/azalea-brigadier/src/context/command_context_builder.rs b/azalea-brigadier/src/context/command_context_builder.rs index f192f6b7..7516ab9e 100755 --- a/azalea-brigadier/src/context/command_context_builder.rs +++ b/azalea-brigadier/src/context/command_context_builder.rs @@ -2,7 +2,11 @@ use super::{ command_context::CommandContext, parsed_command_node::ParsedCommandNode, string_range::StringRange, ParsedArgument, }; -use crate::{command_dispatcher::CommandDispatcher, modifier::RedirectModifier, tree::CommandNode}; +use crate::{ + command_dispatcher::CommandDispatcher, + modifier::RedirectModifier, + tree::{Command, CommandNode}, +}; use std::{cell::RefCell, collections::HashMap, fmt::Debug, rc::Rc}; pub struct CommandContextBuilder<S> { @@ -11,7 +15,7 @@ pub struct CommandContextBuilder<S> { pub nodes: Vec<ParsedCommandNode<S>>, pub dispatcher: Rc<CommandDispatcher<S>>, pub source: Rc<S>, - pub command: Option<Rc<dyn Fn(&CommandContext<S>) -> i32>>, + pub command: Command<S>, pub child: Option<Rc<CommandContextBuilder<S>>>, pub range: StringRange, pub modifier: Option<Rc<RedirectModifier<S>>>, @@ -56,10 +60,7 @@ impl<S> CommandContextBuilder<S> { } } - pub fn with_command( - &mut self, - command: &Option<Rc<dyn Fn(&CommandContext<S>) -> i32>>, - ) -> &Self { + pub fn with_command(&mut self, command: &Command<S>) -> &Self { self.command = command.clone(); self } |
