Commit Graph

640 Commits

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