mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-03 00:25:04 +00:00
Add support for specialized flattenedProperties in schema format
This commit is contained in:
@ -24,8 +24,10 @@ declare(strict_types=1);
|
||||
namespace pocketmine\data\bedrock\block\upgrade;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use pocketmine\block\Block;
|
||||
use pocketmine\data\bedrock\block\BlockStateData;
|
||||
use pocketmine\nbt\tag\IntTag;
|
||||
use pocketmine\nbt\tag\StringTag;
|
||||
use const PHP_INT_MAX;
|
||||
|
||||
class BlockStateUpgraderTest extends TestCase{
|
||||
@ -210,6 +212,23 @@ class BlockStateUpgraderTest extends TestCase{
|
||||
self::assertSame($upgradedStateData->getState(self::TEST_PROPERTY_2)?->getValue(), $valueAfter);
|
||||
}
|
||||
|
||||
public function testFlattenProperty() : void{
|
||||
$schema = $this->getNewSchema();
|
||||
$schema->flattenedProperties[self::TEST_BLOCK] = new BlockStateUpgradeSchemaFlattenInfo(
|
||||
"minecraft:",
|
||||
"test",
|
||||
"_suffix",
|
||||
[],
|
||||
StringTag::class
|
||||
);
|
||||
|
||||
$stateData = new BlockStateData(self::TEST_BLOCK, ["test" => new StringTag("value1")], 0);
|
||||
$upgradedStateData = $this->upgrade($stateData, fn() => $stateData);
|
||||
|
||||
self::assertSame("minecraft:value1_suffix", $upgradedStateData->getName());
|
||||
self::assertEmpty($upgradedStateData->getStates());
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpstan-return \Generator<int, array{int, int, bool, int}, void, void>
|
||||
*/
|
||||
|
Reference in New Issue
Block a user