setPermission("pocketmine.command.time.add;pocketmine.command.time.set;pocketmine.command.time.start;pocketmine.command.time.stop"); } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(count($args) < 1){ throw new InvalidCommandSyntaxException(); } if($args[0] === "start"){ if(!$sender->hasPermission("pocketmine.command.time.start")){ $sender->sendMessage($sender->getServer()->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission")); return true; } foreach($sender->getServer()->getWorldManager()->getWorlds() as $world){ $world->startTime(); } Command::broadcastCommandMessage($sender, "Restarted the time"); return true; }elseif($args[0] === "stop"){ if(!$sender->hasPermission("pocketmine.command.time.stop")){ $sender->sendMessage($sender->getServer()->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission")); return true; } foreach($sender->getServer()->getWorldManager()->getWorlds() as $world){ $world->stopTime(); } Command::broadcastCommandMessage($sender, "Stopped the time"); return true; }elseif($args[0] === "query"){ if(!$sender->hasPermission("pocketmine.command.time.query")){ $sender->sendMessage($sender->getServer()->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission")); return true; } if($sender instanceof Player){ $world = $sender->getWorld(); }else{ $world = $sender->getServer()->getWorldManager()->getDefaultWorld(); } $sender->sendMessage($sender->getServer()->getLanguage()->translateString("commands.time.query", [$world->getTime()])); return true; } if(count($args) < 2){ throw new InvalidCommandSyntaxException(); } if($args[0] === "set"){ if(!$sender->hasPermission("pocketmine.command.time.set")){ $sender->sendMessage($sender->getServer()->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission")); return true; } if($args[1] === "day"){ $value = World::TIME_DAY; }elseif($args[1] === "night"){ $value = World::TIME_NIGHT; }else{ $value = $this->getInteger($sender, $args[1], 0); } foreach($sender->getServer()->getWorldManager()->getWorlds() as $world){ $world->setTime($value); } Command::broadcastCommandMessage($sender, new TranslationContainer("commands.time.set", [$value])); }elseif($args[0] === "add"){ if(!$sender->hasPermission("pocketmine.command.time.add")){ $sender->sendMessage($sender->getServer()->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission")); return true; } $value = $this->getInteger($sender, $args[1], 0); foreach($sender->getServer()->getWorldManager()->getWorlds() as $world){ $world->setTime($world->getTime() + $value); } Command::broadcastCommandMessage($sender, new TranslationContainer("commands.time.added", [$value])); }else{ throw new InvalidCommandSyntaxException(); } return true; } }