34 private string $recipeId,
35 private array $inputs,
36 private array $outputs,
37 private UuidInterface $uuid,
38 private string $blockName,
39 private int $priority,
41 private int $recipeNetId
43 parent::__construct($typeId);
46 public function getRecipeId() : string{
47 return $this->recipeId;
63 return $this->outputs;
66 public function getUuid() : UuidInterface{
70 public function getBlockName() : string{
71 return $this->blockName;
74 public function getPriority() : int{
75 return $this->priority;
78 public function getUnlockingRequirement() : RecipeUnlockingRequirement{ return $this->unlockingRequirement; }
80 public function getRecipeNetId() : int{
81 return $this->recipeNetId;
84 public static function decode(
int $recipeType, ByteBufferReader $in) : self{
85 $recipeId = CommonTypes::getString($in);
87 for($j = 0, $ingredientCount = VarInt::readUnsignedInt($in); $j < $ingredientCount; ++$j){
88 $input[] = CommonTypes::getRecipeIngredient($in);
91 for($k = 0, $resultCount = VarInt::readUnsignedInt($in); $k < $resultCount; ++$k){
92 $output[] = CommonTypes::getItemStackWithoutStackId($in);
94 $uuid = CommonTypes::getUUID($in);
95 $block = CommonTypes::getString($in);
96 $priority = VarInt::readSignedInt($in);
97 $unlockingRequirement = RecipeUnlockingRequirement::read($in);
99 $recipeNetId = CommonTypes::readRecipeNetId($in);
101 return new self($recipeType, $recipeId, $input, $output, $uuid, $block, $priority, $unlockingRequirement, $recipeNetId);
104 public function encode(ByteBufferWriter $out) : void{
105 CommonTypes::putString($out, $this->recipeId);
106 VarInt::writeUnsignedInt($out, count($this->inputs));
107 foreach($this->inputs as $item){
108 CommonTypes::putRecipeIngredient($out, $item);
111 VarInt::writeUnsignedInt($out, count($this->outputs));
112 foreach($this->outputs as $item){
113 CommonTypes::putItemStackWithoutStackId($out, $item);
116 CommonTypes::putUUID($out, $this->uuid);
117 CommonTypes::putString($out, $this->blockName);
118 VarInt::writeSignedInt($out, $this->priority);
119 $this->unlockingRequirement->write($out);
121 CommonTypes::writeRecipeNetId($out, $this->recipeNetId);
__construct(int $typeId, private string $recipeId, private array $inputs, private array $outputs, private UuidInterface $uuid, private string $blockName, private int $priority, private RecipeUnlockingRequirement $unlockingRequirement, private int $recipeNetId)