Merge branch '3.5'

This commit is contained in:
Dylan K. Taylor
2019-01-04 23:28:44 +00:00
258 changed files with 1322 additions and 40 deletions

View File

@ -34,6 +34,17 @@ use pocketmine\Player;
use pocketmine\tile\Spawnable;
use pocketmine\tile\Tile;
use pocketmine\utils\BinaryStream;
use function array_fill;
use function array_filter;
use function array_values;
use function assert;
use function chr;
use function count;
use function ord;
use function pack;
use function str_repeat;
use function strlen;
use function unpack;
class Chunk{

View File

@ -23,6 +23,8 @@ declare(strict_types=1);
namespace pocketmine\level\format;
use function str_repeat;
class EmptySubChunk implements SubChunkInterface{
/** @var EmptySubChunk */
private static $instance;

View File

@ -23,6 +23,16 @@ declare(strict_types=1);
namespace pocketmine\level\format;
use function assert;
use function chr;
use function define;
use function defined;
use function ord;
use function str_repeat;
use function strlen;
use function substr;
use function substr_count;
if(!defined(__NAMESPACE__ . '\ZERO_NIBBLE_ARRAY')){
define(__NAMESPACE__ . '\ZERO_NIBBLE_ARRAY', str_repeat("\x00", 2048));
}

View File

@ -27,6 +27,7 @@ use pocketmine\level\format\Chunk;
use pocketmine\level\format\io\exception\CorruptedChunkException;
use pocketmine\level\format\io\exception\UnsupportedChunkFormatException;
use pocketmine\level\LevelException;
use function file_exists;
abstract class BaseLevelProvider implements LevelProvider{
/** @var string */

View File

@ -23,6 +23,11 @@ declare(strict_types=1);
namespace pocketmine\level\format\io;
use function chr;
use function extension_loaded;
use function ord;
use function str_repeat;
if(!extension_loaded('pocketmine_chunkutils')){
class ChunkUtils{

View File

@ -28,6 +28,8 @@ use pocketmine\level\format\io\region\Anvil;
use pocketmine\level\format\io\region\McRegion;
use pocketmine\level\format\io\region\PMAnvil;
use pocketmine\utils\Utils;
use function strtolower;
use function trim;
abstract class LevelProviderManager{
protected static $providers = [];

View File

@ -27,6 +27,7 @@ use pocketmine\level\format\io\LevelData;
use pocketmine\level\LevelException;
use pocketmine\math\Vector3;
use pocketmine\nbt\tag\CompoundTag;
use function file_exists;
abstract class BaseNbtLevelData implements LevelData{

View File

@ -36,6 +36,11 @@ use pocketmine\nbt\tag\LongTag;
use pocketmine\nbt\tag\StringTag;
use pocketmine\network\mcpe\protocol\ProtocolInfo;
use pocketmine\utils\Binary;
use function file_get_contents;
use function file_put_contents;
use function strlen;
use function substr;
use function time;
class BedrockLevelData extends BaseNbtLevelData{

View File

@ -32,6 +32,10 @@ use pocketmine\nbt\tag\FloatTag;
use pocketmine\nbt\tag\IntTag;
use pocketmine\nbt\tag\LongTag;
use pocketmine\nbt\tag\StringTag;
use function ceil;
use function file_get_contents;
use function file_put_contents;
use function microtime;
class JavaLevelData extends BaseNbtLevelData{

View File

@ -36,6 +36,19 @@ use pocketmine\nbt\tag\CompoundTag;
use pocketmine\nbt\tag\IntTag;
use pocketmine\utils\Binary;
use pocketmine\utils\BinaryStream;
use function array_values;
use function chr;
use function defined;
use function extension_loaded;
use function file_exists;
use function is_dir;
use function mkdir;
use function ord;
use function pack;
use function strlen;
use function substr;
use function unpack;
use const LEVELDB_ZLIB_RAW_COMPRESSION;
class LevelDB extends BaseLevelProvider{

View File

@ -33,6 +33,11 @@ use pocketmine\nbt\tag\ByteArrayTag;
use pocketmine\nbt\tag\CompoundTag;
use pocketmine\nbt\tag\IntArrayTag;
use pocketmine\nbt\tag\ListTag;
use function array_values;
use function pack;
use function str_repeat;
use function substr;
use function unpack;
class McRegion extends RegionLevelProvider{

View File

@ -29,6 +29,17 @@ use pocketmine\level\format\io\data\JavaLevelData;
use pocketmine\level\format\io\exception\CorruptedChunkException;
use pocketmine\level\format\io\LevelData;
use pocketmine\level\Level;
use function assert;
use function file_exists;
use function is_dir;
use function is_int;
use function mkdir;
use function rename;
use function scandir;
use function strrpos;
use function substr;
use function time;
use const SCANDIR_SORT_NONE;
abstract class RegionLevelProvider extends BaseLevelProvider{

View File

@ -26,6 +26,29 @@ namespace pocketmine\level\format\io\region;
use pocketmine\level\format\ChunkException;
use pocketmine\level\format\io\exception\CorruptedChunkException;
use pocketmine\utils\Binary;
use function array_fill;
use function ceil;
use function chr;
use function fclose;
use function fgetc;
use function file_exists;
use function filesize;
use function fopen;
use function fread;
use function fseek;
use function ftruncate;
use function fwrite;
use function is_resource;
use function ord;
use function pack;
use function str_pad;
use function stream_set_read_buffer;
use function stream_set_write_buffer;
use function strlen;
use function time;
use function touch;
use function unpack;
use const STR_PAD_RIGHT;
class RegionLoader{
public const COMPRESSION_GZIP = 1;