aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtnhlanth/common/tileentity/recipe/beamline/RecipeSC.java
blob: 979cb6a8bb65da165e7b8a0d9dbe0f0c640fba28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package gtnhlanth.common.tileentity.recipe.beamline;

import java.util.ArrayList;
import java.util.Arrays;

import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;

import gregtech.api.util.GTRecipe;
import gregtech.api.util.GTUtility;
import gtnhlanth.common.register.LanthItemList;

public class RecipeSC extends GTRecipe {

    public int particleId;
    public int rate;
    public float maxEnergy;
    public float focus;
    public float energyRatio;

    public RecipeSC(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances,
        FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int particleId, int rate,
        float maxEnergy, float focus, float energyRatio) {

        super(aOptimize, aInputs, aOutputs, null, aChances, null, null, aDuration, aEUt, 0);

        this.particleId = particleId;
        this.rate = rate;
        this.maxEnergy = maxEnergy;
        this.focus = focus;
        this.energyRatio = energyRatio;
    }

    @Override
    public ItemStack getRepresentativeOutput(int aIndex) {

        ArrayList<ItemStack> mOutputsWithParticle = new ArrayList<>();

        ItemStack particleStack = new ItemStack(LanthItemList.PARTICLE_ITEM);

        Items.ender_pearl.setDamage(particleStack, this.particleId);

        mOutputsWithParticle.addAll(Arrays.asList(mOutputs));
        mOutputsWithParticle.add(particleStack);

        ItemStack[] mOutputsWithParticleArray = mOutputsWithParticle.toArray(new ItemStack[0]);

        if (aIndex < 0 || aIndex >= mOutputsWithParticleArray.length) return null;
        return GTUtility.copyOrNull(mOutputsWithParticleArray[aIndex]);
    }
}