Is there any way to have it say Code: /login <password> On the screen instead of Code: /login [args: string]
There is no API for this YET, it was not added in 0.16 since the changes needed to implement a new commands format like this would have broken almost every plugin anywhere.
I don't know why you want to blame someone who created something... MCPE added command lists properly. It is the server that doesn't send the command list properly. Of course, with the exception that is to be blamed for everything.
They definitely write a packet documentation, but what are the reasons they don't want to share them?
We have so far no problem understanding the packets sent while command data are sent. What's troublesome is how the plugin API backwards compatibility can be maintained while supporting new features.
@Primus exactly, which is why I just added this hack for 0.16... back in the early days I didn't want to alienate people by breaking the whole API so soon, especially since damn near every PocketMine plugin in the world uses commands and would have broken as a result You do realize that the reason it displays like that is nothing to do with MCPE... it's to do with server-side fast hacks added to fix commands while at the same time maintaining backwards compatibility with older plugins.
This might be a bit off topic but I was messing with UN-sending command data last week until I had ran into an \stdClass error that I have now fixed. This was my code to unregister all commands that would be listed when player types in '/': PHP: public function unsendCommandData($player){ $pk = new \pocketmine\network\protocol\AvailableCommandsPacket(); $pk->commands = ""; $player->dataPacket($pk); } Now, it obviously worked but... After executing that function, when the $player typed in a vanilla command on the server, it would actually give out a vanilla output. Example, typing... /give muqsit b ...in the chat would give out a list of item names starting with 'b' alongwith the item icon to the name's left, just like vanilla. The crash would occur only when the $player had executed a vanilla command.