diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 84d128e75..c083288f1 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -186,7 +186,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ public static function isValidUserName(string $name) : bool{ $lname = strtolower($name); $len = strlen($name); - return $lname !== "rcon" and $lname !== "console" and $len >= 1 and $len <= 16 and preg_match("/[^A-Za-z0-9_]/", $name) === 0; + return $lname !== "rcon" and $lname !== "console" and $len >= 1 and $len <= 16 and preg_match("/[^A-Za-z0-9_ ]/", $name) === 0; } /** diff --git a/src/pocketmine/command/SimpleCommandMap.php b/src/pocketmine/command/SimpleCommandMap.php index 352d93d3d..1587344a1 100644 --- a/src/pocketmine/command/SimpleCommandMap.php +++ b/src/pocketmine/command/SimpleCommandMap.php @@ -223,7 +223,7 @@ class SimpleCommandMap implements CommandMap{ } public function dispatch(CommandSender $sender, string $commandLine) : bool{ - $args = explode(" ", $commandLine); + $args = array_map("stripslashes", str_getcsv($commandLine, " ")); $sentCommandLabel = ""; $target = $this->matchCommand($sentCommandLabel, $args); diff --git a/src/pocketmine/utils/Binary.php b/src/pocketmine/utils/Binary.php index 6ae9ce3a5..9b3c8c547 100644 --- a/src/pocketmine/utils/Binary.php +++ b/src/pocketmine/utils/Binary.php @@ -285,7 +285,7 @@ class Binary{ */ public static function readFloat(string $str) : float{ self::checkLength($str, 4); - return (ENDIANNESS === self::BIG_ENDIAN ? unpack("f", $str)[1] : unpack("f", strrev($str))[1]); + return unpack("G", $str)[1]; } /** @@ -307,7 +307,7 @@ class Binary{ * @return string */ public static function writeFloat(float $value) : string{ - return ENDIANNESS === self::BIG_ENDIAN ? pack("f", $value) : strrev(pack("f", $value)); + return pack("G", $value); } /** @@ -318,7 +318,7 @@ class Binary{ */ public static function readLFloat(string $str) : float{ self::checkLength($str, 4); - return (ENDIANNESS === self::BIG_ENDIAN ? unpack("f", strrev($str))[1] : unpack("f", $str)[1]); + return unpack("g", $str)[1]; } /** @@ -340,7 +340,7 @@ class Binary{ * @return string */ public static function writeLFloat(float $value) : string{ - return ENDIANNESS === self::BIG_ENDIAN ? strrev(pack("f", $value)) : pack("f", $value); + return pack("g", $value); } /** @@ -361,7 +361,7 @@ class Binary{ */ public static function readDouble(string $str) : float{ self::checkLength($str, 8); - return ENDIANNESS === self::BIG_ENDIAN ? unpack("d", $str)[1] : unpack("d", strrev($str))[1]; + return unpack("E", $str)[1]; } /** @@ -371,7 +371,7 @@ class Binary{ * @return string */ public static function writeDouble(float $value) : string{ - return ENDIANNESS === self::BIG_ENDIAN ? pack("d", $value) : strrev(pack("d", $value)); + return pack("E", $value); } /** @@ -382,7 +382,7 @@ class Binary{ */ public static function readLDouble(string $str) : float{ self::checkLength($str, 8); - return ENDIANNESS === self::BIG_ENDIAN ? unpack("d", strrev($str))[1] : unpack("d", $str)[1]; + return unpack("e", $str)[1]; } /** @@ -391,7 +391,7 @@ class Binary{ * @return string */ public static function writeLDouble(float $value) : string{ - return ENDIANNESS === self::BIG_ENDIAN ? strrev(pack("d", $value)) : pack("d", $value); + return pack("e", $value); } /** diff --git a/tests/preprocessor b/tests/preprocessor index 4611a31fe..fcfaad89c 160000 --- a/tests/preprocessor +++ b/tests/preprocessor @@ -1 +1 @@ -Subproject commit 4611a31fe95f6b56cac126308cc0d098a28dde01 +Subproject commit fcfaad89c0605dd7ad345abea82da19cf625a888