use of binnie.core.util.ItemStackSet in project Binnie by ForestryMC.
the class MachineUtil method hasIngredients.
public boolean hasIngredients(final int[] recipe, final int[] inventory) {
final ItemStackSet requiredStacks = new ItemStackSet();
Collections.addAll(requiredStacks, this.getStacks(recipe));
final ItemStackSet inventoryStacks = new ItemStackSet();
Collections.addAll(inventoryStacks, this.getStacks(inventory));
requiredStacks.removeAll(inventoryStacks);
return requiredStacks.isEmpty();
}
use of binnie.core.util.ItemStackSet in project Binnie by ForestryMC.
the class ControlBreweryProgress method onRenderBackground.
@Override
@SideOnly(Side.CLIENT)
public void onRenderBackground(int guiWidth, int guiHeight) {
CraftGUI.RENDER.texture(BREWERY, Point.ZERO);
final BreweryLogic logic = Machine.getInterface(BreweryLogic.class, Window.get(this).getInventory());
if (logic == null || logic.getCurrentCrafting() == null || logic.getCurrentCrafting().getInputFluid() == null) {
return;
}
FluidStack output = BreweryRecipeManager.getOutput(logic.getCurrentCrafting());
FluidStack input = logic.getCurrentCrafting().getInputFluid();
final int fermentedHeight = (int) (32.0f * logic.getProgress() / 100.0f);
CraftGUI.RENDER.limitArea(new Area(new Point(1, 6).add(this.getAbsolutePosition()), new Point(32, 32 - fermentedHeight)), guiWidth, guiHeight);
GL11.glEnable(GL11.GL_SCISSOR_TEST);
RenderUtil.drawFluid(new Point(1, 6), input);
RenderUtil.drawFluid(new Point(17, 6), input);
RenderUtil.drawFluid(new Point(1, 22), input);
RenderUtil.drawFluid(new Point(17, 22), input);
GL11.glDisable(GL11.GL_SCISSOR_TEST);
CraftGUI.RENDER.limitArea(new Area(new Point(1, 38 - fermentedHeight).add(this.getAbsolutePosition()), new Point(32, fermentedHeight)), guiWidth, guiHeight);
GL11.glEnable(GL11.GL_SCISSOR_TEST);
RenderUtil.drawFluid(new Point(1, 6), output);
RenderUtil.drawFluid(new Point(17, 6), output);
RenderUtil.drawFluid(new Point(1, 22), output);
RenderUtil.drawFluid(new Point(17, 22), output);
GL11.glDisable(GL11.GL_SCISSOR_TEST);
final ItemStackSet stacks = new ItemStackSet();
Collections.addAll(stacks, logic.getCurrentCrafting().getInputGrains());
stacks.add(logic.getCurrentCrafting().getIngredient());
int x = 1;
int y = 6;
for (final ItemStack stack : stacks) {
RenderUtil.drawItem(new Point(x, y), stack);
x += 16;
if (x > 18) {
x = 1;
y += 16;
}
}
}
Aggregations