Search in sources :

Example 6 with ComponentTankContainer

use of binnie.core.machines.inventory.ComponentTankContainer in project Binnie by ForestryMC.

the class PackageGenepool method createMachine.

@Override
public void createMachine(final Machine machine) {
    new ComponentGeneticGUI(machine, GeneticsGUI.GENEPOOL);
    ComponentInventorySlots inventory = new ComponentInventorySlots(machine);
    InventorySlot slotEnzyme = inventory.addSlot(Genepool.SLOT_ENZYME, getSlotRL("enzyme"));
    slotEnzyme.setValidator(new SlotValidator.Item(GeneticsItems.Enzyme.get(1), ModuleMachine.getSpriteEnzyme()));
    slotEnzyme.forbidExtraction();
    InventorySlot slotProcess = inventory.addSlot(Genepool.SLOT_BEE, getSlotRL("process"));
    slotProcess.setValidator(new SlotValidator.Individual());
    slotProcess.setReadOnly();
    slotProcess.forbidExtraction();
    for (InventorySlot slot : inventory.addSlotArray(Genepool.SLOT_RESERVE, getSlotRL("input"))) {
        slot.setValidator(new SlotValidator.Individual());
        slot.forbidExtraction();
    }
    ComponentTankContainer tanks = new ComponentTankContainer(machine);
    TankSlot tankDNA = tanks.addTank(Genepool.TANK_DNA, "output", 2000);
    tankDNA.setReadOnly();
    TankSlot tankEthanol = tanks.addTank(Genepool.TANK_ETHANOL, "input", 1000);
    tankEthanol.forbidExtraction();
    tankEthanol.setValidator(new EthanolTankValidator());
    ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine);
    transfer.addRestock(Genepool.SLOT_RESERVE, Genepool.SLOT_BEE, 1);
    new ComponentPowerReceptor(machine, 1600);
    new GenepoolLogic(machine);
    ComponentChargedSlots chargedSlots = new ComponentChargedSlots(machine);
    chargedSlots.addCharge(Genepool.SLOT_ENZYME);
    new GenepoolFX(machine);
}
Also used : EthanolTankValidator(binnie.genetics.machine.EthanolTankValidator) ComponentInventorySlots(binnie.core.machines.inventory.ComponentInventorySlots) InventorySlot(binnie.core.machines.inventory.InventorySlot) ComponentChargedSlots(binnie.core.machines.inventory.ComponentChargedSlots) ComponentGeneticGUI(binnie.genetics.machine.ComponentGeneticGUI) ComponentInventoryTransfer(binnie.core.machines.inventory.ComponentInventoryTransfer) ComponentTankContainer(binnie.core.machines.inventory.ComponentTankContainer) TankSlot(binnie.core.machines.inventory.TankSlot) SlotValidator(binnie.core.machines.inventory.SlotValidator) ComponentPowerReceptor(binnie.core.machines.power.ComponentPowerReceptor)

Example 7 with ComponentTankContainer

use of binnie.core.machines.inventory.ComponentTankContainer in project Binnie by ForestryMC.

the class PackageIncubator method createMachine.

@Override
public void createMachine(final Machine machine) {
    new ComponentGeneticGUI(machine, GeneticsGUI.INCUBATOR);
    ComponentInventorySlots inventory = new ComponentInventorySlots(machine);
    for (InventorySlot slot : inventory.addSlotArray(Incubator.SLOT_QUEUE, getSlotRL("input"))) {
        slot.forbidExtraction();
    }
    InventorySlot slotIncubator = inventory.addSlot(Incubator.SLOT_INCUBATOR, getSlotRL("incubator"));
    slotIncubator.forbidInteraction();
    for (InventorySlot slot : inventory.addSlotArray(Incubator.SLOT_OUTPUT, getSlotRL("output"))) {
        slot.setReadOnly();
    }
    new ComponentPowerReceptor(machine, 2000);
    ComponentTankContainer tanks = new ComponentTankContainer(machine);
    tanks.addTank(Incubator.TANK_INPUT, "input", 2000).forbidExtraction();
    tanks.addTank(Incubator.TANK_OUTPUT, "output", 2000).setReadOnly();
    new IncubatorLogic(machine);
}
Also used : ComponentInventorySlots(binnie.core.machines.inventory.ComponentInventorySlots) ComponentTankContainer(binnie.core.machines.inventory.ComponentTankContainer) InventorySlot(binnie.core.machines.inventory.InventorySlot) ComponentGeneticGUI(binnie.genetics.machine.ComponentGeneticGUI) ComponentPowerReceptor(binnie.core.machines.power.ComponentPowerReceptor)

Example 8 with ComponentTankContainer

use of binnie.core.machines.inventory.ComponentTankContainer in project Binnie by ForestryMC.

the class PackageIsolator method createMachine.

@Override
public void createMachine(final Machine machine) {
    // GUI
    new ComponentGeneticGUI(machine, GeneticsGUI.ISOLATOR);
    // Inventory
    final ComponentInventorySlots inventory = new ComponentInventorySlots(machine);
    InventorySlot slotEnzyme = inventory.addSlot(Isolator.SLOT_ENZYME, getSlotRL("enzyme"));
    slotEnzyme.setValidator(new SlotValidator.Item(GeneticsItems.Enzyme.get(1), ModuleMachine.getSpriteEnzyme()));
    slotEnzyme.forbidExtraction();
    InventorySlot slotSequencer = inventory.addSlot(Isolator.SLOT_SEQUENCER_VIAL, getSlotRL("sequencervial"));
    slotSequencer.setValidator(new SlotValidator.Item(GeneticsItems.EmptySequencer.get(1), ModuleMachine.getSpriteSequencer()));
    slotSequencer.forbidExtraction();
    for (InventorySlot slot : inventory.addSlotArray(Isolator.SLOT_RESERVE, getSlotRL("input"))) {
        slot.setValidator(new SlotValidator.Individual());
        slot.forbidExtraction();
    }
    InventorySlot slotTarget = inventory.addSlot(Isolator.SLOT_TARGET, getSlotRL("process"));
    slotTarget.setValidator(new SlotValidator.Individual());
    slotTarget.setReadOnly();
    slotTarget.forbidInteraction();
    InventorySlot slotResult = inventory.addSlot(Isolator.SLOT_RESULUT, getSlotRL("output"));
    slotResult.setReadOnly();
    slotResult.forbidInteraction();
    for (InventorySlot slot : inventory.addSlotArray(Isolator.SLOT_FINISHED, getSlotRL("output"))) {
        slot.setReadOnly();
        slot.forbidInsertion();
    }
    // Tanks
    final ComponentTankContainer tanks = new ComponentTankContainer(machine);
    tanks.addTank(Isolator.TANK_ETHANOL, "input", 1000).setValidator(new EthanolTankValidator());
    // Charged Slots
    final ComponentChargedSlots chargedSlots = new ComponentChargedSlots(machine);
    chargedSlots.addCharge(Isolator.SLOT_ENZYME);
    // Transfer
    final ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine);
    transfer.addRestock(Isolator.SLOT_RESERVE, Isolator.SLOT_TARGET, 1);
    transfer.addStorage(Isolator.SLOT_RESULUT, Isolator.SLOT_FINISHED);
    // Logic
    new ComponentPowerReceptor(machine, 20000);
    new IsolatorLogic(machine);
    new IsolatorFX(machine);
}
Also used : EthanolTankValidator(binnie.genetics.machine.EthanolTankValidator) ComponentInventorySlots(binnie.core.machines.inventory.ComponentInventorySlots) InventorySlot(binnie.core.machines.inventory.InventorySlot) ComponentChargedSlots(binnie.core.machines.inventory.ComponentChargedSlots) ComponentGeneticGUI(binnie.genetics.machine.ComponentGeneticGUI) ComponentInventoryTransfer(binnie.core.machines.inventory.ComponentInventoryTransfer) ComponentTankContainer(binnie.core.machines.inventory.ComponentTankContainer) SlotValidator(binnie.core.machines.inventory.SlotValidator) ComponentPowerReceptor(binnie.core.machines.power.ComponentPowerReceptor)

Example 9 with ComponentTankContainer

use of binnie.core.machines.inventory.ComponentTankContainer in project Binnie by ForestryMC.

the class LumbermillMachine method createMachine.

@Override
public void createMachine(final Machine machine) {
    new ExtraTreeMachine.ComponentExtraTreeGUI(machine, ExtraTreesGUID.LUMBERMILL);
    final ComponentInventorySlots inventory = new ComponentInventorySlots(machine);
    InventorySlot slotLog = inventory.addSlot(SLOT_LOG, getSlotRL("input"));
    slotLog.setValidator(new SlotValidatorLog(machine.getWorld()));
    slotLog.forbidExtraction();
    inventory.addSlot(SLOT_PLANKS, getSlotRL("output")).setReadOnly();
    inventory.addSlot(SLOT_BARK, getSlotRL("byproduct")).setReadOnly();
    inventory.addSlot(SLOT_SAWDUST, getSlotRL("byproduct")).setReadOnly();
    final ComponentTankContainer tanks = new ComponentTankContainer(machine);
    TankSlot tankWater = tanks.addTank(TANK_WATER, "input", TANK_WATER_CAPACITY);
    tankWater.setValidator(new TankValidator.Basic(ManagerLiquid.WATER));
    new ComponentPowerReceptor(machine);
    new LumbermillLogic(machine);
}
Also used : ComponentInventorySlots(binnie.core.machines.inventory.ComponentInventorySlots) ComponentTankContainer(binnie.core.machines.inventory.ComponentTankContainer) TankSlot(binnie.core.machines.inventory.TankSlot) InventorySlot(binnie.core.machines.inventory.InventorySlot) TankValidator(binnie.core.machines.inventory.TankValidator) SlotValidatorLog(binnie.extratrees.machines.lumbermill.window.SlotValidatorLog) ComponentPowerReceptor(binnie.core.machines.power.ComponentPowerReceptor)

Example 10 with ComponentTankContainer

use of binnie.core.machines.inventory.ComponentTankContainer in project Binnie by ForestryMC.

the class FruitPressMachine method createMachine.

@Override
public void createMachine(final Machine machine) {
    new ExtraTreeMachine.ComponentExtraTreeGUI(machine, ExtraTreesGUID.PRESS);
    final ComponentInventorySlots inventory = new ComponentInventorySlots(machine);
    final InventorySlot input = inventory.addSlot(SLOT_FRUIT, getSlotRL("input"));
    input.setValidator(new SlotValidatorSqueezable());
    input.forbidExtraction();
    final InventorySlot process = inventory.addSlot(SLOT_CURRENT, getSlotRL("process"));
    process.setValidator(new SlotValidatorSqueezable());
    process.forbidInteraction();
    final ComponentTankContainer tanks = new ComponentTankContainer(machine);
    tanks.addTank(TANK_OUTPUT, "output", TANK_OUTPUT_CAPACITY).setReadOnly();
    new ComponentPowerReceptor(machine);
    new ComponentInventoryTransfer(machine).addRestock(new int[] { SLOT_FRUIT }, SLOT_CURRENT, 1);
    new FruitPressLogic(machine);
}
Also used : ComponentInventorySlots(binnie.core.machines.inventory.ComponentInventorySlots) ComponentTankContainer(binnie.core.machines.inventory.ComponentTankContainer) SlotValidatorSqueezable(binnie.extratrees.machines.fruitpress.window.SlotValidatorSqueezable) InventorySlot(binnie.core.machines.inventory.InventorySlot) ComponentInventoryTransfer(binnie.core.machines.inventory.ComponentInventoryTransfer) ComponentPowerReceptor(binnie.core.machines.power.ComponentPowerReceptor)

Aggregations

ComponentInventorySlots (binnie.core.machines.inventory.ComponentInventorySlots)10 ComponentTankContainer (binnie.core.machines.inventory.ComponentTankContainer)10 ComponentPowerReceptor (binnie.core.machines.power.ComponentPowerReceptor)10 InventorySlot (binnie.core.machines.inventory.InventorySlot)8 ComponentInventoryTransfer (binnie.core.machines.inventory.ComponentInventoryTransfer)5 TankSlot (binnie.core.machines.inventory.TankSlot)5 ComponentGeneticGUI (binnie.genetics.machine.ComponentGeneticGUI)5 SlotValidator (binnie.core.machines.inventory.SlotValidator)4 ComponentChargedSlots (binnie.core.machines.inventory.ComponentChargedSlots)3 EthanolTankValidator (binnie.genetics.machine.EthanolTankValidator)2 IMachine (binnie.core.machines.IMachine)1 MachineUtil (binnie.core.machines.MachineUtil)1 TankValidator (binnie.core.machines.inventory.TankValidator)1 SlotValidatorBreweryGrain (binnie.extratrees.machines.brewery.window.SlotValidatorBreweryGrain)1 SlotValidatorBreweryIngredient (binnie.extratrees.machines.brewery.window.SlotValidatorBreweryIngredient)1 SlotValidatorBreweryYeast (binnie.extratrees.machines.brewery.window.SlotValidatorBreweryYeast)1 TankValidatorFermentInput (binnie.extratrees.machines.brewery.window.TankValidatorFermentInput)1 TankValidatorFermentOutput (binnie.extratrees.machines.brewery.window.TankValidatorFermentOutput)1 TankValidatorDistilleryInput (binnie.extratrees.machines.distillery.window.TankValidatorDistilleryInput)1 TankValidatorDistilleryOutput (binnie.extratrees.machines.distillery.window.TankValidatorDistilleryOutput)1