mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-21 21:14:39 +00:00
This test is intended to enforce that the BlockFactory always has the same blocks in it from one commit to the next. Since there are a lot of changes going on right now around this, it's important that this is checked because bugs can go under the radar when large changes are happening. The consistency check will need to be regenerated whenever a new block is registered, new states are found or when things are removed.
37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
|
|
/*
|
|
*
|
|
* ____ _ _ __ __ _ __ __ ____
|
|
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
|
|
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
|
|
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
|
|
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* @author PocketMine Team
|
|
* @link http://www.pocketmine.net/
|
|
*
|
|
*
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
require dirname(__DIR__, 3) . '/vendor/autoload.php';
|
|
|
|
/* This script needs to be re-run after any intentional blockfactory change (adding or removing a block state). */
|
|
|
|
\pocketmine\block\BlockFactory::init();
|
|
file_put_contents(__DIR__ . '/block_factory_consistency_check.json', json_encode(
|
|
array_map(
|
|
function(\pocketmine\block\Block $block) : string{
|
|
return $block->getName();
|
|
},
|
|
\pocketmine\block\BlockFactory::getAllKnownStates()
|
|
)
|
|
));
|