aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/azalea-protocol-macros/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-protocol/azalea-protocol-macros/src/lib.rs')
-rwxr-xr-xazalea-protocol/azalea-protocol-macros/src/lib.rs30
1 files changed, 28 insertions, 2 deletions
diff --git a/azalea-protocol/azalea-protocol-macros/src/lib.rs b/azalea-protocol/azalea-protocol-macros/src/lib.rs
index 393f8de9..b536e73a 100755
--- a/azalea-protocol/azalea-protocol-macros/src/lib.rs
+++ b/azalea-protocol/azalea-protocol-macros/src/lib.rs
@@ -196,6 +196,8 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
let mut serverbound_enum_contents = quote!();
let mut clientbound_id_match_contents = quote!();
let mut serverbound_id_match_contents = quote!();
+ let mut clientbound_name_match_contents = quote!();
+ let mut serverbound_name_match_contents = quote!();
let mut clientbound_write_match_contents = quote!();
let mut serverbound_write_match_contents = quote!();
let mut clientbound_read_match_contents = quote!();
@@ -218,7 +220,10 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
#variant_name(#module_name::#struct_name),
});
clientbound_id_match_contents.extend(quote! {
- #clientbound_state_name::#variant_name(_packet) => #id,
+ #clientbound_state_name::#variant_name(..) => #id,
+ });
+ clientbound_name_match_contents.extend(quote! {
+ #clientbound_state_name::#variant_name(..) => #packet_name_litstr,
});
clientbound_write_match_contents.extend(quote! {
#clientbound_state_name::#variant_name(packet) => packet.write(buf),
@@ -267,7 +272,10 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
#variant_name(#module_name::#struct_name),
});
serverbound_id_match_contents.extend(quote! {
- #serverbound_state_name::#variant_name(_packet) => #id,
+ #serverbound_state_name::#variant_name(..) => #id,
+ });
+ serverbound_name_match_contents.extend(quote! {
+ #serverbound_state_name::#variant_name(..) => #packet_name_litstr,
});
serverbound_write_match_contents.extend(quote! {
#serverbound_state_name::#variant_name(packet) => packet.write(buf),
@@ -297,6 +305,9 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
serverbound_id_match_contents.extend(quote! {
_ => unreachable!("This enum is empty and can't exist.")
});
+ serverbound_name_match_contents.extend(quote! {
+ _ => unreachable!("This enum is empty and can't exist.")
+ });
serverbound_write_match_contents.extend(quote! {
_ => unreachable!("This enum is empty and can't exist.")
});
@@ -305,6 +316,9 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
clientbound_id_match_contents.extend(quote! {
_ => unreachable!("This enum is empty and can't exist.")
});
+ clientbound_name_match_contents.extend(quote! {
+ _ => unreachable!("This enum is empty and can't exist.")
+ });
clientbound_write_match_contents.extend(quote! {
_ => unreachable!("This enum is empty and can't exist.")
});
@@ -338,6 +352,12 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
}
}
+ fn name(&self) -> &'static str {
+ match self {
+ #serverbound_name_match_contents
+ }
+ }
+
fn write(&self, buf: &mut impl std::io::Write) -> Result<(), std::io::Error> {
match self {
#serverbound_write_match_contents
@@ -376,6 +396,12 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream {
}
}
+ fn name(&self) -> &'static str {
+ match self {
+ #clientbound_name_match_contents
+ }
+ }
+
fn write(&self, buf: &mut impl std::io::Write) -> Result<(), std::io::Error> {
match self {
#clientbound_write_match_contents