BlockStateData: use array<Tag> instead of CompoundTag to store state properties

this reduces the footprint of RuntimeBlockMapping by a further 1 MB, as well as simplifying various parts of the code, and solidifying the immutability guarantee of BlockStateData.
This commit is contained in:
Dylan K. Taylor
2022-07-09 16:03:51 +01:00
parent 151f2c3f3a
commit ccb3c3cb05
17 changed files with 148 additions and 110 deletions

View File

@ -62,7 +62,7 @@ $reportMap = [];
foreach($states as $state){
$name = $state->getName();
$reportMap[$name] ??= [];
foreach($state->getStates() as $propertyName => $value){
foreach(Utils::stringifyKeys($state->getStates()) as $propertyName => $value){
if($value instanceof IntTag || $value instanceof StringTag){
$rawValue = $value->getValue();
}elseif($value instanceof ByteTag){