*/ public array $input; /** * @required * @var ItemStackData[] * @phpstan-var list */ public array $output; /** @required */ public string $block; /** @required */ public int $priority; /** @var RecipeIngredientData[] */ public array $unlockingIngredients = []; /** * @param RecipeIngredientData[] $input * @param ItemStackData[] $output * @param RecipeIngredientData[] $unlockingIngredients * * @phpstan-param list $input * @phpstan-param list $output * @phpstan-param list $unlockingIngredients */ public function __construct(array $input, array $output, string $block, int $priority, array $unlockingIngredients = []){ $this->block = $block; $this->priority = $priority; $this->input = $input; $this->output = $output; $this->unlockingIngredients = $unlockingIngredients; } /** * @return mixed[] */ public function jsonSerialize() : array{ $result = (array) $this; if(count($this->unlockingIngredients) === 0){ unset($result["unlockingIngredients"]); } return $result; } }