aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--azalea-brigadier/Cargo.toml8
-rw-r--r--azalea-brigadier/src/ambiguity_consumer.rs0
-rw-r--r--azalea-brigadier/src/arguments/argument_type.rs0
-rw-r--r--azalea-brigadier/src/arguments/bool_argument_type.rs0
-rw-r--r--azalea-brigadier/src/arguments/double_argument_type.rs0
-rw-r--r--azalea-brigadier/src/arguments/float_argument_type.rs0
-rw-r--r--azalea-brigadier/src/arguments/integer_argument_type.rs0
-rw-r--r--azalea-brigadier/src/arguments/long_argument_type.rs0
-rw-r--r--azalea-brigadier/src/arguments/string_argument_type.rs0
-rw-r--r--azalea-brigadier/src/builder/argument_builder.rs0
-rw-r--r--azalea-brigadier/src/builder/literal_argument_builder.rs0
-rw-r--r--azalea-brigadier/src/builder/required_argument_builder.rs0
-rw-r--r--azalea-brigadier/src/command.rs0
-rw-r--r--azalea-brigadier/src/command_dispatcher.rs0
-rw-r--r--azalea-brigadier/src/context/command_context.rs0
-rw-r--r--azalea-brigadier/src/context/command_context_builder.rs0
-rw-r--r--azalea-brigadier/src/context/parsed_argument.rs0
-rw-r--r--azalea-brigadier/src/context/parsed_command_node.rs0
-rw-r--r--azalea-brigadier/src/context/string_range.rs0
-rw-r--r--azalea-brigadier/src/context/suggestion_context.rs0
-rw-r--r--azalea-brigadier/src/exceptions/builtin_exception_provider.rs0
-rw-r--r--azalea-brigadier/src/exceptions/builtin_exceptions.rs0
-rw-r--r--azalea-brigadier/src/exceptions/command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/exceptions/command_syntax_exception.rs0
-rw-r--r--azalea-brigadier/src/exceptions/dynamic2_command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/exceptions/dynamic3_command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/exceptions/dynamic4_command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/exceptions/dynamicN_command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/exceptions/dynamic_command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/exceptions/simple_command_exception_type.rs0
-rw-r--r--azalea-brigadier/src/immutable_string_reader.rs0
-rw-r--r--azalea-brigadier/src/lib.rs8
-rw-r--r--azalea-brigadier/src/literal_message.rs0
-rw-r--r--azalea-brigadier/src/message.rs0
-rw-r--r--azalea-brigadier/src/parse_results.rs0
-rw-r--r--azalea-brigadier/src/redirect_modifier.rs0
-rw-r--r--azalea-brigadier/src/result_consumer.rs0
-rw-r--r--azalea-brigadier/src/single_redirect_modifier.rs0
-rw-r--r--azalea-brigadier/src/string_reader.rs0
-rw-r--r--azalea-brigadier/src/suggestion/integer_suggestion.rs0
-rw-r--r--azalea-brigadier/src/suggestion/suggestion.rs0
-rw-r--r--azalea-brigadier/src/suggestion/suggestion_provider.rs0
-rw-r--r--azalea-brigadier/src/suggestion/suggestions.rs0
-rw-r--r--azalea-brigadier/src/suggestion/suggestions_builder.rs0
-rw-r--r--azalea-brigadier/src/tree/argument_command_node.rs0
-rw-r--r--azalea-brigadier/src/tree/command_node.rs0
-rw-r--r--azalea-brigadier/src/tree/literal_command_node.rs0
-rw-r--r--azalea-brigadier/src/tree/root_command_node.rs0
-rw-r--r--azalea-brigadier/tests/arguments/bool_argument_type_test.rs0
-rw-r--r--azalea-brigadier/tests/arguments/double_argument_type_test.rs0
-rw-r--r--azalea-brigadier/tests/arguments/float_argument_type_test.rs0
-rw-r--r--azalea-brigadier/tests/arguments/integer_argument_type_test.rs0
-rw-r--r--azalea-brigadier/tests/arguments/long_argument_type_test.rs0
-rw-r--r--azalea-brigadier/tests/arguments/string_argument_type_test.rs0
-rw-r--r--azalea-brigadier/tests/builder/argument_builder_test.rs0
-rw-r--r--azalea-brigadier/tests/builder/literal_argument_builder_test.rs0
-rw-r--r--azalea-brigadier/tests/builder/required_argument_builder_test.rs0
-rw-r--r--azalea-brigadier/tests/command_dispatcher_test.rs0
-rw-r--r--azalea-brigadier/tests/command_dispatcher_usages_test.rs0
-rw-r--r--azalea-brigadier/tests/command_suggestions_test.rs0
-rw-r--r--azalea-brigadier/tests/context/command_context_test.rs0
-rw-r--r--azalea-brigadier/tests/context/parsed_argument_test.rs0
-rw-r--r--azalea-brigadier/tests/exceptions/dynamic_command_syntax_exception_type_test.rs0
-rw-r--r--azalea-brigadier/tests/exceptions/simple_command_syntax_exception_type_test.rs0
-rw-r--r--azalea-brigadier/tests/string_reader_test.rs0
-rw-r--r--azalea-brigadier/tests/suggestion/suggestion_test.rs0
-rw-r--r--azalea-brigadier/tests/suggestion/suggestions_builder_test.rs0
-rw-r--r--azalea-brigadier/tests/suggestion/suggestions_test.rs0
-rw-r--r--azalea-brigadier/tests/tree/abstract_command_node_test.rs0
-rw-r--r--azalea-brigadier/tests/tree/argument_command_node_test.rs0
-rw-r--r--azalea-brigadier/tests/tree/literal_command_node_test.rs0
-rw-r--r--azalea-brigadier/tests/tree/root_command_node_test.rs0
-rw-r--r--azalea-protocol/src/packets/game/clientbound_declare_commands_packet.rs37
73 files changed, 53 insertions, 0 deletions
diff --git a/azalea-brigadier/Cargo.toml b/azalea-brigadier/Cargo.toml
new file mode 100644
index 00000000..c617ffb1
--- /dev/null
+++ b/azalea-brigadier/Cargo.toml
@@ -0,0 +1,8 @@
+[package]
+name = "azalea-brigadier"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
diff --git a/azalea-brigadier/src/ambiguity_consumer.rs b/azalea-brigadier/src/ambiguity_consumer.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/ambiguity_consumer.rs
diff --git a/azalea-brigadier/src/arguments/argument_type.rs b/azalea-brigadier/src/arguments/argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/argument_type.rs
diff --git a/azalea-brigadier/src/arguments/bool_argument_type.rs b/azalea-brigadier/src/arguments/bool_argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/bool_argument_type.rs
diff --git a/azalea-brigadier/src/arguments/double_argument_type.rs b/azalea-brigadier/src/arguments/double_argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/double_argument_type.rs
diff --git a/azalea-brigadier/src/arguments/float_argument_type.rs b/azalea-brigadier/src/arguments/float_argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/float_argument_type.rs
diff --git a/azalea-brigadier/src/arguments/integer_argument_type.rs b/azalea-brigadier/src/arguments/integer_argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/integer_argument_type.rs
diff --git a/azalea-brigadier/src/arguments/long_argument_type.rs b/azalea-brigadier/src/arguments/long_argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/long_argument_type.rs
diff --git a/azalea-brigadier/src/arguments/string_argument_type.rs b/azalea-brigadier/src/arguments/string_argument_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/arguments/string_argument_type.rs
diff --git a/azalea-brigadier/src/builder/argument_builder.rs b/azalea-brigadier/src/builder/argument_builder.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/builder/argument_builder.rs
diff --git a/azalea-brigadier/src/builder/literal_argument_builder.rs b/azalea-brigadier/src/builder/literal_argument_builder.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/builder/literal_argument_builder.rs
diff --git a/azalea-brigadier/src/builder/required_argument_builder.rs b/azalea-brigadier/src/builder/required_argument_builder.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/builder/required_argument_builder.rs
diff --git a/azalea-brigadier/src/command.rs b/azalea-brigadier/src/command.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/command.rs
diff --git a/azalea-brigadier/src/command_dispatcher.rs b/azalea-brigadier/src/command_dispatcher.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/command_dispatcher.rs
diff --git a/azalea-brigadier/src/context/command_context.rs b/azalea-brigadier/src/context/command_context.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/context/command_context.rs
diff --git a/azalea-brigadier/src/context/command_context_builder.rs b/azalea-brigadier/src/context/command_context_builder.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/context/command_context_builder.rs
diff --git a/azalea-brigadier/src/context/parsed_argument.rs b/azalea-brigadier/src/context/parsed_argument.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/context/parsed_argument.rs
diff --git a/azalea-brigadier/src/context/parsed_command_node.rs b/azalea-brigadier/src/context/parsed_command_node.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/context/parsed_command_node.rs
diff --git a/azalea-brigadier/src/context/string_range.rs b/azalea-brigadier/src/context/string_range.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/context/string_range.rs
diff --git a/azalea-brigadier/src/context/suggestion_context.rs b/azalea-brigadier/src/context/suggestion_context.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/context/suggestion_context.rs
diff --git a/azalea-brigadier/src/exceptions/builtin_exception_provider.rs b/azalea-brigadier/src/exceptions/builtin_exception_provider.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/builtin_exception_provider.rs
diff --git a/azalea-brigadier/src/exceptions/builtin_exceptions.rs b/azalea-brigadier/src/exceptions/builtin_exceptions.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/builtin_exceptions.rs
diff --git a/azalea-brigadier/src/exceptions/command_exception_type.rs b/azalea-brigadier/src/exceptions/command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/command_exception_type.rs
diff --git a/azalea-brigadier/src/exceptions/command_syntax_exception.rs b/azalea-brigadier/src/exceptions/command_syntax_exception.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/command_syntax_exception.rs
diff --git a/azalea-brigadier/src/exceptions/dynamic2_command_exception_type.rs b/azalea-brigadier/src/exceptions/dynamic2_command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/dynamic2_command_exception_type.rs
diff --git a/azalea-brigadier/src/exceptions/dynamic3_command_exception_type.rs b/azalea-brigadier/src/exceptions/dynamic3_command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/dynamic3_command_exception_type.rs
diff --git a/azalea-brigadier/src/exceptions/dynamic4_command_exception_type.rs b/azalea-brigadier/src/exceptions/dynamic4_command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/dynamic4_command_exception_type.rs
diff --git a/azalea-brigadier/src/exceptions/dynamicN_command_exception_type.rs b/azalea-brigadier/src/exceptions/dynamicN_command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/dynamicN_command_exception_type.rs
diff --git a/azalea-brigadier/src/exceptions/dynamic_command_exception_type.rs b/azalea-brigadier/src/exceptions/dynamic_command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/dynamic_command_exception_type.rs
diff --git a/azalea-brigadier/src/exceptions/simple_command_exception_type.rs b/azalea-brigadier/src/exceptions/simple_command_exception_type.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/exceptions/simple_command_exception_type.rs
diff --git a/azalea-brigadier/src/immutable_string_reader.rs b/azalea-brigadier/src/immutable_string_reader.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/immutable_string_reader.rs
diff --git a/azalea-brigadier/src/lib.rs b/azalea-brigadier/src/lib.rs
new file mode 100644
index 00000000..1b4a90c9
--- /dev/null
+++ b/azalea-brigadier/src/lib.rs
@@ -0,0 +1,8 @@
+#[cfg(test)]
+mod tests {
+ #[test]
+ fn it_works() {
+ let result = 2 + 2;
+ assert_eq!(result, 4);
+ }
+}
diff --git a/azalea-brigadier/src/literal_message.rs b/azalea-brigadier/src/literal_message.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/literal_message.rs
diff --git a/azalea-brigadier/src/message.rs b/azalea-brigadier/src/message.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/message.rs
diff --git a/azalea-brigadier/src/parse_results.rs b/azalea-brigadier/src/parse_results.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/parse_results.rs
diff --git a/azalea-brigadier/src/redirect_modifier.rs b/azalea-brigadier/src/redirect_modifier.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/redirect_modifier.rs
diff --git a/azalea-brigadier/src/result_consumer.rs b/azalea-brigadier/src/result_consumer.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/result_consumer.rs
diff --git a/azalea-brigadier/src/single_redirect_modifier.rs b/azalea-brigadier/src/single_redirect_modifier.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/single_redirect_modifier.rs
diff --git a/azalea-brigadier/src/string_reader.rs b/azalea-brigadier/src/string_reader.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/string_reader.rs
diff --git a/azalea-brigadier/src/suggestion/integer_suggestion.rs b/azalea-brigadier/src/suggestion/integer_suggestion.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/suggestion/integer_suggestion.rs
diff --git a/azalea-brigadier/src/suggestion/suggestion.rs b/azalea-brigadier/src/suggestion/suggestion.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/suggestion/suggestion.rs
diff --git a/azalea-brigadier/src/suggestion/suggestion_provider.rs b/azalea-brigadier/src/suggestion/suggestion_provider.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/suggestion/suggestion_provider.rs
diff --git a/azalea-brigadier/src/suggestion/suggestions.rs b/azalea-brigadier/src/suggestion/suggestions.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/suggestion/suggestions.rs
diff --git a/azalea-brigadier/src/suggestion/suggestions_builder.rs b/azalea-brigadier/src/suggestion/suggestions_builder.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/suggestion/suggestions_builder.rs
diff --git a/azalea-brigadier/src/tree/argument_command_node.rs b/azalea-brigadier/src/tree/argument_command_node.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/tree/argument_command_node.rs
diff --git a/azalea-brigadier/src/tree/command_node.rs b/azalea-brigadier/src/tree/command_node.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/tree/command_node.rs
diff --git a/azalea-brigadier/src/tree/literal_command_node.rs b/azalea-brigadier/src/tree/literal_command_node.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/tree/literal_command_node.rs
diff --git a/azalea-brigadier/src/tree/root_command_node.rs b/azalea-brigadier/src/tree/root_command_node.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/src/tree/root_command_node.rs
diff --git a/azalea-brigadier/tests/arguments/bool_argument_type_test.rs b/azalea-brigadier/tests/arguments/bool_argument_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/arguments/bool_argument_type_test.rs
diff --git a/azalea-brigadier/tests/arguments/double_argument_type_test.rs b/azalea-brigadier/tests/arguments/double_argument_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/arguments/double_argument_type_test.rs
diff --git a/azalea-brigadier/tests/arguments/float_argument_type_test.rs b/azalea-brigadier/tests/arguments/float_argument_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/arguments/float_argument_type_test.rs
diff --git a/azalea-brigadier/tests/arguments/integer_argument_type_test.rs b/azalea-brigadier/tests/arguments/integer_argument_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/arguments/integer_argument_type_test.rs
diff --git a/azalea-brigadier/tests/arguments/long_argument_type_test.rs b/azalea-brigadier/tests/arguments/long_argument_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/arguments/long_argument_type_test.rs
diff --git a/azalea-brigadier/tests/arguments/string_argument_type_test.rs b/azalea-brigadier/tests/arguments/string_argument_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/arguments/string_argument_type_test.rs
diff --git a/azalea-brigadier/tests/builder/argument_builder_test.rs b/azalea-brigadier/tests/builder/argument_builder_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/builder/argument_builder_test.rs
diff --git a/azalea-brigadier/tests/builder/literal_argument_builder_test.rs b/azalea-brigadier/tests/builder/literal_argument_builder_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/builder/literal_argument_builder_test.rs
diff --git a/azalea-brigadier/tests/builder/required_argument_builder_test.rs b/azalea-brigadier/tests/builder/required_argument_builder_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/builder/required_argument_builder_test.rs
diff --git a/azalea-brigadier/tests/command_dispatcher_test.rs b/azalea-brigadier/tests/command_dispatcher_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/command_dispatcher_test.rs
diff --git a/azalea-brigadier/tests/command_dispatcher_usages_test.rs b/azalea-brigadier/tests/command_dispatcher_usages_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/command_dispatcher_usages_test.rs
diff --git a/azalea-brigadier/tests/command_suggestions_test.rs b/azalea-brigadier/tests/command_suggestions_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/command_suggestions_test.rs
diff --git a/azalea-brigadier/tests/context/command_context_test.rs b/azalea-brigadier/tests/context/command_context_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/context/command_context_test.rs
diff --git a/azalea-brigadier/tests/context/parsed_argument_test.rs b/azalea-brigadier/tests/context/parsed_argument_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/context/parsed_argument_test.rs
diff --git a/azalea-brigadier/tests/exceptions/dynamic_command_syntax_exception_type_test.rs b/azalea-brigadier/tests/exceptions/dynamic_command_syntax_exception_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/exceptions/dynamic_command_syntax_exception_type_test.rs
diff --git a/azalea-brigadier/tests/exceptions/simple_command_syntax_exception_type_test.rs b/azalea-brigadier/tests/exceptions/simple_command_syntax_exception_type_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/exceptions/simple_command_syntax_exception_type_test.rs
diff --git a/azalea-brigadier/tests/string_reader_test.rs b/azalea-brigadier/tests/string_reader_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/string_reader_test.rs
diff --git a/azalea-brigadier/tests/suggestion/suggestion_test.rs b/azalea-brigadier/tests/suggestion/suggestion_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/suggestion/suggestion_test.rs
diff --git a/azalea-brigadier/tests/suggestion/suggestions_builder_test.rs b/azalea-brigadier/tests/suggestion/suggestions_builder_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/suggestion/suggestions_builder_test.rs
diff --git a/azalea-brigadier/tests/suggestion/suggestions_test.rs b/azalea-brigadier/tests/suggestion/suggestions_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/suggestion/suggestions_test.rs
diff --git a/azalea-brigadier/tests/tree/abstract_command_node_test.rs b/azalea-brigadier/tests/tree/abstract_command_node_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/tree/abstract_command_node_test.rs
diff --git a/azalea-brigadier/tests/tree/argument_command_node_test.rs b/azalea-brigadier/tests/tree/argument_command_node_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/tree/argument_command_node_test.rs
diff --git a/azalea-brigadier/tests/tree/literal_command_node_test.rs b/azalea-brigadier/tests/tree/literal_command_node_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/tree/literal_command_node_test.rs
diff --git a/azalea-brigadier/tests/tree/root_command_node_test.rs b/azalea-brigadier/tests/tree/root_command_node_test.rs
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/azalea-brigadier/tests/tree/root_command_node_test.rs
diff --git a/azalea-protocol/src/packets/game/clientbound_declare_commands_packet.rs b/azalea-protocol/src/packets/game/clientbound_declare_commands_packet.rs
new file mode 100644
index 00000000..1bcf0dd4
--- /dev/null
+++ b/azalea-protocol/src/packets/game/clientbound_declare_commands_packet.rs
@@ -0,0 +1,37 @@
+// use std::hash::Hash;
+
+// use crate::mc_buf::Readable;
+
+// use super::LoginPacket;
+
+// #[derive(Hash, Clone, Debug)]
+// pub struct ClientboundDeclareCommandsPacket {
+// pub root: RootCommandNode<SharedSuggestionProvider>,
+// pub public_key: Vec<u8>,
+// pub nonce: Vec<u8>,
+// }
+
+// impl ClientboundHelloPacket {
+// pub fn get(self) -> LoginPacket {
+// LoginPacket::ClientboundHelloPacket(self)
+// }
+
+// pub fn write(&self, _buf: &mut Vec<u8>) -> Result<(), std::io::Error> {
+// panic!("ClientboundHelloPacket::write not implemented")
+// }
+
+// pub async fn read<T: tokio::io::AsyncRead + std::marker::Unpin + std::marker::Send>(
+// buf: &mut T,
+// ) -> Result<LoginPacket, String> {
+// let server_id = buf.read_utf_with_len(20).await?;
+// let public_key = buf.read_byte_array().await?;
+// let nonce = buf.read_byte_array().await?;
+
+// Ok(ClientboundHelloPacket {
+// server_id,
+// public_key,
+// nonce,
+// }
+// .get())
+// }
+// }