From 659cad0eff760627647c551c8218e7d1dbc369f1 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 7 Jun 2019 18:31:37 +0100 Subject: [PATCH] BlockFactory: added a hacky method to allow block state remapping we need this for fixing old data in some cases --- src/pocketmine/block/BlockFactory.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pocketmine/block/BlockFactory.php b/src/pocketmine/block/BlockFactory.php index 05e8086c4..85e7f3c71 100644 --- a/src/pocketmine/block/BlockFactory.php +++ b/src/pocketmine/block/BlockFactory.php @@ -803,6 +803,13 @@ class BlockFactory{ } } + public static function remap(int $id, int $meta, Block $block) : void{ + if(self::isRegistered($id, $meta)){ + throw new \InvalidArgumentException("$id:$meta is already mapped"); + } + self::fillStaticArrays(($id << 4) | $meta, $block); + } + private static function fillStaticArrays(int $index, Block $block) : void{ self::$fullList[$index] = $block; self::$lightFilter[$index] = min(15, $block->getLightFilter() + 1); //opacity plus 1 standard light filter