Remove "Tubelib" string from infotext, we all know that these are
Tubelib devices. Keep this information in node description though
so searching in updated inventory managers shows these as Tubelib
items.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
fuel_countdown_to_halt() function has been ported from Compactor
to remaining BiogasMachines consuming fuel - variable replaced
with direct metadata function call.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Call to keep_running() function from Tubelib2 API now always
uses default value of 1 regardless of machine type and actual
number of processed items. This has been ported from Compactor
to other BiogasMachines.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Processing logic ported from updated gasfurnace code.
Fixed checking for space in output tray for water in buckets.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Code updated to make machine fully compatible with Tubelib2 framework.
Major changes:
* supports Tubelib2 by using NodeStates class and new metadata
* BLOCKED state introduced when no space left in output tray
* set to FAULT when Biogas tank is empty
* on_punch diagnostics removed
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Items can be taken from working tray ('cur' inventory list) when
machine is stopped. This functionality is identical to gasifier behaviour.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Working tray has now blue background that gets brighter when machine
is operating. It is used to indicate that this tray is a special one
and cannot be accessed by player like normal inventory cell.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Formspec data that needs to be calculated only once is stored in
a special array (method introduced in gasifier) and never re-calculated.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Crafting recipe added. When unified_inventory is installed, crafting guide
is expanded with 'freezing' type and ice generation recipe.
What's left: textures and look.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Freezer now accepts pipe connections from all sides, thanks to improved
pipe detection logic in functions.lua. Function that checks if an element
belongs to an array has been made public to all module files, module
has been rewritten to utilize this function instead of duplicating
code.
What's left: textures, crafting.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Freezer now interacts with tubelib devices and can be a part of
complex machines (i.e. paired with Liquid Sampler).
Minor code adjustments: inventory reshaping, on_punch logic.
What's left: textures, crafting.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Freezer can now work as a standalone device, producing ice
from water supplied in bucket or through pipes.
What works: ice production logic, manual on/off.
Todo: tubelib integration (tubes and message i/o), crafting,
textures.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Simple freezer node created to test pipeworks water supply.
Node has temporary textures, no formspecs and no inventories.
When punched node shows if water is flowing into it via pipes.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>