The point is that there is no reason to write so much extra code (like static config getters, an individual PluginCommand class, etc.) when you could have just declared the command in plugin.yml, and then your whole plugin can be simplified to just a few lines of code Code: name: Pinger version: 1.0 author: Fris api: [3.0.0-ALPHA10] main: friscowz\Pinger commands: ping: aliases: [ms, latency, pinger] PHP: <?phpnamespace friscowz\pinger;use pocketmine\command\{Command, CommandSender};use pocketmine\Player;use pocketmine\plugin\PluginBase;class Pinger extends PluginBase{ private $cfg; public function onEnable(){ $this->cfg = new Config($this->getDataFolder() . "config.yml", Config::YAML, ["Message" => "§aYour ping is {ping}ms!"]); } public function onCommand(CommandSender $sender, Command $cmd, string $label, array $args) : bool{ if($sender instanceof Player) $sender->sendMessage(str_replace("{ping}", $sender->getPing(), $this->cfg->get("Message"))); return true; }} Just 19 lines of PHP code (+ 3 extra lines in plugin.yml). And you made almost 100 (excluding comments).
In all fairness he could be laying the groundwork for a massive plugin that for now only has a single command... or maybe just experimenting with various coding techniques. People can have their own valid reasons for making things more complicated than strictly necessary, and even reinventing the wheel can have its uses. Not often though.