/
SmeltingRecipe.java
54 lines (46 loc) · 1.75 KB
/
SmeltingRecipe.java
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
53
54
package mezz.jei.plugins.vanilla.furnace;
import java.awt.Color;
import java.util.Collections;
import java.util.List;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.BlankRecipeWrapper;
import mezz.jei.util.Translator;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
public class SmeltingRecipe extends BlankRecipeWrapper {
private final List<List<ItemStack>> inputs;
private final ItemStack output;
public SmeltingRecipe(List<ItemStack> inputs, ItemStack output) {
this.inputs = Collections.singletonList(inputs);
this.output = output;
}
@Override
public void getIngredients(IIngredients ingredients) {
ingredients.setInputLists(ItemStack.class, inputs);
ingredients.setOutput(ItemStack.class, output);
}
public List<List<ItemStack>> getInputs() {
return inputs;
}
public List<ItemStack> getOutputs() {
return Collections.singletonList(output);
}
@Override
public void drawInfo(Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY) {
FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance();
float experience;
try {
experience = furnaceRecipes.getSmeltingExperience(output);
} catch (RuntimeException ignored) {
experience = 0;
}
if (experience > 0) {
String experienceString = Translator.translateToLocalFormatted("gui.jei.category.smelting.experience", experience);
FontRenderer fontRendererObj = minecraft.fontRendererObj;
int stringWidth = fontRendererObj.getStringWidth(experienceString);
fontRendererObj.drawString(experienceString, recipeWidth - stringWidth, 0, Color.gray.getRGB());
}
}
}