'0;30', '&1' => '0;34', '&2' => '0;32', '&3' => '0;36', '&4' => '0;31', '&5' => '0;35', '&6' => '0;33', '&7' => '0;37', '&8' => '1;30', '&9' => '1;34', '&a' => '1;32', '&b' => '1;36', '&c' => '1;31', '&d' => '1;35', '&e' => '1;33', '&f' => '1;37', '&r' => '0' ]; public function charsOut(string $output): void { echo $this->parseOutput($output); } public function lineOut(string $output): void { echo $this->parseOutput($output) . "\n"; } public function warningOut(string $output): void { $this->lineOut('&4[&eWARNING&4] &e' . $output . '&r'); } public function errorOut(string $output): void { $this->lineOut('&4[&eERROR&4] &c' . $output . '&r'); } protected function parseOutput(string $output): string { // First parse for colors foreach ($this->colors as $colorKey => $colorVal) { $output = str_replace($colorKey, "\033[" . $colorVal . 'm', $output); } return $output; } }