Commit Graph

696 Commits

Author SHA1 Message Date
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
Novatux 8cc2ecb55f Fix wielder 2014-08-14 22:10:39 +02:00
Novatux bf6fe237de Fix typo 2014-08-14 22:02:36 +02:00
Novatux 15db1d23cc Remove useless callbacks 2014-08-14 21:24:20 +02:00
Novatux d4e14bc891 Add legacy code for items in tubes 2014-08-14 21:18:48 +02:00
Novatux d5480f5ff0 Major rewrite of items in tubes 2014-08-14 16:22:03 +02:00
Zefram a9866aa5d5 Node breaker fixup for ones lacking pick slot
This has been seen on Vanessa's server, and caused the wielding code
to crash.
2014-08-09 10:57:43 -04:00
Vanessa Ezekowitz 487007f2a4 don't add active furnace to creative inv 2014-08-06 17:14:16 -04:00
Kevin Zheng a7d8d99913 Use 'group:stick' instead of 'default:stick' 2014-07-30 16:22:28 -05:00
Vanessa Ezekowitz e2a8c03066 get rid of the old pipeworks clone node function
use minetest.override_item() instead
2014-07-30 14:13:17 -04:00
Vanessa Ezekowitz 3c348592cb use current homedecor plastic sheet texture 2014-07-28 21:18:40 -04:00
Vanessa Ezekowitz 39b56074ad update pipeworks to use modern homedecor-style crafting chain
craft 6 any leaves -> oil extract, cook oil -> paraffin,
cook paraffin -> plastic

old "plastic base" is aliased to paraffin.
2014-07-28 21:14:38 -04:00
Zefram 7cf5e3cfb9 Refactor node breaker
Merge node breaker into the generic wielder mechanism.  Center the wield
inventory in all wielders' formspecs.  Implement full auto-upgrade of
legacy node breakers, occurring upon use or punching of the node breaker.
Make node breaker respect on_dig hooks.
2014-07-23 09:50:50 -04:00
Zefram 46d44eebcf Refactor deployer and dispenser
Merge implementations into a single "wielder" mechanism.  Clean up the
code a bit.  Fix get_player_control_bits for the dispenser (it wasn't
indicating the sneak setting).  Fix drops for dispenser (dispenser_on was
dropping as itself).  Show item image, as well as name, at head of form.
2014-07-23 09:50:50 -04:00