aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/arguments
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-01-09 23:46:23 -0600
committermat <github@matdoes.dev>2022-01-09 23:46:23 -0600
commitfec7a2bfedc562306523b9d3c51b97e376dc32d9 (patch)
treea7f95d0eab97c7fa4a20a8b335feff752ba83dff /azalea-brigadier/src/arguments
parent315f2258190b33c63df7797a97178019f5aea02b (diff)
downloadazalea-drasl-fec7a2bfedc562306523b9d3c51b97e376dc32d9.tar.xz
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Diffstat (limited to 'azalea-brigadier/src/arguments')
-rw-r--r--azalea-brigadier/src/arguments/argument_type.rs12
-rw-r--r--azalea-brigadier/src/arguments/bool_argument_type.rs2
2 files changed, 10 insertions, 4 deletions
diff --git a/azalea-brigadier/src/arguments/argument_type.rs b/azalea-brigadier/src/arguments/argument_type.rs
index 34d57285..ea453a1a 100644
--- a/azalea-brigadier/src/arguments/argument_type.rs
+++ b/azalea-brigadier/src/arguments/argument_type.rs
@@ -5,7 +5,12 @@ use crate::{
suggestion::{suggestions::Suggestions, suggestions_builder::SuggestionsBuilder},
};
-pub trait ArgumentType {
+pub trait ArgumentResult {}
+
+pub trait ArgumentType<T>
+where
+ T: ArgumentResult,
+{
// T parse(StringReader reader) throws CommandSyntaxException;
// default <S> CompletableFuture<Suggestions> listSuggestions(final CommandContext<S> context, final SuggestionsBuilder builder) {
@@ -16,12 +21,13 @@ pub trait ArgumentType {
// return Collections.emptyList();
// }
- fn parse<T>(reader: &mut StringReader) -> Result<T, CommandSyntaxException>;
+ fn parse(&self, reader: &mut StringReader) -> Result<T, CommandSyntaxException>;
fn list_suggestions<S>(
+ &self,
context: &CommandContext<S>,
builder: &mut SuggestionsBuilder,
) -> Result<Suggestions, CommandSyntaxException>;
- fn get_examples() -> Vec<String>;
+ fn get_examples(&self) -> Vec<String>;
}
diff --git a/azalea-brigadier/src/arguments/bool_argument_type.rs b/azalea-brigadier/src/arguments/bool_argument_type.rs
index f4c03373..74df3331 100644
--- a/azalea-brigadier/src/arguments/bool_argument_type.rs
+++ b/azalea-brigadier/src/arguments/bool_argument_type.rs
@@ -4,7 +4,7 @@ use super::argument_type::ArgumentType;
struct BoolArgumentType {}
-impl ArgumentType for BoolArgumentType {}
+impl ArgumentType<bool> for BoolArgumentType {}
impl BoolArgumentType {
const EXAMPLES: &'static [&'static str] = &["true", "false"];