162        $flags = $this->readBoundedInt(BlockStateNames::MULTI_FACE_DIRECTION_BITS, 0, 63);
 
  164            BlockLegacyMetadata::MULTI_FACE_DIRECTION_FLAG_DOWN => Facing::DOWN,
 
  165            BlockLegacyMetadata::MULTI_FACE_DIRECTION_FLAG_UP => Facing::UP,
 
  166            BlockLegacyMetadata::MULTI_FACE_DIRECTION_FLAG_NORTH => Facing::NORTH,
 
  167            BlockLegacyMetadata::MULTI_FACE_DIRECTION_FLAG_SOUTH => Facing::SOUTH,
 
  168            BlockLegacyMetadata::MULTI_FACE_DIRECTION_FLAG_WEST => Facing::WEST,
 
  169            BlockLegacyMetadata::MULTI_FACE_DIRECTION_FLAG_EAST => Facing::EAST
 
  170        ] as $flag => $facing){
 
  171            if(($flags & $flag) !== 0){
 
  172                $result[$facing] = $facing;
 
 
  275        return match($rawValue = $this->readString(
BlockStateNames::MC_VERTICAL_HALF)){
 
  276            StringValues::MC_VERTICAL_HALF_BOTTOM => SlabType::BOTTOM,
 
  277            StringValues::MC_VERTICAL_HALF_TOP => SlabType::TOP,
 
  278            default => 
throw $this->badValueException(BlockStateNames::MC_VERTICAL_HALF, $rawValue, 
"Invalid slab position"),
 
 
  303        return match($type = $this->readString($name)){
 
  307            StringValues::WALL_CONNECTION_TYPE_EAST_NONE => 
null,
 
  308            StringValues::WALL_CONNECTION_TYPE_EAST_SHORT => WallConnectionType::SHORT,
 
  309            StringValues::WALL_CONNECTION_TYPE_EAST_TALL => WallConnectionType::TALL,
 
  310            default => 
throw $this->badValueException($name, $type),