diff --git a/src/pocketmine/utils/Terminal.php b/src/pocketmine/utils/Terminal.php index d9218d59b..decdbd19f 100644 --- a/src/pocketmine/utils/Terminal.php +++ b/src/pocketmine/utils/Terminal.php @@ -62,6 +62,33 @@ abstract class Terminal{ return self::$formattingCodes; } + protected static function getFallbackEscapeCodes(){ + self::$FORMAT_BOLD = "\x1b[1m"; + self::$FORMAT_OBFUSCATED = "\x1b(0"; + self::$FORMAT_ITALIC = "\x1b[3m"; + self::$FORMAT_UNDERLINE = "\x1b[4m"; + self::$FORMAT_STRIKETHROUGH = "\x1b[9m"; + + self::$FORMAT_RESET = "\x1b(B\x1b[m"; + + self::$COLOR_BLACK = "\x1b[38;5;16m"; + self::$COLOR_DARK_BLUE = "\x1b[38;5;19m"; + self::$COLOR_DARK_GREEN = "\x1b[38;5;34m"; + self::$COLOR_DARK_AQUA = "\x1b[38;5;37m"; + self::$COLOR_DARK_RED = "\x1b[38;5;124m"; + self::$COLOR_PURPLE = "\x1b[38;5;127m"; + self::$COLOR_GOLD = "\x1b[38;5;214m"; + self::$COLOR_GRAY = "\x1b[38;5;145m"; + self::$COLOR_DARK_GRAY = "\x1b[38;5;59m"; + self::$COLOR_BLUE = "\x1b[38;5;63m"; + self::$COLOR_GREEN = "\x1b[38;5;83m"; + self::$COLOR_AQUA = "\x1b[38;5;87m"; + self::$COLOR_RED = "\x1b[38;5;203m"; + self::$COLOR_LIGHT_PURPLE = "\x1b[38;5;207m"; + self::$COLOR_YELLOW = "\x1b[38;5;227m"; + self::$COLOR_WHITE = "\x1b[38;5;231m"; + } + protected static function getEscapeCodes(){ self::$FORMAT_BOLD = `tput bold`; self::$FORMAT_OBFUSCATED = `tput smacs`; @@ -108,9 +135,16 @@ abstract class Terminal{ case "bsd": self::getEscapeCodes(); return; + + case "windows": + case "android": + if(self::hasFormattingCodes()){ + self::getFallbackEscapeCodes(); + } + return; } - //TODO: Android, Windows iOS + //TODO: iOS } } \ No newline at end of file