package gr8pefish.ironbackpacks.integration.jei.increaseTier; import gr8pefish.ironbackpacks.crafting.BackpackIncreaseTierRecipe; import gr8pefish.ironbackpacks.util.TextUtils; import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.IRecipeWrapper; import net.minecraft.client.Minecraft; import net.minecraftforge.fluids.FluidStack; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class IncreaseTierRecipeWrapper implements IRecipeWrapper { private BackpackIncreaseTierRecipe increaseTierRecipe; private final String[] description; private final String craftingType; public IncreaseTierRecipeWrapper(BackpackIncreaseTierRecipe recipe){ this.craftingType = TextUtils.localize("jei.description.shapedCrafting"); //type of recipes this.description = TextUtils.cutLongString(TextUtils.localize("jei.description.increaseTier")); //description increaseTierRecipe = recipe; } @Override public void getIngredients(@Nonnull IIngredients ingredients) { //ToDo } @Nonnull @Override public List getInputs() { //ToDo: move to ingredients return Arrays.asList(increaseTierRecipe.getInput()); } @Nonnull @Override public List getOutputs() { //ToDo: move to ingredients return Collections.singletonList(increaseTierRecipe.getRecipeOutput()); } @Nonnull @Override public List<FluidStack> getFluidInputs() { return new ArrayList<>(); //none } @Nonnull @Override public List<FluidStack> getFluidOutputs() { return new ArrayList<>(); //none } @Override public void drawInfo(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY) { //add the recipes type necessary at the top of the screen minecraft.fontRendererObj.drawString(craftingType, 43, 0, Color.darkGray.getRGB()); //add the description below the images for (int i = 0; i < description.length; i++) minecraft.fontRendererObj.drawString(description[i], 10, 69 + (i*8), Color.black.getRGB()); } @Override public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { } @Nullable @Override public List<String> getTooltipStrings(int mouseX, int mouseY) { //if mouse is over the word to have a tooltip (hardcoded for english 'crafting recipe') if (mouseX >= 52 && mouseX <= 130 && mouseY >= 85 && mouseY <= 91) return Arrays.asList(TextUtils.cutLongString(TextUtils.localize("jei.description.increaseTier.tooltip"))); return null; } @Override public boolean handleClick(@Nonnull Minecraft minecraft, int mouseX, int mouseY, int mouseButton) { return false; } }