Commit Graph

876 Commits

Author SHA1 Message Date
Tim
4dc3f159c9 remove unnecessary pcall() around tonumber, as it will return nil for invalid input and not throw an exception 2015-01-30 23:58:54 +01:00
Tim
f065349972 restyle formspecs and add infotexts to adjustable vacuuming tube 2015-01-30 21:45:33 +01:00
Tim
7f0372559b optimize vacuum tubes by getting rid of an extra abm, an extra loop per abm, table lookups and reduce the necessary search distance a bit 2015-01-30 21:30:35 +01:00
Tim
f79956c0b6 improve handling of shapeless recipes in the autocrafter recipe filling function 2015-01-30 21:09:43 +01:00
Tim
51c5b63ee7 fix crashing typo in sorting_tube formspec update 2015-01-30 16:41:10 +01:00
Tim
61af474116 rename tubes to tube_registration to avoid catch-all usage 2015-01-29 22:53:03 +01:00
Tim
4eff124ec8 fix crafts to only register when their respective tubes are enabled
also add the one-way tube recipe back
2015-01-29 22:47:33 +01:00
Tim
5a79a60e0f use the default tube textures as fallback for any missing textures during tube registration 2015-01-29 22:38:01 +01:00
Tim
a98af7bf15 split the big tubes file up into functional modules independend from the tube registration and add their respective crafting recipes
use this opportunity to remove some whitespaces issues from it
2015-01-29 22:37:29 +01:00
Tim
b54a868c33 chmod -x *.lua 2015-01-29 21:59:35 +01:00
Tim
471e1131c6 add tube inventory image to the restyled tp tube formspec 2015-01-29 20:58:28 +01:00
Tim
d15d27391b style trashcan formspec 2015-01-29 20:32:10 +01:00
Tim
fcba05fd78 move autocrafter, tp-tube and filter-injector crafts to their respective code files 2015-01-29 20:31:08 +01:00
Tim
c9d18f74e4 update all formspecs "current_name" to "context" to reflect current api 2015-01-29 20:08:58 +01:00
Tim
009b9e9276 split the filter-injector specific code out of the generic item_transport 2015-01-29 19:57:23 +01:00
Tim
1e50644487 add infotexts to the teleportation tube
this should also debunk the myth of some players, that they are the only ones seeing the channel
2015-01-29 19:10:01 +01:00
Tim
9d45599872 improve/style tp tube formspec and formspec handling
display text explaining private channels
2015-01-29 19:09:59 +01:00
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