/** * Whether or not this PressurizedReactants's GasStack entry's gas type is equal to the gas type * of the given gas. * * @param stack - stack to check * @return if the stack's gas type is contained in this PressurizedReactants */ public boolean containsType(GasStack stack) { if (stack == null || stack.amount == 0) { return false; } return stack.isGasEqual(theGas); }
@Override public int receiveGas(ForgeDirection side, GasStack stack) { if (canReceiveGas(side, stack.getGas())) { return injectTank.receive(stack, true); } return 0; }
public boolean canOperate() { if (inventory[1] == null) { return false; } GasStack stack = RecipeHandler.getItemToGasOutput( inventory[1], false, Recipe.CHEMICAL_DISSOLUTION_CHAMBER.get()); if (stack == null || (outputTank.getGas() != null && (outputTank.getGas().getGas() != stack.getGas() || outputTank.getNeeded() < stack.amount))) { return false; } return true; }
@Override public void load(NBTTagCompound nbtTags) { theSolid = ItemStack.loadItemStackFromNBT(nbtTags.getCompoundTag("itemInput")); theFluid = FluidStack.loadFluidStackFromNBT(nbtTags.getCompoundTag("fluidInput")); theGas = GasStack.readFromNBT(nbtTags.getCompoundTag("gasInput")); }
@Override public int hashIngredients() { return StackUtils.hashItemStack(theSolid) << 16 | (theFluid.getFluid() != null ? theFluid.getFluid().hashCode() : 0) << 8 | theGas.hashCode(); }
@Override public PressurizedInput copy() { return new PressurizedInput(theSolid.copy(), theFluid.copy(), theGas.copy()); }