27    use GetTypeIdFromConstTrait;
 
   29    public const ID = ItemStackRequestActionType::CRAFTING_RECIPE_OPTIONAL;
 
   31    private int $recipeId;
 
   32    private int $filterStringIndex;
 
   35    public function __construct(
int $type, 
int $filterStringIndex){
 
   36        $this->recipeId = $type;
 
   37        $this->filterStringIndex = $filterStringIndex;
 
   40    public function getRecipeId() : 
int{ 
return $this->recipeId; }
 
   42    public function getFilterStringIndex() : 
int{ 
return $this->filterStringIndex; }
 
   44    public static function read(ByteBufferReader $in) : 
self{
 
   45        $recipeId = CommonTypes::readRecipeNetId($in);
 
   46        $filterStringIndex = LE::readSignedInt($in);
 
   47        return new self($recipeId, $filterStringIndex);
 
   50    public function write(ByteBufferWriter $out) : 
void{
 
   51        CommonTypes::writeRecipeNetId($out, $this->recipeId);
 
   52        LE::writeSignedInt($out, $this->filterStringIndex);