@@ -692,9 +692,9 @@ impl Server {
692692 println ! ( "Received FML|HS ServerHello {} {:?}" , fml_protocol_version, override_dimension) ;
693693
694694 self . write_plugin_message ( "REGISTER" , "FML|HS\0 FML\0 FML|MP\0 FML\0 FORGE" . as_bytes ( ) ) ;
695- self . write_plugin_message ( "FML|HS" , & plugin_messages:: FmlHs :: ClientHello { fml_protocol_version } . as_message ( ) ) ;
695+ self . write_fmlhs_plugin_message ( & plugin_messages:: FmlHs :: ClientHello { fml_protocol_version } ) ;
696696 let mods: crate :: protocol:: LenPrefixed < crate :: protocol:: VarInt , plugin_messages:: Mod > = Default :: default ( ) ;
697- self . write_plugin_message ( "FML|HS" , & plugin_messages:: FmlHs :: ModList { mods } . as_message ( ) ) ;
697+ self . write_fmlhs_plugin_message ( & plugin_messages:: FmlHs :: ModList { mods } ) ;
698698 } ,
699699 _ => ( ) ,
700700 }
@@ -703,6 +703,15 @@ impl Server {
703703 }
704704 }
705705
706+ fn write_fmlhs_plugin_message ( & mut self , msg : & plugin_messages:: FmlHs ) {
707+ use crate :: protocol:: Serializable ;
708+
709+ let mut buf: Vec < u8 > = vec ! [ ] ;
710+ msg. write_to ( & mut buf) . unwrap ( ) ;
711+
712+ self . write_plugin_message ( "FML|HS" , & buf) ;
713+ }
714+
706715 fn write_plugin_message ( & mut self , channel : & str , data : & [ u8 ] ) {
707716 println ! ( "Sending plugin message: channel={}, data={:?}" , channel, data) ;
708717 if self . protocol_version >= 47 {
0 commit comments