@Override
  public void addRecipe(IInscriberRecipe recipe) {
    if (recipe == null) {
      throw new IllegalArgumentException(
          "Tried to add an invalid (null) inscriber recipe to the registry.");
    }

    this.recipes.add(recipe);

    this.optionals.addAll(recipe.getTopOptional().asSet());
    this.optionals.addAll(recipe.getBottomOptional().asSet());

    this.inputs.addAll(recipe.getInputs());
  }