aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/arguments
diff options
context:
space:
mode:
authorUbuntu <github@matdoes.dev>2022-01-13 00:43:09 +0000
committerUbuntu <github@matdoes.dev>2022-01-13 00:43:09 +0000
commiteb111be1f107696939b994f5de6e060cf972a732 (patch)
tree055deab4179088c5e91a179bfe465a7859c45ab6 /azalea-brigadier/src/arguments
parent270507736af57aae6801dc9eb3c3132139d0d07b (diff)
downloadazalea-drasl-eb111be1f107696939b994f5de6e060cf972a732.tar.xz
a
Diffstat (limited to 'azalea-brigadier/src/arguments')
-rw-r--r--azalea-brigadier/src/arguments/argument_type.rs26
-rw-r--r--azalea-brigadier/src/arguments/bool_argument_type.rs18
-rw-r--r--azalea-brigadier/src/arguments/double_argument_type.rs1
-rw-r--r--azalea-brigadier/src/arguments/float_argument_type.rs1
-rw-r--r--azalea-brigadier/src/arguments/integer_argument_type.rs1
-rw-r--r--azalea-brigadier/src/arguments/long_argument_type.rs1
-rw-r--r--azalea-brigadier/src/arguments/string_argument_type.rs1
7 files changed, 18 insertions, 31 deletions
diff --git a/azalea-brigadier/src/arguments/argument_type.rs b/azalea-brigadier/src/arguments/argument_type.rs
index 890cdea0..3d1b1168 100644
--- a/azalea-brigadier/src/arguments/argument_type.rs
+++ b/azalea-brigadier/src/arguments/argument_type.rs
@@ -7,19 +7,6 @@ use crate::{
};
use dyn_clonable::*;
-#[clonable]
-// This should be applied to an Enum
-pub trait Types: Clone {
- fn bool(value: bool) -> Self
- where
- Self: Sized;
-
- /// Get the less specific ArgumentType from this enum
- fn inner<T>(&self) -> Box<dyn ArgumentType<T>>
- where
- Self: Sized;
-}
-
/*
#[derive(Types)]
enum BrigadierTypes {
@@ -45,10 +32,8 @@ impl Types for BrigadierTypes {
*/
#[clonable]
-pub trait ArgumentType<T: ?Sized>: Clone
-where
- T: Types,
-{
+pub trait ArgumentType: Clone {
+ type Into;
// T parse(StringReader reader) throws CommandSyntaxException;
// default <S> CompletableFuture<Suggestions> listSuggestions(final CommandContext<S> context, final SuggestionsBuilder builder) {
@@ -59,17 +44,16 @@ where
// return Collections.emptyList();
// }
- fn parse(&self, reader: &mut StringReader) -> Result<Box<T>, CommandSyntaxException>;
+ fn parse(&self, reader: &mut StringReader) -> Result<Self::Into, CommandSyntaxException>;
fn list_suggestions<S>(
&self,
- context: &CommandContext<S, T>,
+ context: &CommandContext<S>,
builder: &mut SuggestionsBuilder,
) -> Result<Suggestions, CommandSyntaxException>
where
Self: Sized,
- S: Sized,
- T: Sized;
+ S: Sized;
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 b04488c1..c06f40c1 100644
--- a/azalea-brigadier/src/arguments/bool_argument_type.rs
+++ b/azalea-brigadier/src/arguments/bool_argument_type.rs
@@ -5,27 +5,25 @@ use crate::{
suggestion::{suggestions::Suggestions, suggestions_builder::SuggestionsBuilder},
};
-use super::argument_type::{ArgumentType, Types};
+use super::argument_type::ArgumentType;
#[derive(Clone)]
pub struct BoolArgumentType {}
-impl<T> ArgumentType<T> for BoolArgumentType
-where
- T: Types,
-{
- fn parse(&self, reader: &mut StringReader) -> Result<T, CommandSyntaxException> {
- Ok(T::bool(reader.read_boolean()?))
+impl ArgumentType for BoolArgumentType {
+ type Into = bool;
+
+ fn parse(&self, reader: &mut StringReader) -> Result<Self::Into, CommandSyntaxException> {
+ Ok(reader.read_boolean()?)
}
fn list_suggestions<S>(
&self,
- context: &CommandContext<S, T>,
+ context: &CommandContext<S>,
builder: &mut SuggestionsBuilder,
) -> Result<Suggestions, CommandSyntaxException>
where
S: Sized,
- T: Sized,
{
// if ("true".startsWith(builder.getRemainingLowerCase())) {
// builder.suggest("true");
@@ -55,7 +53,7 @@ impl BoolArgumentType {
Self {}
}
- fn get_bool<S, T>(context: CommandContext<S, T>, name: String) {
+ fn get_bool<S>(context: CommandContext<S>, name: String) {
context.get_argument::<bool>(name)
}
}
diff --git a/azalea-brigadier/src/arguments/double_argument_type.rs b/azalea-brigadier/src/arguments/double_argument_type.rs
index e69de29b..8b137891 100644
--- a/azalea-brigadier/src/arguments/double_argument_type.rs
+++ b/azalea-brigadier/src/arguments/double_argument_type.rs
@@ -0,0 +1 @@
+
diff --git a/azalea-brigadier/src/arguments/float_argument_type.rs b/azalea-brigadier/src/arguments/float_argument_type.rs
index e69de29b..8b137891 100644
--- a/azalea-brigadier/src/arguments/float_argument_type.rs
+++ b/azalea-brigadier/src/arguments/float_argument_type.rs
@@ -0,0 +1 @@
+
diff --git a/azalea-brigadier/src/arguments/integer_argument_type.rs b/azalea-brigadier/src/arguments/integer_argument_type.rs
index e69de29b..8b137891 100644
--- a/azalea-brigadier/src/arguments/integer_argument_type.rs
+++ b/azalea-brigadier/src/arguments/integer_argument_type.rs
@@ -0,0 +1 @@
+
diff --git a/azalea-brigadier/src/arguments/long_argument_type.rs b/azalea-brigadier/src/arguments/long_argument_type.rs
index e69de29b..8b137891 100644
--- a/azalea-brigadier/src/arguments/long_argument_type.rs
+++ b/azalea-brigadier/src/arguments/long_argument_type.rs
@@ -0,0 +1 @@
+
diff --git a/azalea-brigadier/src/arguments/string_argument_type.rs b/azalea-brigadier/src/arguments/string_argument_type.rs
index e69de29b..8b137891 100644
--- a/azalea-brigadier/src/arguments/string_argument_type.rs
+++ b/azalea-brigadier/src/arguments/string_argument_type.rs
@@ -0,0 +1 @@
+