diff --git a/src/pocketmine/block/BlockFactory.php b/src/pocketmine/block/BlockFactory.php index 939a25931..825567fef 100644 --- a/src/pocketmine/block/BlockFactory.php +++ b/src/pocketmine/block/BlockFactory.php @@ -31,6 +31,7 @@ use pocketmine\block\utils\TreeType; use pocketmine\item\ItemIds; use pocketmine\level\Position; use function array_fill; +use function array_filter; use function file_get_contents; use function get_class; use function json_decode; @@ -675,4 +676,11 @@ class BlockFactory{ self::$legacyIdMap[$staticRuntimeId] = ($legacyId << 4) | $legacyMeta; self::$lastRuntimeId = max(self::$lastRuntimeId, $staticRuntimeId); } + + /** + * @return Block[] + */ + public static function getAllKnownStates() : array{ + return array_filter(self::$fullList->toArray(), function(?Block $v) : bool{ return $v !== null; }); + } }