Commit Graph

88 Commits

Author SHA1 Message Date
thetaepsilon-gamedev 750612181a add finite water feature toggle and auto-detect code 2017-10-03 20:53:49 +01:00
thetaepsilon-gamedev 894ea5174f move new flow logic flag to dedicated toggles table 2017-10-03 20:38:56 +01:00
thetaepsilon-gamedev 396a4fdacd remove register_local_pipes.lua as node registration has been moved to more appropriate files 2017-10-01 18:23:58 +01:00
thetaepsilon-gamedev f3cd1b61d7 new flow logic: flowable_node_registry_install.lua: add registration tracing 2017-10-01 16:17:35 +01:00
thetaepsilon-gamedev f7b1719767 new flow logic: node registry: split registration functions into seperate file to allow ABM code to inspect tables 2017-10-01 15:18:00 +01:00
thetaepsilon-gamedev 21892456f5 init.lua: move non-destructive new_flow_logic code outside if-guard 2017-09-30 23:55:16 +01:00
thetaepsilon-gamedev c3627551b0 move all current new_flow_logic code to dedicated sub-directory 2017-09-30 23:42:26 +01:00
thetaepsilon-gamedev d69941a0ae temporarily move ABM registration out of register_flow_logic.lua to allow refactoring it into flowable registry 2017-09-30 23:22:04 +01:00
thetaepsilon-gamedev 40eeaac2ec internal refactoring of flowable node registration in preparation for enhanced flow checking logic 2017-09-30 21:27:50 +01:00
thetaepsilon-gamedev 9d01482488 init.lua: add missing dofile for new flow logic 2017-09-27 17:53:08 +01:00
thetaepsilon-gamedev 2d70d2b657 init.lua: turn off by-default new flow logic for now 2017-09-27 17:37:46 +01:00
thetaepsilon-gamedev 69133818f7 pipes.lua: split out new flow logic registration and make it respect feature toggles 2017-09-27 17:01:46 +01:00
thetaepsilon-gamedev 59ac978093 pipes.lua: place old ABM code registration behind if-guard for new flag 2017-09-27 15:19:20 +01:00
DS e8e9de04dd Add lua controlled tube (#199)
* add lua controlled tube

* make textures and fix some bugs
2017-09-25 23:21:15 -04:00
DS 05c0a8670b Add digiline_conductor and mesecon_and_digiline_conductor tubes (#195)
* add digiline_connecting_tube

* add mesecon and digiline conductiong tube

* add more recipes
2017-09-25 23:19:35 -04:00
Jordan Irwin 69d994a2a2 Replace deprecated methods: (#179)
- 'setting_get' with 'settings:get'
- 'setting_getbool' with 'settings:get_bool'
2017-05-18 05:33:56 -04:00
DS d82227942d Nice settings (#171)
* improve style

* do something

* make settingtypes nicer

* fix settingtypes new lines

* fix it and so make it work 🐈
2017-04-13 21:13:30 -04:00
Vanessa Ezekowitz 15fe8e068f cache button "base" field since it's also standard 2017-04-11 19:16:21 -04:00
Vanessa Ezekowitz 5e26aa5f91 cache on/off button image refs and commonly-used label for same 2017-04-11 18:52:39 -04:00
Vanessa Ezekowitz 8f3d8cc586 allow stack per-chest/per-furnace stack splitting
defaults to disabled, whether the node has a new formspec or not
note that furnace fuel stacks can't be split.
2017-04-11 01:33:06 -04:00
Auke Kok 32f331e7c4 Don't make passing arguments this complex.
This shouldn't be this complex. For me, both syntaxes work,
but I bet it breaks others.
2016-05-27 17:37:56 -07:00
electrodude 10bfa30b93 Fixed settings file leak and invalid io.close (#136)
Before, init.lua called io.open on
pipeworks.worldpath..'/pipeworks_settings.txt'
to see if it existed, but did not close the resulting file handle if
it was found to exist.  It instead erroneously called io.close() with
no argument, which does nothing if the default output file is set to
stdout, which it is.

Now, the result of io.open is saved to a local variable.  If that value
is not nil (i.e. if the world settings file exists), the file handle is
passed to io.close before calling dofile.

Also, this saves pipeworks.worldpath..'/pipeworks_settings.txt' to a
local variable to reduce redundancy.
2016-05-23 10:52:26 -07:00
Vanessa Ezekowitz f80dec1220 drop direct support for dedicated protection mods
just use minetest's standard protection functions instead

(leave it up to those protection mods to do their job properly)
2015-03-23 17:40:00 -04:00
Tim d167aacf4d add ownership/protection handling for device configuration
take any available ownership into account before deciding on area protection
2015-03-11 19:36:41 +01:00
Tim 4379b1904d add decorative tubes: one steel block embedded the other passing through an airtight pane 2015-02-01 00:02:52 +01:00
Tim 61af474116 rename tubes to tube_registration to avoid catch-all usage 2015-01-29 22:53:03 +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 009b9e9276 split the filter-injector specific code out of the generic item_transport 2015-01-29 19:57:23 +01:00
Vanessa Ezekowitz 50359104c7 Use mesh nodes for all nodebox-based pipe-related nodes 2015-01-15 06:25:41 -05:00
Novatux d5480f5ff0 Major rewrite of items in tubes 2014-08-14 16:22:03 +02: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 ebccf81758 Add dispenser
The dispenser is an automated item dropper.
2014-07-21 09:52:58 -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
Vanessa Ezekowitz 8aea4b1a13 add conversion routine for cheapie's auto tree taps
turns them into nodebreakers with technic taps if auto tree taps are not
defined and if technic tree taps are.
2014-07-11 09:48:43 -04:00
Vanessa Ezekowitz f57443e96f mesecons_rules must be global. made so, confined to pipeworks.{} table. 2013-12-21 03:33:06 -05:00
Vanessa Ezekowitz bdbdab0dfd rules_all has to be global. made it so, confined to pipeworks.{} table 2013-12-21 03:30:07 -05:00
Vanessa Ezekowitz f697b94dae get rid of a redundant comment 2013-12-17 20:38:30 -05:00
Vanessa Ezekowitz 177966013a close the file handle after checking if the config file exists, add a comment 2013-12-17 20:36:21 -05:00
Vanessa Ezekowitz 01e76e1ea7 remove redundant ~= nil 2013-12-17 20:28:54 -05:00
Vanessa Ezekowitz dfed550cae don't write pipeworks config file anymore. if a user needs one, they can
create it themselves :-)
2013-12-17 20:27:46 -05:00
Vanessa Ezekowitz 2481c06bf0 fix incorrect variable name 2013-12-15 05:26:39 -05:00
Vanessa Ezekowitz eabced6976 default settings have to be global or pipeworks can't see them
(duh!)  confined them to pipeworks.{} table.
2013-12-15 04:43:13 -05:00
Vanessa Ezekowitz 659b4e42b2 local-ize a few more variables, move all of the nodebox models
into their own file and confine them and pretty much everything
else to the pipeworks.{} table (still global though).  More to
come.
2013-12-15 04:35:59 -05:00
Vanessa Ezekowitz bd80f18cfc local-ize pretty muchg everything that was previously global except where
stuff needs to be globally-visible.  Also, fix a bad drop on valve.
2013-12-15 02:53:10 -05:00
Vanessa Ezekowitz 7289bfcfba Split pipe and tube autorouting functions into separate files. 2013-11-25 23:55:52 -05:00
Vanessa Ezekowitz 7887d28e08 make worldpath and modpath pipeworks-namespace-specific and global 2013-10-29 14:08:23 -04:00
Novatux 6eaf8eac62 FiX CYCLIC option being ignored. 2013-10-21 11:15:12 +02:00
Novatux 79897c8fe6 Better deployer and node breaker mesecons rules. 2013-10-06 10:35:53 +02:00