58 Commits

Author SHA1 Message Date
Michal Cieslakiewicz
22dee39390 biogasmachines: drop item when dug.
This fix brings machine back into player inventory when dug instead
of destroying it completely. Thanks to Joe7575 and TechWolf.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2020-09-25 09:33:17 +02:00
Michal Cieslakiewicz
bc8f65b29e biogasmachines: fix crash when digging a machine.
Apparently in recent versions of TechPack API after_dig_node() method
has been functionally replaced by on_dig_node(), so all Biogas Machines
caused server to crash during removal. This commit fixes that problem.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2020-09-24 10:47:48 +02:00
Michal Cieslakiewicz
3055531cbb Update modpack and mod configuration files for 5.0.0.
modpack.conf and mod.conf files have been expanded to contain
new information that follows modding rules introduced in Minetest
version 5.0.0. Old txt files are still present for compatibility
reasons.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-03-10 12:33:49 +01:00
Michal Cieslakiewicz
e2b125e2ac biogasmachines: add tooltips to recipe hintbar icons.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-03-09 23:38:20 +01:00
Michal Cieslakiewicz
b30cff939c biogasmachines: active tray color box adjusted for 5.0.0.
Version 5.0.0 apparently modified inventory box so height value
0.9 for color background area in active tray was too big. Changed
to 0.88 which looks ok now.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-03-09 19:24:36 +01:00
Michal Cieslakiewicz
846cf32a5d Module presence checks now use minetest.global_exists().
minetest.get_modpath() and generic Lua global variable checks
changed to minetest.global_exists() function for all mods
in modpack.

This is the first change after moving modpack development from
Minetest version 0.4.17.1 to 5.0.0.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-03-09 19:12:46 +01:00
Michal Cieslakiewicz
ca5c7b8601 biogasmachines: tank: fix medium tank side texture.
Removed artifact 4x4 screw bitmap from middle of texture.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-02-22 18:32:40 +01:00
Michal Cieslakiewicz
095821a9e7 biogasmachines: add Biogas Tank.
Biogas Tank is a dedicated storage for Biogas units. It comes in
3 sizes: Small (2 slots), Medium (32 slots) and Large (72 slots).
It supports Tubelib stack pulling and status query (like HighPerf
Chest). In addition, storage tank provides both visual indication
and infotext information about current capacity usage.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-02-22 18:24:38 +01:00
Michal Cieslakiewicz
823a1dcf7e biogasmachines: add Biogas Torch.
Biogas Torch comes in 4 variations, depending on handle material:
steel, tin, copper and bronze. It is a replacement for standard
coal torch with additional snow and ice melting feature.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-02-19 13:12:23 +01:00
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
ab24a65114 biogasmachines: compactor: Tubelib v2 adaptation, logic improvements.
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
* processing logic updated (fuel and ice checks reorganized,
  desired_state metadata introduced, improved state transition logic)

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-31 22:51:27 +01:00
Michal Cieslakiewicz
9ea6941042 biogasmachines: jetfurnace: Tubelib v2 adaptation, improvements, bugfix.
JetFurnace code has been derived from new gasfurnace so all new logic
and bugfixes are also implemented here.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-30 12:25:42 +01:00
Michal Cieslakiewicz
8538acca26 biogasmachines: gasfurnace: minor adjustment to state logic.
Both Freezer and Gasifier transit from standby to blocked through running
state. Although Biogas Furnace is capable of direct standby->blocked
transition, adapt its behaviour to other Biogas machines.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-29 23:02:39 +01:00
Michal Cieslakiewicz
d3dfd92d46 biogasmachines: freezer: processing logic improvements, bugfix.
Processing logic adapted from updated gasfurnace code (minus fuel).
Fixed checking for space in output tray for items with extra leftover
material (coal).

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-29 22:41:30 +01:00
Michal Cieslakiewicz
922a3fd6c7 biogasmachines: gasfurnace: minor typos fixed.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-29 18:27:40 +01:00
Michal Cieslakiewicz
d9f5201781 biogasmachines: gasfurnace: output space check improved.
More universal approach ported from freezer to check for output space.
Loop is used instead of fixed indices.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-29 18:24:29 +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
60429b5818 biogasmachines: gasfurnace: Tubelib v2 adaptation, improvements, bugfix.
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
    * processing logic updated (fuel checks reorganized, desired_state
      metadata introduced, improved state transition logic)

    Fixed:

    * proper checking for space in output tray for items with vessels

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-29 15:36:54 +01:00
Michal Cieslakiewicz
bcc22670d7 biogasmachines: gasifier: 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
    * on_punch diagnostics removed

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2019-01-26 20:44:50 +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
1bde1a18b1 biogasmachines: gasifier: update hint display.
Changing hint bar recipe updates help image in source inventory as well
(ported from compactor).

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-15 10:04:02 +01:00
Michal Cieslakiewicz
083910a8a3 biogasmachines: compactor crafting recipe changed.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-15 09:51:21 +01:00
Michal Cieslakiewicz
8d1546ea2e biogasmachines: screenshot updated.
Compactor put in picture.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-14 23:43:43 +01:00
Michal Cieslakiewicz
9a94184d5e biogasmachines: compactor logic improved.
Standby/resume logic fixed when one of working trays is empty
while machine is power-cycled.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-14 23:38:34 +01:00
Michal Cieslakiewicz
a95947d928 biogasmachines: gasifier unified_inventory registration rewritten.
Unified_Inventory recipe registration code splitted: type is registered
before adding default recipes via API; recipe registration moved to
API function so it gets called every time function successfully runs
(ported from compactor.lua).

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-14 21:35:58 +01:00
Michal Cieslakiewicz
e72ffe28ad biogasmachines: compactor machine added.
Compactor machine compresses material using Biogas as fuel
and Ice cubes as coolant. Recipes are added using public
API function.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-14 21:26:29 +01:00
Michal Cieslakiewicz
64f469f4c4 biogasmachines: remove artifact function call.
During code replication from base freezer.lua to other Biogas Machines
in on_punch() callback a unnecessary call to biogasmachines.is_pipe_with_water()
function has been overlooked and left over. This commit removes that call
for gasifier and furnaces.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-13 15:25:30 +01:00
Michal Cieslakiewicz
959a0a42fa biogasmachines: gasfurnace: delay for autoshutdown added.
Backported from Jet Furnace. When no fuel, device waits for some time
(the same value as for standby) before it shuts down automatically.
This timeout allows fuel to reach device in more complicated Tubelib
machineries.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-04 13:26:56 +01:00
Michal Cieslakiewicz
3e9996a6e2 biogasmachines: gas jet upgraded furnace added.
Jet Furnace that is 2 times faster than standard version in both item cooking
time and Biogas consumption. Additionally it supports stack pulling from output
tray (can be paired with High Perf Pusher) and longer auto-poweroff delay
(to allow fuel to reach device before it automatically shuts down).

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-12-03 15:35:44 +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
f289fba0ae biogasmachines: gas furnace added.
Biogas Furnace is Tubelib-compatible version of standard furnace that
uses Biogas as fuel. All default furnace cooking recipes apply.
See gasfurnace.lua for details and differences.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-24 12:57:41 +01:00
Michal Cieslakiewicz
63b877ffdc biogasmachines: gasifier: recipe and code update.
Coal block output changed to 9 Biogas units.
Timer code optimized by using local recipe variable.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-20 16:25:58 +01:00
Michal Cieslakiewicz
283805df77 biogasmachines: gasifier: Straw product decreased to 2 Biogas.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-20 16:16:30 +01:00
Michal Cieslakiewicz
ca86efe343 biogasmachines: gasifier: recipe change, minor code updates.
Coal gasification recipe now produces Gravel instead of Biofuel
as a secondary product. Recipe hint bar number width changed back
from 3 to 2. README.md updated.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-20 14:39:12 +01:00
Michal Cieslakiewicz
a5bf21660d biogasmachines: gasifier: fix listring order.
Putting 'cur' at the end of listring in formspec brings back
shift-click access to 'src' which had been broken by putting
'cur' in the middle.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-19 14:07:59 +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
33c7cbf09e biogasmachines: gasifier: fixed working tray item processing.
Fixed incorrect behaviour when machine was restarted with non-empty
working tray. Now device checks this tray before source (input) inventory
and if item is present, sets it for processing.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-19 13:37:04 +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
485b578e33 biogasmachines: gasifier machine added.
This machine is designed to extract Biogas from highly compressed
dry organic matter, such as fossil fuels (coal block) and straw.
It requires no fuel to avoid complex processing loops.
Its recipe base is expandable via API function.
All functionality and Tubelib integration is in place.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-19 11:40:56 +01:00
Michal Cieslakiewicz
d1f39d9582 biogasmachines: code update for stub machines.
Code cleanup and preparations for another Biogas Machine.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-15 17:44:35 +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
94ea89dc2f biogasmachines: functions: connection table moved out of function.
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
2018-11-13 15:24:26 +01:00