55 lines
1.7 KiB
Java
55 lines
1.7 KiB
Java
package com.thebrokenrail.energonrelics.client.rei.infuser;
|
|
|
|
import com.thebrokenrail.energonrelics.registry.infuser.data.InfuserOutputItem;
|
|
import com.thebrokenrail.energonrelics.client.rei.EnergonRelicsPlugin;
|
|
import me.shedaniel.rei.api.EntryStack;
|
|
import me.shedaniel.rei.api.RecipeDisplay;
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.Identifier;
|
|
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class InfuserDisplay implements RecipeDisplay {
|
|
private final EntryStack input;
|
|
public final EntryStack output;
|
|
public final boolean outputsItem;
|
|
public final double successChance;
|
|
public final long cost;
|
|
|
|
public InfuserDisplay(ItemStack input, InfuserOutputItem output, double successChance, long cost) {
|
|
this.input = EntryStack.create(input);
|
|
this.output = EntryStack.create(output.stack.copy());
|
|
outputsItem = output.outputsItem;
|
|
this.successChance = successChance;
|
|
this.cost = cost;
|
|
}
|
|
|
|
@Override
|
|
public List<List<EntryStack>> getInputEntries() {
|
|
return Collections.singletonList(Collections.singletonList(input));
|
|
}
|
|
|
|
@Override
|
|
public List<List<EntryStack>> getResultingEntries() {
|
|
if (outputsItem) {
|
|
return Collections.singletonList(Collections.singletonList(output));
|
|
} else {
|
|
return Collections.emptyList();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Identifier getRecipeCategory() {
|
|
return EnergonRelicsPlugin.INFUSING;
|
|
}
|
|
|
|
@Override
|
|
public List<List<EntryStack>> getRequiredEntries() {
|
|
return getInputEntries();
|
|
}
|
|
}
|