Tim
373c7951d2
add sanity check for upgrade cases of autocrafters with broken metadata (especially for can_dig)
2015-01-29 17:06:09 +01:00
Tim
73b3466a7b
improve autocrafter infotext handling
...
use the item description and provide more information in paused states
2015-01-29 17:06:09 +01:00
Tim
3bcf3b5f2f
use on_destruct instead of after_dig_node to clean up the cache entry to avoid any leaking during worldediting
2015-01-28 21:47:50 +01:00
Tim
b009e46590
call after_recipe_change also when moving the output item to src or dst to stop the crafter as expected
2015-01-28 21:45:43 +01:00
Tim
197e433f49
don't add unknown or groupnamed items to the crafting grid when setting it via the output slot
2015-01-28 20:56:26 +01:00
Tim
0cb1eb49dc
make sure the autocrafter runs after an upgrade
2015-01-28 19:41:38 +01:00
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