mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 12:18:46 +00:00
Remove unnecessary BlockStateDictionary usages
This commit is contained in:
parent
5c4288de01
commit
dc8f65c0dd
@ -30,8 +30,6 @@ use pocketmine\data\bedrock\block\BlockTypeNames;
|
|||||||
use pocketmine\errorhandler\ErrorToExceptionHandler;
|
use pocketmine\errorhandler\ErrorToExceptionHandler;
|
||||||
use pocketmine\nbt\NbtException;
|
use pocketmine\nbt\NbtException;
|
||||||
use pocketmine\nbt\TreeRoot;
|
use pocketmine\nbt\TreeRoot;
|
||||||
use pocketmine\network\mcpe\convert\BlockStateDictionary;
|
|
||||||
use pocketmine\network\mcpe\convert\BlockStateDictionaryEntry;
|
|
||||||
use pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer;
|
use pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer;
|
||||||
use pocketmine\utils\AssumptionFailedError;
|
use pocketmine\utils\AssumptionFailedError;
|
||||||
use pocketmine\utils\Utils;
|
use pocketmine\utils\Utils;
|
||||||
@ -68,11 +66,14 @@ class BlockPaletteReport{
|
|||||||
public array $seenStateValues = [];
|
public array $seenStateValues = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateBlockPaletteReport(BlockStateDictionary $dictionary) : BlockPaletteReport{
|
/**
|
||||||
|
* @param BlockStateData[] $states
|
||||||
|
* @phpstan-param list<BlockStateData> $states
|
||||||
|
*/
|
||||||
|
function generateBlockPaletteReport(array $states) : BlockPaletteReport{
|
||||||
$result = new BlockPaletteReport();
|
$result = new BlockPaletteReport();
|
||||||
|
|
||||||
foreach($dictionary->getStates() as $state){
|
foreach($states as $stateData){
|
||||||
$stateData = $state->getStateData();
|
|
||||||
$name = $stateData->getName();
|
$name = $stateData->getName();
|
||||||
$result->seenTypes[$name] = $name;
|
$result->seenTypes[$name] = $name;
|
||||||
foreach($stateData->getStates() as $k => $v){
|
foreach($stateData->getStates() as $k => $v){
|
||||||
@ -190,14 +191,8 @@ try{
|
|||||||
fwrite(STDERR, "Invalid block palette file $argv[1]\n");
|
fwrite(STDERR, "Invalid block palette file $argv[1]\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
$entries = [];
|
|
||||||
$fakeMeta = [];
|
$report = generateBlockPaletteReport($states);
|
||||||
foreach($states as $state){
|
|
||||||
$fakeMeta[$state->getName()] ??= 0;
|
|
||||||
$entries[] = new BlockStateDictionaryEntry($state, $fakeMeta[$state->getName()]++);
|
|
||||||
}
|
|
||||||
$dictionary = new BlockStateDictionary($entries);
|
|
||||||
$report = generateBlockPaletteReport($dictionary);
|
|
||||||
generateBlockIds(array_values($report->seenTypes));
|
generateBlockIds(array_values($report->seenTypes));
|
||||||
generateBlockStateNames($report);
|
generateBlockStateNames($report);
|
||||||
generateBlockStringValues($report);
|
generateBlockStringValues($report);
|
||||||
|
@ -30,8 +30,6 @@ use pocketmine\nbt\tag\ByteTag;
|
|||||||
use pocketmine\nbt\tag\IntTag;
|
use pocketmine\nbt\tag\IntTag;
|
||||||
use pocketmine\nbt\tag\StringTag;
|
use pocketmine\nbt\tag\StringTag;
|
||||||
use pocketmine\nbt\TreeRoot;
|
use pocketmine\nbt\TreeRoot;
|
||||||
use pocketmine\network\mcpe\convert\BlockStateDictionary;
|
|
||||||
use pocketmine\network\mcpe\convert\BlockStateDictionaryEntry;
|
|
||||||
use pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer;
|
use pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer;
|
||||||
use pocketmine\utils\AssumptionFailedError;
|
use pocketmine\utils\AssumptionFailedError;
|
||||||
use pocketmine\utils\Utils;
|
use pocketmine\utils\Utils;
|
||||||
@ -64,18 +62,10 @@ try{
|
|||||||
fwrite(STDERR, "Invalid block palette file $argv[1]\n");
|
fwrite(STDERR, "Invalid block palette file $argv[1]\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
$entries = [];
|
|
||||||
$fakeMeta = [];
|
|
||||||
foreach($states as $state){
|
|
||||||
$fakeMeta[$state->getName()] ??= 0;
|
|
||||||
$entries[] = new BlockStateDictionaryEntry($state, $fakeMeta[$state->getName()]++);
|
|
||||||
}
|
|
||||||
$palette = new BlockStateDictionary($entries);
|
|
||||||
|
|
||||||
$reportMap = [];
|
$reportMap = [];
|
||||||
|
|
||||||
foreach($palette->getStates() as $entry){
|
foreach($states as $state){
|
||||||
$state = $entry->getStateData();
|
|
||||||
$name = $state->getName();
|
$name = $state->getName();
|
||||||
$reportMap[$name] ??= [];
|
$reportMap[$name] ??= [];
|
||||||
foreach($state->getStates() as $propertyName => $value){
|
foreach($state->getStates() as $propertyName => $value){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user