Commit Graph

618 Commits

Author SHA1 Message Date
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
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