transfer.addRestock(Splicer.SLOT_RESERVE, Splicer.SLOT_TARGET, 1); transfer.addRestock(Splicer.SLOT_SERUM_RESERVE, Splicer.SLOT_SERUM_VIAL); transfer.addStorage(Splicer.SLOT_SERUM_VIAL, Splicer.SLOT_SERUM_EXPENDED, (stack) -> Engineering.getCharges(stack) == 0); transfer.addStorage(Splicer.SLOT_TARGET, Splicer.SLOT_FINISHED, (stack) -> { if (!stack.isEmpty()) { IMachine machine1 = transfer.getMachine();
@Override public void createMachine(final Machine machine) { new ComponentGeneticGUI(machine, GeneticsGUI.ANALYSER); ComponentInventorySlots inventory = new ComponentInventorySlots(machine); for (InventorySlot slot : inventory.addSlotArray(Analyser.SLOT_RESERVE, getSlotRL("input"))) { slot.setValidator(new SlotValidatorUnanalysed()); slot.forbidExtraction(); } InventorySlot slotTarget = inventory.addSlot(Analyser.SLOT_TARGET, getSlotRL("analyse")); slotTarget.setReadOnly(); slotTarget.forbidInteraction(); InventorySlot slotDye = inventory.addSlot(Analyser.SLOT_DYE, getSlotRL("dye")); slotDye.forbidExtraction(); slotDye.setValidator(new DyeSlotValidator()); for (InventorySlot slot : inventory.addSlotArray(Analyser.SLOT_FINISHED, getSlotRL("output"))) { slot.forbidInsertion(); slot.setReadOnly(); } ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); transfer.addRestock(Analyser.SLOT_RESERVE, 6, 1); transfer.addStorage(6, Analyser.SLOT_FINISHED, ManagerGenetics::isAnalysed); new ComponentChargedSlots(machine).addCharge(13); new ComponentPowerReceptor(machine, 500); new AnalyserLogic(machine); new AnalyserFX(machine); }
@Override public void createMachine(final Machine machine) { new ComponentGeneticGUI(machine, GeneticsGUI.ACCLIMATISER); final ComponentInventorySlots inventory = new ComponentInventorySlots(machine); InventorySlot slotTarget = inventory.addSlot(Acclimatiser.SLOT_TARGET, getSlotRL("process")); slotTarget.setValidator(new SlotValidator.Individual()); slotTarget.forbidInteraction(); for (final InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_RESERVE, getSlotRL("input"))) { slot.forbidExtraction(); slot.setValidator(new SlotValidator.Individual()); } for (final InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_DRONE, getSlotRL("output"))) { slot.setReadOnly(); slot.setValidator(new SlotValidator.Individual()); } for (final InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_ACCLIMATISER, getSlotRL("acclimatiser"))) { slot.setValidator(new ValidatorAcclimatiserItem()); } final ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); transfer.addRestock(Acclimatiser.SLOT_RESERVE, Acclimatiser.SLOT_TARGET, 1); transfer.addStorage(Acclimatiser.SLOT_TARGET, Acclimatiser.SLOT_DRONE, (stack) -> { NonNullList<ItemStack> stacks = machine.getMachineUtil().getNonEmptyStacks(Acclimatiser.SLOT_ACCLIMATISER); return !Acclimatiser.canAcclimatise(stack, stacks); }); new ComponentPowerReceptor(machine, 5000); new AcclimatiserLogic(machine); }
transfer.addRestock(Inoculator.SLOT_RESERVE, 9, 1); transfer.addRestock(Inoculator.SLOT_SERUM_RESERVE, 0); transfer.addStorage(Inoculator.SLOT_SERUM_VIAL, Inoculator.SLOT_SERUM_EXPENDED, (stack) -> Engineering.getCharges(stack) == 0); transfer.addStorage(Inoculator.SLOT_TARGET, Inoculator.SLOT_FINISHED, (stack) -> { if (!stack.isEmpty()) { IMachine machine1 = transfer.getMachine();
transfer.addStorage(Polymeriser.SLOT_SERUM, Polymeriser.SLOT_SERUM_FINISHED, (stack) -> !stack.isItemDamaged()); ComponentTankContainer tank = new ComponentTankContainer(machine); tank.addTank(Polymeriser.TANK_BACTERIA, "input", 1000).setValidator(new BacteriaTankValidator());
transfer.addStorage(Isolator.SLOT_RESULUT, Isolator.SLOT_FINISHED);