20 Commits

Author SHA1 Message Date
Michal Cieslakiewicz
c4d8b46a25 biogasmachines: make infotext shorter.
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>
2019-02-15 17:46:01 +01:00
Michal Cieslakiewicz
2792a98455 biogasmachines: change tube to v2 in crafting recipes.
'tubelib:tube1' changed to 'tubelib:tubeS' in all crafting recipes.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-02-11 10:20:00 +01:00
Michal Cieslakiewicz
728e443364 biogasmachines: minor code cleanup in function.
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>
2019-02-01 17:36:57 +01:00
Michal Cieslakiewicz
2201310971 biogasmachines: keep_running call unified to default value.
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>
2019-02-01 17:27:01 +01:00
Michal Cieslakiewicz
3f877dde28 biogasmachines: freezer: processing logic improvements, bugfix.
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>
2019-01-29 18:04:30 +01:00
Michal Cieslakiewicz
dc01c6cd0d biogasmachines: freezer: make code compatible with Tubelib v2.
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>
2019-01-26 15:54:41 +01:00
Michal Cieslakiewicz
300ef43afa biogasmachines: get rid of public is_member_of() function.
biogasmachines.is_member_of() function replaced with sparse arrays.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-15 19:24:09 +01:00
Michal Cieslakiewicz
811695d78d biogasmachines: better item move protection for working tray.
Further checks for 'cur' inventory list when moving items.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-24 13:10:24 +01:00
Michal Cieslakiewicz
1c93dd5e73 biogasmachines: freezer: allow taking items from working tray.
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>
2018-11-19 14:05:20 +01:00
Michal Cieslakiewicz
22ef12415d biogasmachines: freezer: add color to working tray.
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>
2018-11-19 13:00:43 +01:00
Michal Cieslakiewicz
d8cf44597f biogasmachines: freezer: static formspec data calculated only once.
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>
2018-11-19 12:07:07 +01:00
Michal Cieslakiewicz
811b486e9e biogasmachines: freezer: unused variable removed from function.
Unused 'number' variable removed from on_receive_fields() callback.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-19 11:46:50 +01:00
Michal Cieslakiewicz
8a05d661a2 README.md and freezer header comment updated.
README.md and freezer.lua documentation changes.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-15 17:20:31 +01:00
Michal Cieslakiewicz
bbe683365e biogasmachines: water freezer done.
Water Freezer is now fully functional.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-13 23:38:39 +01:00
Michal Cieslakiewicz
590037ca21 biogasmachines: freezer: crafting recipe added.
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>
2018-11-13 17:28:24 +01:00
Michal Cieslakiewicz
94c9594961 biogasmachines: freezer: accept pipe connections from all sides.
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>
2018-11-13 15:16:18 +01:00
Michal Cieslakiewicz
c2607b5ea9 biogasmachines: freezer: tubelib integration implemented.
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>
2018-11-11 11:24:07 +01:00
Michal Cieslakiewicz
69dfcc7847 biogasmachines: freezer: basic work implemented.
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>
2018-11-10 15:03:43 +01:00
Michal Cieslakiewicz
847156e703 biogasmachines: further works on freezer.
Water detection code reorganized, new graphics for freezer added.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-07 15:46:21 +01:00
Michal Cieslakiewicz
6eafa51477 biogasmachines: freezer early version created.
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>
2018-11-06 20:45:02 +01:00