@@ -64,8 +64,29 @@ public override void HandleMcpeUpdateSoftEnum(McpeUpdateSoftEnum message)
6464
6565 public override void HandleMcpeDisconnect ( McpeDisconnect message )
6666 {
67- Log . InfoFormat ( "Disconnect {1}: {0}" , message . message , Client . Username ) ;
68-
67+ Log . Warn ( "[Disconnect Screen] " ) ;
68+ switch ( message . message . ToString ( ) )
69+ {
70+ case "disconnectionScreen.notAuthenticated" :
71+ Log . Warn ( "You need to authenticate to Xbox Live services to join this server." ) ;
72+ break ;
73+ case "disconnectionScreen.invalidSkin" :
74+ Log . Warn ( "Invalid skin." ) ;
75+ break ;
76+ case "disconnectionScreen.serverFull" :
77+ case "disconnectionScreen.serverFull.title" :
78+ Log . Warn ( "Server is full." ) ;
79+ break ;
80+ case "disconnectionScreen.resourcePack" :
81+ Log . Warn ( "Resource pack error." ) ;
82+ break ;
83+ case "disconnectionScreen.badPacket" :
84+ Log . Warn ( "Client sent invalid packet." ) ;
85+ break ;
86+ default :
87+ Log . Warn ( $ "Server requested disconnect with message { message . message . ToString ( ) } ") ;
88+ break ;
89+ }
6990 base . HandleMcpeDisconnect ( message ) ;
7091 }
7192
@@ -184,6 +205,12 @@ public override void HandleMcpeInventoryContent(McpeInventoryContent message)
184205
185206 public override void HandleMcpeCreativeContent ( McpeCreativeContent message )
186207 {
208+ Log . Warn ( $ "[McpeCreativeContent] Received { message . input . Count } creative items") ;
209+ foreach ( var item in message . input )
210+ {
211+ //Log.Warn($"Got item: {item.Name} ({item.Id} : {item.Metadata})");
212+ }
213+ Log . Warn ( $ "[McpeCreativeContent] Done reading { message . input . Count } creative items\n ") ;
187214 }
188215
189216 public override void HandleMcpeAddItemEntity ( McpeAddItemEntity message )
@@ -208,19 +235,6 @@ public override void HandleMcpeStartGame(McpeStartGame message)
208235 Client . SpawnPoint = message . spawn ;
209236 Client . CurrentLocation = new PlayerLocation ( Client . SpawnPoint , message . rotation . X , message . rotation . X , message . rotation . Y ) ;
210237
211- Log . Warn ( $ "Got position from startgame packet: { Client . CurrentLocation } ") ;
212-
213- var settings = new JsonSerializerSettings
214- {
215- PreserveReferencesHandling = PreserveReferencesHandling . Arrays ,
216- TypeNameHandling = TypeNameHandling . Auto ,
217- Formatting = Formatting . Indented ,
218- DefaultValueHandling = DefaultValueHandling . Include
219- } ;
220-
221- var fileNameItemstates = "newResources/itemstates.json" ;
222- File . WriteAllText ( fileNameItemstates , JsonConvert . SerializeObject ( message . itemstates , settings ) ) ;
223-
224238 LogGamerules ( message . levelSettings . gamerules ) ;
225239
226240 Client . LevelInfo . LevelName = "Default" ;
@@ -591,9 +605,11 @@ public override void HandleMcpeLevelChunk(McpeLevelChunk message)
591605 Client . Chunks . GetOrAdd ( new ChunkCoordinates ( message . chunkX , message . chunkZ ) , coordinates =>
592606 {
593607 Log . Debug ( $ "Chunk X={ message . chunkX } , Z={ message . chunkZ } , size={ message . chunkData . Length } , Count={ Client . Chunks . Count } ") ;
594-
595- ChunkColumn chunk = null ;
596- try
608+ if ( BlockstateGenerator . running == false ) { Console . WriteLine ( $ "[McpeLevelChunk] Got chunk | X: { message . chunkX , - 4 } | Z: { message . chunkZ , - 4 } |") ; ; }
609+ //broken, chunkData have weird values. Expected header something like: 09 01 02 08
610+ //Log.Debug($"{Packet.HexDump(message.Bytes)}");
611+ ChunkColumn chunk = null ;
612+ /*try
597613 {
598614 chunk = ClientUtils.DecodeChunkColumn((int) message.subChunkCount, message.chunkData);
599615 if (chunk != null)
@@ -611,7 +627,7 @@ public override void HandleMcpeLevelChunk(McpeLevelChunk message)
611627 catch (Exception e)
612628 {
613629 Log.Error("Reading chunk", e);
614- }
630+ }*/
615631
616632 return chunk ;
617633 } ) ;
@@ -649,19 +665,12 @@ private static void LogGamerules(GameRules rules)
649665
650666 public override void HandleMcpeAvailableCommands ( McpeAvailableCommands message )
651667 {
652- //{
653- // dynamic json = JObject.Parse(message.commands);
654-
655- // //if (Log.IsDebugEnabled) Log.Debug($"Command JSON:\n{json}");
656- // string fileName = Path.GetTempPath() + "AvailableCommands_" + Guid.NewGuid() + ".json";
657- // Log.Info($"Writing commands to filename: {fileName}");
658- // File.WriteAllText(fileName, message.commands);
659- //}
660- //{
661- // dynamic json = JObject.Parse(message.unknown);
662-
663- // //if (Log.IsDebugEnabled) Log.Debug($"Command (unknown) JSON:\n{json}");
664- //}
668+ Log . Warn ( $ "[McpeAvailableCommands] Received { message . CommandList . Count } commnands") ;
669+ foreach ( var command in message . CommandList )
670+ {
671+ //Log.Warn($"Got command: {command.Name} - {command.Versions[0].Description}");
672+ }
673+ Log . Warn ( $ "[McpeAvailableCommands] Done reading { message . CommandList . Count } commnands\n ") ;
665674 }
666675
667676 public override void HandleMcpeResourcePackChunkData ( McpeResourcePackChunkData message )
0 commit comments