use of crazypants.enderio.base.recipe.RecipeOutput in project EnderIO by SleepyTrousers.
the class Fermenting method register.
@Override
public void register(@Nonnull String recipeName) {
if (isValid() && isActive()) {
NNList<IRecipeInput> inputStacks = new NNList<>();
int slot = 0;
for (NNIterator<Inputgroup> itr = inputgroup.fastIterator(); itr.hasNext(); ) {
for (NNIterator<ItemMultiplier> itr2 = itr.next().getItems().fastIterator(); itr2.hasNext(); ) {
ItemMultiplier item = itr2.next();
inputStacks.add(new ThingsRecipeInput(item.getThing(), slot, item.multiplier));
}
slot++;
}
inputStacks.add(new RecipeInput(inputfluid.getFluidStack(), inputfluid.multiplier));
RecipeOutput recipeOutput = new RecipeOutput(outputfluid.getFluidStack());
VatRecipeManager.getInstance().addRecipe(new Recipe(recipeOutput, energy, RecipeBonusType.NONE, inputStacks.toArray(new IRecipeInput[inputStacks.size()])));
}
}
use of crazypants.enderio.base.recipe.RecipeOutput in project EnderIO by SleepyTrousers.
the class Slicing method register.
@Override
public void register(@Nonnull String recipeName) {
if (isValid() && isActive()) {
NNList<IRecipeInput> inputStacks = new NNList<>();
for (NNIterator<Item> itr = inputs.fastIterator(); itr.hasNext(); ) {
final Item item = itr.next();
inputStacks.add(new ThingsRecipeInput(item.getThing(), inputStacks.size()));
}
RecipeOutput recipeOutput = new RecipeOutput(getOutput().getItemStack());
SliceAndSpliceRecipeManager.getInstance().addRecipe(new Recipe(recipeOutput, energy, RecipeBonusType.NONE, inputStacks.toArray(new IRecipeInput[inputStacks.size()])));
}
}
use of crazypants.enderio.base.recipe.RecipeOutput in project EnderIO by SleepyTrousers.
the class AlloyRecipeManager method addRecipe.
public void addRecipe(@Nonnull NNList<IRecipeInput> input, @Nonnull ItemStack output, int energyCost, float xpChance) {
RecipeOutput recipeOutput = new RecipeOutput(output, 1, xpChance);
addRecipe(new Recipe(recipeOutput, energyCost, RecipeBonusType.NONE, input.toArray(new IRecipeInput[input.size()])));
}
use of crazypants.enderio.base.recipe.RecipeOutput in project EnderIO by SleepyTrousers.
the class SagRecipe method getIngredients.
@Override
public void getIngredients(@Nonnull IIngredients ingredients) {
List<List<ItemStack>> inputStacks = recipe.getInputStackAlternatives();
List<EnergyIngredient> energies = new ArrayList<>();
if (recipe.getBonusType().doChances()) {
final List<ItemStack> balls = SagRecipe.getBalls();
inputStacks.add(balls);
for (ItemStack ball : balls) {
if (ball != null && Prep.isValid(ball)) {
energies.add(new EnergyIngredient((int) (recipe.getEnergyRequired() * SagMillRecipeManager.getInstance().getGrindballFromStack(ball).getPowerMultiplier())));
} else {
energies.add(new EnergyIngredient(recipe.getEnergyRequired()));
}
}
} else {
// no balls
inputStacks.add(Collections.emptyList());
energies.add(new EnergyIngredient(recipe.getEnergyRequired()));
}
ingredients.setInputLists(ItemStack.class, inputStacks);
ingredients.setInputLists(EnergyIngredient.class, Collections.singletonList(energies));
List<ItemStack> outputs = new ArrayList<ItemStack>();
for (RecipeOutput out : recipe.getOutputs()) {
if (Prep.isValid(out.getOutput())) {
outputs.add(out.getOutput());
}
}
ingredients.setOutputs(ItemStack.class, outputs);
}
Aggregations