server = $server; $this->perm = new PermissibleBase([DefaultPermissions::ROOT_CONSOLE => true]); $this->language = $language; } public function getServer() : Server{ return $this->server; } public function getLanguage() : Language{ return $this->language; } public function sendMessage(TranslationContainer|string $message) : void{ $server = $this->getServer(); if($message instanceof TranslationContainer){ $message = $this->getLanguage()->translate($message); }else{ $message = $this->getLanguage()->translateString($message); } foreach(explode("\n", trim($message)) as $line){ $server->getLogger()->info($line); } } public function getName() : string{ return "CONSOLE"; } public function getScreenLineHeight() : int{ return $this->lineHeight ?? PHP_INT_MAX; } public function setScreenLineHeight(?int $height) : void{ if($height !== null and $height < 1){ throw new \InvalidArgumentException("Line height must be at least 1"); } $this->lineHeight = $height; } }