ab47724473
3797 errors. We have a long way to go.
160 lines
3.4 KiB
Java
160 lines
3.4 KiB
Java
package mekanism.client.nei;
|
|
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
import static codechicken.core.gui.GuiDraw.changeTexture;
|
|
import static codechicken.core.gui.GuiDraw.drawTexturedModalRect;
|
|
import static codechicken.core.gui.GuiDraw.gui;
|
|
import mekanism.api.gas.GasStack;
|
|
import mekanism.client.gui.GuiElement;
|
|
import mekanism.client.gui.IGuiWrapper;
|
|
import mekanism.client.render.MekanismRenderer;
|
|
|
|
import net.minecraft.client.gui.FontRenderer;
|
|
import net.minecraft.util.Icon;
|
|
import net.minecraftforge.fluids.FluidStack;
|
|
import codechicken.nei.recipe.GuiCraftingRecipe;
|
|
import codechicken.nei.recipe.GuiUsageRecipe;
|
|
import codechicken.nei.recipe.TemplateRecipeHandler;
|
|
|
|
public abstract class BaseRecipeHandler extends TemplateRecipeHandler implements IGuiWrapper
|
|
{
|
|
public BaseRecipeHandler()
|
|
{
|
|
addGuiElements();
|
|
}
|
|
|
|
public Set<GuiElement> guiElements = new HashSet<GuiElement>();
|
|
|
|
public abstract void addGuiElements();
|
|
|
|
public void displayGauge(int length, int xPos, int yPos, int overlayX, int overlayY, int scale, FluidStack fluid, GasStack gas)
|
|
{
|
|
if(fluid == null && gas == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
int start = 0;
|
|
|
|
while(true)
|
|
{
|
|
int renderRemaining = 0;
|
|
|
|
if(scale > 16)
|
|
{
|
|
renderRemaining = 16;
|
|
scale -= 16;
|
|
}
|
|
else {
|
|
renderRemaining = scale;
|
|
scale = 0;
|
|
}
|
|
|
|
changeTexture(MekanismRenderer.getBlocksTexture());
|
|
|
|
if(fluid != null)
|
|
{
|
|
gui.drawTexturedModelRectFromIcon(xPos, yPos + length - renderRemaining - start, fluid.getFluid().getIcon(), 16, 16 - (16 - renderRemaining));
|
|
}
|
|
else if(gas != null)
|
|
{
|
|
gui.drawTexturedModelRectFromIcon(xPos, yPos + length - renderRemaining - start, gas.getGas().getIcon(), 16, 16 - (16 - renderRemaining));
|
|
}
|
|
|
|
start+=16;
|
|
|
|
if(renderRemaining == 0 || scale == 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
changeTexture(getGuiTexture());
|
|
drawTexturedModalRect(xPos, yPos, overlayX, overlayY, 16, length+1);
|
|
}
|
|
|
|
/*
|
|
* true = usage, false = recipe
|
|
*/
|
|
public boolean doGasLookup(GasStack stack, boolean type)
|
|
{
|
|
if(stack != null && stack.amount > 0)
|
|
{
|
|
if(type)
|
|
{
|
|
if(!GuiUsageRecipe.openRecipeGui("gas", new Object[] {stack}))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else {
|
|
if(!GuiCraftingRecipe.openRecipeGui("gas", new Object[] {stack}))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public void displayGauge(int xPos, int yPos, int sizeX, int sizeY, GasStack gas)
|
|
{
|
|
if(gas == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
changeTexture(MekanismRenderer.getBlocksTexture());
|
|
gui.drawTexturedModelRectFromIcon(xPos, yPos, gas.getGas().getIcon(), sizeX, sizeY);
|
|
}
|
|
|
|
/*
|
|
* true = usage, false = recipe
|
|
*/
|
|
public boolean doFluidLookup(FluidStack stack, boolean type)
|
|
{
|
|
if(stack != null && stack.amount > 0)
|
|
{
|
|
if(type)
|
|
{
|
|
if(!GuiUsageRecipe.openRecipeGui("fluid", new Object[] {stack}))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else {
|
|
if(!GuiCraftingRecipe.openRecipeGui("fluid", new Object[] {stack}))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public void drawTexturedRect(int x, int y, int u, int v, int w, int h)
|
|
{
|
|
drawTexturedModalRect(x, y, u, v, w, h);
|
|
}
|
|
|
|
public void drawTexturedRectFromIcon(int x, int y, Icon icon, int w, int h)
|
|
{
|
|
gui.drawTexturedModelRectFromIcon(x, y, icon, w, h);
|
|
}
|
|
|
|
public void displayTooltip(String s, int xAxis, int yAxis) {}
|
|
|
|
public void displayTooltips(List<String> list, int xAxis, int yAxis) {}
|
|
|
|
public FontRenderer getFont() { return null; }
|
|
|
|
}
|