aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/context
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-brigadier/src/context')
-rwxr-xr-xazalea-brigadier/src/context/command_context.rs7
-rwxr-xr-xazalea-brigadier/src/context/command_context_builder.rs13
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
}