use of mezz.jei.api.gui.IDrawable in project Binnie by ForestryMC.
the class IncubatorRecipeCategory method setRecipe.
@Override
public void setRecipe(IRecipeLayout recipeLayout, IncubatorRecipeWrapper recipeWrapper, IIngredients ingredients) {
IDrawable tank = GeneticsJeiPlugin.drawables.getTank();
IDrawable tankOverlay = GeneticsJeiPlugin.drawables.getTankOverlay();
IGuiFluidStackGroup fluidStacks = recipeLayout.getFluidStacks();
fluidStacks.init(Incubator.TANK_INPUT, true, 1, 1, 16, 58, 50, false, tankOverlay);
fluidStacks.setBackground(Incubator.TANK_INPUT, tank);
fluidStacks.init(Incubator.TANK_OUTPUT, false, 95, 1, 16, 58, 50, false, tankOverlay);
fluidStacks.setBackground(Incubator.TANK_OUTPUT, tank);
fluidStacks.set(ingredients);
IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks();
itemStacks.init(0, true, 22, 22);
itemStacks.init(1, false, 72, 22);
itemStacks.set(ingredients);
IDrawable slot = GeneticsJeiPlugin.guiHelper.getSlotDrawable();
itemStacks.setBackground(0, slot);
itemStacks.setBackground(1, slot);
}
use of mezz.jei.api.gui.IDrawable in project Binnie by ForestryMC.
the class InoculatorRecipeCategory method drawExtras.
@Override
public void drawExtras(Minecraft minecraft) {
IDrawable arrow = GeneticsJeiPlugin.drawables.getArrow();
arrow.draw(minecraft, 69, 25);
arrowAnimated.draw(minecraft, 69, 25);
}
use of mezz.jei.api.gui.IDrawable in project Binnie by ForestryMC.
the class InoculatorRecipeCategory method setRecipe.
@Override
public void setRecipe(IRecipeLayout recipeLayout, InoculatorRecipeWrapper recipeWrapper, IIngredients ingredients) {
if (!splicer) {
IDrawable tank = GeneticsJeiPlugin.drawables.getTank();
IDrawable tankOverlay = GeneticsJeiPlugin.drawables.getTankOverlay();
IGuiFluidStackGroup fluidStacks = recipeLayout.getFluidStacks();
fluidStacks.init(Inoculator.TANK_VEKTOR, true, 1, 1, 16, 58, 100, false, tankOverlay);
fluidStacks.setBackground(Inoculator.TANK_VEKTOR, tank);
fluidStacks.set(ingredients);
}
IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks();
itemStacks.init(0, true, 22, 0);
itemStacks.init(1, true, 42, 21);
itemStacks.init(2, false, 92, 21);
IDrawable slot = GeneticsJeiPlugin.guiHelper.getSlotDrawable();
for (int i = 0; i <= 2; i++) {
itemStacks.setBackground(i, slot);
}
recipeWrapper.setCurrentIngredients(itemStacks.getGuiIngredients());
IFocus<?> focus = recipeLayout.getFocus();
if (focus != null) {
Object focusValue = focus.getValue();
if (focusValue instanceof ItemStack) {
ItemStack focusStack = (ItemStack) focusValue;
if (AlleleManager.alleleRegistry.isIndividual(focusStack)) {
if (focus.getMode() == IFocus.Mode.INPUT) {
ItemStack serum = recipeWrapper.getInputSerum();
ItemStack output = InoculatorLogic.applySerum(focusStack, serum);
itemStacks.set(0, serum);
itemStacks.set(1, focusStack);
itemStacks.set(2, output);
return;
} else if (focus.getMode() == IFocus.Mode.OUTPUT) {
IIndividual individual = AlleleManager.alleleRegistry.getIndividual(focusStack);
if (individual != null) {
ISpeciesRoot speciesRoot = individual.getGenome().getSpeciesRoot();
IAlleleSpecies species = individual.getGenome().getPrimary();
ItemStack serum = ItemSerum.create(new Gene(species, speciesRoot.getSpeciesChromosomeType(), speciesRoot));
// set fully charged
serum.setItemDamage(0);
itemStacks.set(0, serum);
itemStacks.set(1, recipeWrapper.getWildcardTarget());
itemStacks.set(2, focusStack);
return;
}
}
} else if (focusStack.getItem() instanceof ItemSerum) {
ItemStack input = recipeWrapper.getWildcardTarget();
ItemStack output = InoculatorLogic.applySerum(input, focusStack);
itemStacks.set(0, focusStack);
itemStacks.set(1, input);
itemStacks.set(2, output);
return;
}
}
}
itemStacks.set(ingredients);
}
use of mezz.jei.api.gui.IDrawable in project Binnie by ForestryMC.
the class IsolatorRecipeCategory method drawExtras.
@Override
@SideOnly(Side.CLIENT)
public void drawExtras(Minecraft minecraft) {
IDrawable arrow = GeneticsJeiPlugin.drawables.getArrow();
arrow.draw(minecraft, 69, 25);
arrowAnimated.draw(minecraft, 69, 25);
String randomText = "(Random)";
int textWidth = minecraft.fontRenderer.getStringWidth(randomText);
minecraft.fontRenderer.drawString(randomText, 102 - (textWidth / 2), 45, Color.gray.getRGB());
}
use of mezz.jei.api.gui.IDrawable in project Binnie by ForestryMC.
the class BreweryRecipeCategory method setRecipe.
@Override
public void setRecipe(IRecipeLayout recipeLayout, BreweryRecipeWrapper recipeWrapper, IIngredients ingredients) {
IDrawable tank = ExtraTreesJeiPlugin.drawables.getTank();
IDrawable tankOverlay = ExtraTreesJeiPlugin.drawables.getTankOverlay();
IGuiFluidStackGroup fluidStacks = recipeLayout.getFluidStacks();
fluidStacks.init(BreweryMachine.TANK_INPUT, true, 1, 1, 16, 58, Fluid.BUCKET_VOLUME, false, tankOverlay);
fluidStacks.setBackground(BreweryMachine.TANK_INPUT, tank);
fluidStacks.init(BreweryMachine.TANK_OUTPUT, false, 113, 1, 16, 58, Fluid.BUCKET_VOLUME, false, tankOverlay);
fluidStacks.setBackground(BreweryMachine.TANK_OUTPUT, tank);
fluidStacks.set(ingredients);
IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks();
// ingredients (hops)
itemStacks.init(0, true, 21, 42);
// grain
itemStacks.init(1, true, 42, 0);
itemStacks.init(2, true, 42, 21);
itemStacks.init(3, true, 42, 42);
// yeast
itemStacks.init(4, true, 63, 42);
List<List<ItemStack>> inputs = ingredients.getInputs(ItemStack.class);
itemStacks.set(0, inputs.get(0));
itemStacks.set(1, inputs.get(1));
itemStacks.set(2, inputs.get(1));
itemStacks.set(3, inputs.get(1));
itemStacks.set(4, inputs.get(2));
IDrawable slot = ExtraTreesJeiPlugin.guiHelper.getSlotDrawable();
for (int i = 0; i <= 4; i++) {
itemStacks.setBackground(i, slot);
}
}
Aggregations