//package WayofTime.alchemicalWizardry.client.nei; // //import java.awt.Dimension; //import java.awt.Point; //import java.awt.Rectangle; //import java.lang.reflect.Field; //import java.util.List; // //import net.minecraft.client.Minecraft; //import net.minecraft.client.gui.ScaledResolution; //import net.minecraft.item.ItemStack; //import net.minecraft.util.ResourceLocation; //import net.minecraft.util.StatCollector; // //import org.lwjgl.input.Mouse; // //import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipe; //import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; //import codechicken.nei.NEIServerUtils; //import codechicken.nei.PositionedStack; //import codechicken.nei.recipe.GuiRecipe; //import codechicken.nei.recipe.TemplateRecipeHandler; // ///** // * NEI Altar Recipe Handler by joshie * // */ //public class NEIAltarRecipeHandler extends TemplateRecipeHandler { // public class CachedAltarRecipe extends CachedRecipe { // PositionedStack input; //// PositionedStack inputItems; // PositionedStack output; // int tier, lp_amount, consumption, drain; // // public CachedAltarRecipe(AltarRecipe recipe) { //// inputItems = new PositionedStack(recipe.input, 38, 2, false); // input = new PositionedStack(recipe.requiredItem, 38, 2, false); // output = new PositionedStack(recipe.result, 132, 32, false); // tier = recipe.minTier; // lp_amount = recipe.liquidRequired; // consumption = recipe.consumptionRate; // drain = recipe.drainRate; // } // // @Override // public PositionedStack getIngredient() { // return input; // } // // @Override // public PositionedStack getResult() { // return output; // } // } // // @Override // public void loadCraftingRecipes(String outputId, Object... results) { // if (outputId.equals("alchemicalwizardry.altar") && getClass() == NEIAltarRecipeHandler.class) { // for(AltarRecipe recipe: AltarRecipeRegistry.altarRecipes) { // if(recipe != null && recipe.result != null) arecipes.add(new CachedAltarRecipe(recipe)); // } // } else { // super.loadCraftingRecipes(outputId, results); // } // } // // @Override // public void loadCraftingRecipes(ItemStack result) { // for(AltarRecipe recipe: AltarRecipeRegistry.altarRecipes) { // if(NEIServerUtils.areStacksSameTypeCrafting(recipe.result, result)) { // if(recipe != null && recipe.result != null) arecipes.add(new CachedAltarRecipe(recipe)); // } // } // } // // @Override // public void loadUsageRecipes(ItemStack ingredient) { // for(AltarRecipe recipe: AltarRecipeRegistry.altarRecipes) { // if(NEIServerUtils.areStacksSameTypeCrafting(recipe.requiredItem, ingredient)) { // if(recipe != null && recipe.result != null) arecipes.add(new CachedAltarRecipe(recipe)); // } // } // } // // //Mouse Position helper // public Point getMouse(int width, int height) { // Point mousepos = getMousePosition(); // int guiLeft = (width - 176) / 2; // int guiTop = (height - 166) / 2; // Point relMouse = new Point(mousepos.x - guiLeft, mousepos.y - guiTop); // return relMouse; // } // // //width helper, getting width normal way hates me on compile // public int getGuiWidth(GuiRecipe gui) { // try { // Field f = gui.getClass().getField("width"); // return (Integer) f.get(gui); // } catch (NoSuchFieldException e) { // try { // Field f = gui.getClass().getField("field_146294_l"); // return (Integer) f.get(gui); // } catch (Exception e2) { // return 0; // } // } catch (Exception e) { // e.printStackTrace(); // return 0; // } // } // // //height helper, getting height normal way hates me on compile // public int getGuiHeight(GuiRecipe gui) { // try { // Field f = gui.getClass().getField("height"); // return (Integer) f.get(gui); // } catch (NoSuchFieldException e) { // try { // Field f = gui.getClass().getField("field_146295_m"); // return (Integer) f.get(gui); // } catch (Exception e2) { // return 0; // } // } catch (Exception e) { // e.printStackTrace(); // return 0; // } // } // // @Override // public void drawExtras(int id) { // CachedAltarRecipe recipe = (CachedAltarRecipe) arecipes.get(id); // Minecraft.getMinecraft().fontRendererObj.drawString("\u00a77" + StatCollector.translateToLocal("bm.string.tier") + ": " + recipe.tier, 78, 5, 0); // Minecraft.getMinecraft().fontRendererObj.drawString("\u00a77" + "LP: " + recipe.lp_amount, 78, 15, 0); // } // // @Override // public List handleTooltip(GuiRecipe gui, List currenttip, int id) { // currenttip = super.handleTooltip(gui, currenttip, id); // Point mouse = getMouse(getGuiWidth(gui), getGuiHeight(gui)); // CachedAltarRecipe recipe = (CachedAltarRecipe) arecipes.get(id); // int yLow = id % 2 == 0 ? 38 : 102; // int yHigh = id % 2 == 0 ? 72 : 136; // if(mouse.x >= 19 && mouse.x <= 80 && mouse.y >= yLow && mouse.y <= yHigh) { // currenttip.add(StatCollector.translateToLocal("bm.string.consume") + ": " + recipe.consumption + "LP/t"); // currenttip.add(StatCollector.translateToLocal("bm.string.drain") + ": " + recipe.drain + "LP/t"); // } // // return currenttip; // } // // @Override // public String getOverlayIdentifier() { // return "altarrecipes"; // } // // @Override // public void loadTransferRects() { // transferRects.add(new RecipeTransferRect(new Rectangle(90, 32, 22, 16), "alchemicalwizardry.altar")); // } // // @Override // public String getRecipeName() { // return " " + StatCollector.translateToLocal("tile.bloodAltar.name"); // } // // @Override // public String getGuiTexture() { // return new ResourceLocation("alchemicalwizardry", "gui/nei/altar.png").toString(); // } // // public static Point getMousePosition() { // Dimension size = displaySize(); // Dimension res = displayRes(); // return new Point(Mouse.getX() * size.width / res.width, size.height - Mouse.getY() * size.height / res.height - 1); // } // // public static Dimension displaySize() { // Minecraft mc = Minecraft.getMinecraft(); // ScaledResolution res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); // return new Dimension(res.getScaledWidth(), res.getScaledHeight()); // } // // public static Dimension displayRes() { // Minecraft mc = Minecraft.getMinecraft(); // return new Dimension(mc.displayWidth, mc.displayHeight); // } //}