Commit Graph

537 Commits

Author SHA1 Message Date
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
Zefram b832c0ad06 Slot sequencing modes for filter-injectors
The filter-injectors used to always prefer to take items from the
beginning of the source inventory.  Because items also tend to get placed
at the beginning of an inventory, this could lead to a chest+injector
buffer only passing through a trickle of one type of item, where other
item types are flowing in and getting later inventory slots.  So now,
the sequencing of source inventory slots is configurable, per-injector,
by form.  In addition to the old priority mode, there's now a random
mode and a rotation mode.

Incidentally refactor the filter-injector code, to avoid duplication
between the itemwise and stackwise variants.
2014-07-21 19:03:56 -04:00
Zefram 1c3fb6b1c5 rename "filter" to "filter-injector"
"Injector" better describes the nodes' main purpose.
2014-07-21 14:47:50 -04:00
Zefram bd37e96222 Make sorting tube dialog lag-resistant 2014-07-21 14:43:37 -04:00
Zefram c5ab801741 Better teleport tube control dialog
Describe the two modes as "Send and Receive" and "Send only", rather
than the misleading "On" and "Off".  Also make the mode toggle button
lag-resistant.
2014-07-21 14:43:37 -04:00
Zefram ebccf81758 Add dispenser
The dispenser is an automated item dropper.
2014-07-21 09:52:58 -04:00
Zefram 22eb00e5d1 Let stack of projectiles diminish in node breaker
The logic that prevents mechanically wearing a tool was also preventing
the diminution of a stack of items to use, such as a stack of snowballs.
Restrict the use of pickcopy to the case where the stack still has the
same item type, count, and metadata.
2014-07-21 09:52:53 -04:00
Zefram aee9f7e6d6 Add trash can
The trash can can be used either manually (via form) or at the end of
a pipe.  It destroys whatever is placed in it.
2014-07-15 00:52:33 +01:00
Zefram 571d1d45ee Don't show legacy auto-tree-tap in creative invy 2014-07-14 14:55:31 -04:00
Zefram 2b5aeda9d1 Set infotext for node breakers
As node breakers now have a form, they should also have infotext to draw
attention to it, as do most form-containing nodes.
2014-07-14 14:55:29 -04:00