Commit Graph

409 Commits

Author SHA1 Message Date
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
502395aa13 use swap_node in autoplace_pipes for pipesegments so the source would be kept; fixes #78 2015-01-29 04:18:00 +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
est31
52cfe9f277 Add intermediate button state for sorttube enabler
Image supplied by VanessaE.
2015-01-27 23:17:10 +01:00
est31
8b22593f55 Color up the enable/disable buttons for sorttube 2015-01-26 23:51:03 +01:00
Tim
fb98963810 use a hashmap to manage teleportation tubes, to speedup lookups and tablemodifications 2015-01-25 23:42:35 +01:00
Tim
5b026d2cc7 improve tp_tube configuration handling to decrease disk i/o, handle empty strings and form escapes 2015-01-25 20:05:10 +01:00
Vanessa Ezekowitz
cdd3eb209b OPTIMIZE _ALL_ THE TEXTURES! \:D/ 2015-01-23 14:07:02 -05:00
Diego Martinez
9493478e59 Fix tubes only taking a single designated path. 2015-01-22 11:18:23 -05:00
Tim
82a7b6a749 rewrite parts of the teleportation tube to avoid a few grave performance issues:
* don't forceload the block of every single tube in the world on every item being send through any one of them
* cache file contents to avoid unnecessary reads on every single item send through a tp tube
* reduce redundant metadata and table lookups
* reduce write operations during the same changes to a file

still to do is a switch from an arraylist-table to a hashmap-table to make lookups and updates on the cache faster
2015-01-20 19:29:49 -05:00
Diego Martinez
9a83380b2b Optimize sorting tube code a bit. 2015-01-20 14:06:44 -03:00
Vanessa Ezekowitz
dad386b564 use animated water for pouring spigot
also remove a couple of extranous .mtl files and a redundant spigot texture
2015-01-16 04:38:17 -05:00
Vanessa Ezekowitz
50359104c7 Use mesh nodes for all nodebox-based pipe-related nodes 2015-01-15 06:25:41 -05: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
Tim
6f16dd24c2 allow sorting tubes to be dug, despite virtual items in the inventories 2014-12-27 22:14:33 +01:00
Vanessa Ezekowitz
614f6f4da1 minetest.env:* --> minetest.* 2014-11-30 12:38:06 -05:00
Vanessa Ezekowitz
28cef5e82f update to use current mesecons API
requires mesecons commit 5be179bf110b44bdc06df6dbfde4e61487cf0635 or newer.
2014-11-22 13:55:54 -05:00
Novatux
b49428721a Make filters behave correctly with protected areas (fixes #74) 2014-11-16 13:14:17 +01:00
Novatux
3f85f83e35 Make items in autocrafters virtual as well 2014-11-02 09:35:43 +01:00
Tim
cf9c4fa3b1 use default copper instead of moreores copper for the water pump recipe 2014-09-21 13:51:55 +02:00
Novatux
5b2e3a44c3 Fix #73 2014-09-12 19:47:43 +02:00
Vanessa Ezekowitz
bbc530a067 fix undefined node crash 2014-08-24 11:51:43 -04:00
Vanessa Ezekowitz
42a364b818 quick hack to prevent crash in load_position() call if given a set of
coords that are out of valid range
2014-08-23 17:59:32 -04:00
Zefram
2838f0125f Escape text for cycling form button 2014-08-17 14:53:21 +01:00
Novatux
17cae3a650 Fix possible race condition crash 2014-08-16 11:16:23 +02:00
Novatux
f8a8046a7b Fix mese tube formspec 2014-08-15 15:35:42 +02:00
Zefram
7915e7f51e Rename tube_item() to tube_inject_item()
The new function has no API compatibility with the old one, so give it
a different name to avoid confusion among caller mods, which need to
change their usage.  Have a function under the old name that outputs a
helpful error message.
2014-08-15 13:24:52 +02:00
Novatux
b77146f29c Fix old mese tube detection 2014-08-15 11:51:23 +02:00