diff --git a/src/data/bedrock/ItemTagToIdMap.php b/src/data/bedrock/ItemTagToIdMap.php index 0782ff424f4..9190fa28bee 100644 --- a/src/data/bedrock/ItemTagToIdMap.php +++ b/src/data/bedrock/ItemTagToIdMap.php @@ -23,13 +23,12 @@ namespace pocketmine\data\bedrock; -use pocketmine\errorhandler\ErrorToExceptionHandler; use pocketmine\utils\AssumptionFailedError; +use pocketmine\utils\Filesystem; use pocketmine\utils\SingletonTrait; use pocketmine\utils\Utils; use Symfony\Component\Filesystem\Path; use function array_keys; -use function file_get_contents; use function gettype; use function is_array; use function is_string; @@ -46,7 +45,7 @@ final class ItemTagToIdMap{ use SingletonTrait; private static function make() : self{ - $map = json_decode(ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents(Path::join(BEDROCK_DATA_PATH, 'item_tags.json'))), true, flags: JSON_THROW_ON_ERROR); + $map = json_decode(Filesystem::fileGetContents(Path::join(BEDROCK_DATA_PATH, 'item_tags.json')), true, flags: JSON_THROW_ON_ERROR); if(!is_array($map)){ throw new AssumptionFailedError("Invalid item tag map, expected array"); } diff --git a/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php b/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php index 56263540249..27aa5b5103b 100644 --- a/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php +++ b/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php @@ -27,16 +27,15 @@ use pocketmine\data\bedrock\block\upgrade\model\BlockStateUpgradeSchemaModelBlockRemap; use pocketmine\data\bedrock\block\upgrade\model\BlockStateUpgradeSchemaModelTag; use pocketmine\data\bedrock\block\upgrade\model\BlockStateUpgradeSchemaModelValueRemap; -use pocketmine\errorhandler\ErrorToExceptionHandler; use pocketmine\nbt\tag\ByteTag; use pocketmine\nbt\tag\IntTag; use pocketmine\nbt\tag\StringTag; use pocketmine\nbt\tag\Tag; +use pocketmine\utils\Filesystem; use pocketmine\utils\Utils; use Symfony\Component\Filesystem\Path; use function array_map; use function count; -use function file_get_contents; use function get_debug_type; use function gettype; use function implode; @@ -275,11 +274,7 @@ public static function loadSchemas(string $path, int $currentVersion) : array{ $fullPath = Path::join($path, $filename); - try{ - $raw = ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents($fullPath)); - }catch(\ErrorException $e){ - throw new \RuntimeException("Loading schema file $fullPath: " . $e->getMessage(), 0, $e); - } + $raw = Filesystem::fileGetContents($fullPath); try{ $schema = self::loadSchemaFromString($raw, $priority); diff --git a/src/data/bedrock/item/BlockItemIdMap.php b/src/data/bedrock/item/BlockItemIdMap.php index d012fe3cb21..58a155a5a79 100644 --- a/src/data/bedrock/item/BlockItemIdMap.php +++ b/src/data/bedrock/item/BlockItemIdMap.php @@ -24,11 +24,10 @@ namespace pocketmine\data\bedrock\item; use pocketmine\utils\AssumptionFailedError; +use pocketmine\utils\Filesystem; use pocketmine\utils\SingletonTrait; -use pocketmine\utils\Utils; use Symfony\Component\Filesystem\Path; use function array_flip; -use function file_get_contents; use function is_array; use function json_decode; use const JSON_THROW_ON_ERROR; @@ -42,7 +41,7 @@ final class BlockItemIdMap{ private static function make() : self{ $map = json_decode( - Utils::assumeNotFalse(file_get_contents(Path::join(BEDROCK_DATA_PATH, 'block_id_to_item_id_map.json')), "Missing required resource file"), + Filesystem::fileGetContents(Path::join(BEDROCK_DATA_PATH, 'block_id_to_item_id_map.json')), associative: true, flags: JSON_THROW_ON_ERROR ); diff --git a/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php b/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php index c7d5d157718..6aade2eaa8f 100644 --- a/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php +++ b/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php @@ -24,9 +24,8 @@ namespace pocketmine\data\bedrock\item\upgrade; use pocketmine\data\bedrock\item\upgrade\model\ItemIdMetaUpgradeSchemaModel; -use pocketmine\errorhandler\ErrorToExceptionHandler; +use pocketmine\utils\Filesystem; use Symfony\Component\Filesystem\Path; -use function file_get_contents; use function gettype; use function is_object; use function json_decode; @@ -60,11 +59,7 @@ public static function loadSchemas(string $path) : array{ $fullPath = Path::join($path, $filename); - try{ - $raw = ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents($fullPath)); - }catch(\ErrorException $e){ - throw new \RuntimeException("Loading schema file $fullPath: " . $e->getMessage(), 0, $e); - } + $raw = Filesystem::fileGetContents($fullPath); try{ $schema = self::loadSchemaFromString($raw, $priority); diff --git a/src/data/bedrock/item/upgrade/R12ItemIdToBlockIdMap.php b/src/data/bedrock/item/upgrade/R12ItemIdToBlockIdMap.php index 9e5c86a3d54..2aac8de64e4 100644 --- a/src/data/bedrock/item/upgrade/R12ItemIdToBlockIdMap.php +++ b/src/data/bedrock/item/upgrade/R12ItemIdToBlockIdMap.php @@ -24,10 +24,10 @@ namespace pocketmine\data\bedrock\item\upgrade; use pocketmine\utils\AssumptionFailedError; +use pocketmine\utils\Filesystem; use pocketmine\utils\SingletonTrait; use pocketmine\utils\Utils; use Symfony\Component\Filesystem\Path; -use function file_get_contents; use function is_array; use function is_string; use function json_decode; @@ -47,7 +47,7 @@ final class R12ItemIdToBlockIdMap{ private static function make() : self{ $map = json_decode( - Utils::assumeNotFalse(file_get_contents(Path::join(BEDROCK_ITEM_UPGRADE_SCHEMA_PATH, '1.12.0_item_id_to_block_id_map.json')), "Missing required resource file"), + Filesystem::fileGetContents(Path::join(BEDROCK_ITEM_UPGRADE_SCHEMA_PATH, '1.12.0_item_id_to_block_id_map.json')), associative: true, flags: JSON_THROW_ON_ERROR ); diff --git a/src/world/format/io/GlobalBlockStateHandlers.php b/src/world/format/io/GlobalBlockStateHandlers.php index 36202fe9f91..d22eb368bbe 100644 --- a/src/world/format/io/GlobalBlockStateHandlers.php +++ b/src/world/format/io/GlobalBlockStateHandlers.php @@ -32,9 +32,8 @@ use pocketmine\data\bedrock\block\upgrade\BlockStateUpgrader; use pocketmine\data\bedrock\block\upgrade\BlockStateUpgradeSchemaUtils; use pocketmine\data\bedrock\block\upgrade\LegacyBlockIdToStringIdMap; -use pocketmine\errorhandler\ErrorToExceptionHandler; +use pocketmine\utils\Filesystem; use Symfony\Component\Filesystem\Path; -use function file_get_contents; use const pocketmine\BEDROCK_BLOCK_UPGRADE_SCHEMA_PATH; /** @@ -69,10 +68,10 @@ public static function getUpgrader() : BlockDataUpgrader{ )); self::$blockDataUpgrader = new BlockDataUpgrader( BlockIdMetaUpgrader::loadFromString( - ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents(Path::join( + Filesystem::fileGetContents(Path::join( BEDROCK_BLOCK_UPGRADE_SCHEMA_PATH, '1.12.0_to_1.18.10_blockstate_map.bin' - ))), + )), LegacyBlockIdToStringIdMap::getInstance(), $blockStateUpgrader ), diff --git a/tools/generate-block-palette-spec.php b/tools/generate-block-palette-spec.php index bb8505b7798..6217d543783 100644 --- a/tools/generate-block-palette-spec.php +++ b/tools/generate-block-palette-spec.php @@ -23,18 +23,17 @@ namespace pocketmine\tools\generate_block_palette_spec; -use pocketmine\errorhandler\ErrorToExceptionHandler; use pocketmine\nbt\NbtException; use pocketmine\nbt\tag\ByteTag; use pocketmine\nbt\tag\IntTag; use pocketmine\nbt\tag\StringTag; use pocketmine\network\mcpe\convert\BlockStateDictionary; use pocketmine\utils\AssumptionFailedError; +use pocketmine\utils\Filesystem; use pocketmine\utils\Utils; use function array_values; use function count; use function dirname; -use function file_get_contents; use function file_put_contents; use function fwrite; use function get_class; @@ -54,7 +53,7 @@ [, $inputFile, $outputFile] = $argv; try{ - $states = BlockStateDictionary::loadPaletteFromString(ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents($inputFile))); + $states = BlockStateDictionary::loadPaletteFromString(Filesystem::fileGetContents($inputFile)); }catch(NbtException){ fwrite(STDERR, "Invalid block palette file $argv[1]\n"); exit(1); diff --git a/tools/generate-blockstate-upgrade-schema.php b/tools/generate-blockstate-upgrade-schema.php index abf0be79755..f0524326403 100644 --- a/tools/generate-blockstate-upgrade-schema.php +++ b/tools/generate-blockstate-upgrade-schema.php @@ -28,15 +28,14 @@ use pocketmine\data\bedrock\block\upgrade\BlockStateUpgradeSchemaBlockRemap; use pocketmine\data\bedrock\block\upgrade\BlockStateUpgradeSchemaUtils; use pocketmine\data\bedrock\block\upgrade\BlockStateUpgradeSchemaValueRemap; -use pocketmine\errorhandler\ErrorToExceptionHandler; use pocketmine\nbt\tag\Tag; use pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer; use pocketmine\utils\AssumptionFailedError; +use pocketmine\utils\Filesystem; use pocketmine\utils\Utils; use function array_key_first; use function count; use function dirname; -use function file_get_contents; use function file_put_contents; use function fwrite; use function json_encode; @@ -59,11 +58,7 @@ public function __construct( * @phpstan-return array> */ function loadUpgradeTable(string $file, bool $reverse) : array{ - try{ - $contents = ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents($file)); - }catch(\ErrorException $e){ - throw new \RuntimeException("Failed loading mapping table file $file: " . $e->getMessage(), 0, $e); - } + $contents = Filesystem::fileGetContents($file); $data = (new NetworkNbtSerializer())->readMultiple($contents); $result = []; diff --git a/tools/generate-item-upgrade-schema.php b/tools/generate-item-upgrade-schema.php index 0f59bebe01d..c6096bafbab 100644 --- a/tools/generate-item-upgrade-schema.php +++ b/tools/generate-item-upgrade-schema.php @@ -30,10 +30,10 @@ namespace pocketmine\tools\generate_item_upgrade_schema; use pocketmine\errorhandler\ErrorToExceptionHandler; +use pocketmine\utils\Filesystem; use Symfony\Component\Filesystem\Path; use function count; use function dirname; -use function file_get_contents; use function file_put_contents; use function is_array; use function json_decode; @@ -55,7 +55,7 @@ [, $mappingTableFile, $upgradeSchemasDir, $outputFile] = $argv; -$target = json_decode(ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents($mappingTableFile)), true, JSON_THROW_ON_ERROR); +$target = json_decode(Filesystem::fileGetContents($mappingTableFile), true, JSON_THROW_ON_ERROR); if(!is_array($target)){ \GlobalLogger::get()->error("Invalid mapping table file"); exit(1); @@ -69,7 +69,7 @@ continue; } \GlobalLogger::get()->info("Processing schema file $file"); - $data = json_decode(ErrorToExceptionHandler::trapAndRemoveFalse(fn() => file_get_contents(Path::join($upgradeSchemasDir, $file))), associative: true, flags: JSON_THROW_ON_ERROR); + $data = json_decode(Filesystem::fileGetContents(Path::join($upgradeSchemasDir, $file)), associative: true, flags: JSON_THROW_ON_ERROR); if(!is_array($data)){ \GlobalLogger::get()->error("Invalid schema file $file"); exit(1);