Commit Graph

37 Commits

Author SHA1 Message Date
Tim
7dca3393be improve upgrade of autocrafter from both former versions 2015-01-28 18:55:59 +01:00
Tim
d75e1a214a allow virtual item moving from output to the recipe grid 2015-01-28 16:51:07 +01:00
Tim
a74c2212ab simplify autocrafter code a bit 2015-01-28 16:30:22 +01:00
Tim
320a483f4f add an output field, that is being filled with the crafting result and can be used for quickly emptying or filling the crafting grid with the last registered recipe
some of the recipes are still treated wrongly due to minetest/minetest#2222 but are failling gracefully
2015-01-28 06:51:59 +01:00
Tim
5fa3e1f626 use the default background colors and hotbar image for the autocrafter formspec 2015-01-28 01:36:13 +01:00
Tim
3a46c1266a allow moving virtual items within the crafting grid 2015-01-28 00:42:22 +01:00
Tim
e92ac0f7b3 abstract adding of virtual items 2015-01-28 00:33:07 +01:00
Tim
78e081cf25 on_ -> after_ to be consistent with minetest api usage of these prefixes 2015-01-28 00:27:17 +01:00
Tim
6d1bc7b3fc add an enable/disable button to the autocrafter
the reaction time of the button might be a bit confusing though until minetest/minetest#2220 is being resolved
2015-01-28 00:22:35 +01:00
Tim
5ac0053f8c let the infotext show what we are crafting, or if we craft at all 2015-01-27 23:41:46 +01:00
Tim
f3b636d63e let the autocrafter catch up on missed crafts 2015-01-27 23:41:46 +01:00
Tim
44bafb844a use nodetimers instead of abm's to run the autocrafters; only run autocrafters when needed
autocrafters will stop() when theres no valid recipe, no dst space or enough src material
it will resume again on inventory or recipe changes
2015-01-27 23:41:46 +01:00
Tim
2ccce52976 split autocraft into a run function and a function autocrafting a singe step
this gives us flexibility for future changes
2015-01-27 23:41:46 +01:00
Tim
f427bae557 also cache the recipe consumption to get rid of an additional loop per craft 2015-01-27 23:41:46 +01:00
Tim
cee16932be remove unnecessary looping and testing, since we only check and update the cache if there was actually a reason to assume a recipe change 2015-01-27 23:41:46 +01:00
Tim
827d049789 reduce stacksizes and wear of virtual items on update instead of leaving the previous configuration in 2015-01-27 23:41:46 +01:00
Tim
d3110a9e20 rename variables to reflect the official api and making the code more clear 2015-01-27 23:41:46 +01:00
Tim
7b9571912d reduce table lookups and hash_node_position calculations 2015-01-27 23:41:46 +01:00
Vanessa Ezekowitz
e0039f22f8 sanity checking, stop crash in case of garbage inventory data
(i.e. that looks like nil)
2015-01-10 01:31:22 -05:00
Novatux
3f85f83e35 Make items in autocrafters virtual as well 2014-11-02 09:35:43 +01:00
Novatux
10cf11e008 A few more fixes (spamming the commit log again...) 2013-12-21 11:11:36 +01:00
Vanessa Ezekowitz
9f3b2f1323 fix small typos (False -> false) 2013-12-21 03:26:26 -05:00
Vanessa Ezekowitz
6785ba39f4 local-ize one last var 2013-12-15 06:21:39 -05:00
Vanessa Ezekowitz
bd80f18cfc local-ize pretty muchg everything that was previously global except where
stuff needs to be globally-visible.  Also, fix a bad drop on valve.
2013-12-15 02:53:10 -05:00
Vanessa Ezekowitz
bf7993b802 get rid of some extraneous print statements 2013-11-25 23:59:52 -05:00
Novatux
dc1ef38a58 Fix autocrafter not taking enough items if number of needed items of a kind > stack max for that item. 2013-10-30 08:33:34 +01:00
Vanessa Ezekowitz
c80eeadf9c fix incorrect usage of after_place_node 2013-10-04 14:36:17 -04:00
chlue
6a9fdae4a1 simplify autocrafterCache, remove cache entry on node dig and disable debug output 2013-10-04 17:56:03 +02:00
Vanessa Ezekowitz
b9bbfbb754 clean up formatting a bit 2013-10-04 11:03:27 -04:00
chlue
0fadfa5372 Made autocrafter take less CPU/time 2013-10-04 10:41:23 -04:00
hdastwb
ec416df794 added support for 6d facedir for all tube components, changed autoplace.lua to follow tubes.connect_sides rather than having each component coded individually, and added support for placing deployers and node breakers facing vertically 2013-07-19 19:16:26 -04:00
Vanessa Ezekowitz
17ee4f6aab Phased out all deprecated minetest.env:* uses in favor of minetest.* 2013-06-30 23:55:07 -04:00
Vanessa Ezekowitz
3a0fd39bf6 rewrote autoplacement code to make it more aware of filters,
autocrafter, nodebreaker, deployer, and made sure each item will only
initiate a connection to those sides which can accept such.  Fixed
various autorouting bugs as I ran across them.  Autorouting for various
devices is now:

filters: left and right sides only
nodebreaker, deployer:  back only
autocrafter:  all six sides
chests:  top, bottom, left, right, back (not front)
furnace: bottom, left, right, back (not the top or front)
2013-06-23 21:36:13 -04:00
bas080
7b561ab423 Autocrafter only crafts when destination inventory has space 2013-04-07 11:30:11 +02:00
Novatux
26414588a5 Changed autocrafter formspec. 2013-01-20 09:20:26 +01:00
Novatux
4759791034 Added chests and furnaces autoconnect to tubes.
Fixed a bug where autocrafter could bbe used to clone items.
Removed test code.
2013-01-20 07:57:58 +01:00
Novatux
b3fcf6734f Added autocrafter.
Fixed a bug where items in mese tubes disappeared whan placing or removing a tube next to it.
2013-01-19 15:37:27 +01:00