Commit Graph

113 Commits

Author SHA1 Message Date
tour 1169cff163
de-duplicate chest code (#123)
* rewrite compat-chests.lua
add pipeworks.override_chest() to make a existing chest connecting to pipeworks

* move pipeworks.override_chest() to a new file
fix crash with after_place_node() there
let mcl_barrels make use of the new function

* some comments
2024-04-11 10:25:13 +02:00
Slava Zanko 6c66a2f43c
Tags support (#107)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Co-authored-by: Slava Zanko <slava.zanko@godel.shellenergy.co.uk>
Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
Co-authored-by: OgelGames <olliverdc28@gmail.com>
2024-03-03 22:48:27 +11:00
wsor4035 8724c28939
switch to using xcompat (#113) 2024-03-03 12:37:46 +01:00
Buckaroo Banzai 578e45257b
code and registrations cleanup (#101)
* code and registrations cleanup

* don't expose materials to global env

---------

Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2024-01-13 20:40:01 -05:00
OgelGames 7c74d0bdf3 replace `global_exists` with `get_modpath`
related: #97
2023-11-21 14:35:51 +11:00
Github is a non-free platform owned by Microsoft. Reasonable alternatives exist, such as Gitea, Sourcehut. We need a federated, mastodon-like forge based on ForgeFed. See: https://forgefed.org 500cce8668
MineClone containers support (#81)
* mcl_barrels compat

* open barrel is not in creative inv

* fix barrel drop content after dig

* fix barrel local var

* mcl_furnaces compat

* optional depends mcl_barrels and mcl_furnaces

* fixing luacheck

* .luacheckrc update

* renamed files to use _

* renamed files to init.lua

* format improvement
2023-09-02 15:17:14 -04:00
OgelGames 5345fe7af3
Prevent vacuum tubes breaking themselves and refactor code (#51)
also bumps `min_minetest_version` to 5.4.0
2022-11-11 23:14:08 +11:00
unknown b190d29d21 fix https://github.com/mt-mods/pipeworks/issues/44 2022-09-19 20:21:34 -04:00
Jude Melton-Houghton 1823690dad
Store teleport tube DB in mod storage (#40)
* Store teleport tube DB in mod storage

* Prevent overwriting of tube DB backup file

* Remove backup code

* Slightly improve storage reading code

* Log DB migration to mod storage

* Add migration note in README

* Improve pipeworks.logger
2022-08-13 16:22:53 -04:00
Jude Melton-Houghton 7b15bdbd1f
Add configurable globalstep interval (#32)
* Add configurable globalstep interval

* Add warning for high globalstep interval

* Lower maximum globalstep interval

With no accelerator tubes, 0.8 can handle item movement speeds even
with lag.
2022-05-24 19:13:41 -04:00
sfence 4fce320d9c
Better Hades Revisited support (#30)
* Fix spaces vs tabs in crafts.lua

* Fix recipes, add telepoter device for teleporter tube recipe.

* Override chests and furnaces in Hades as well.
2022-05-12 22:52:17 -04:00
Jude Melton-Houghton 55ded7e569
Make tubes opaque when entities are not used (#29)
* Make tubes opaque when entities are not used
2022-05-11 18:41:28 -04:00
wsor4035 5aa0501872
make pipeworks Game agnostic (#16)
* make it boot in non mtg

* make water flow

* fix water texture warnings

* fix missing steel texture issues

* remove depreciated/unnessary default function calls

* make sounds work

* fix default formspec crashes

* fix wierd tab spacing

* additionally game dig group support

* move crafts to crafts.lua

* make crafts support various games
2022-03-14 21:39:58 -04:00
Jordan Irwin 48b082e014 Fix Undeclared global variable "unified_inventory" 2021-05-13 10:57:58 -07:00
Vanessa Dannenberg fc6efb450c add support for Unified Inventory categories 2021-04-02 15:48:28 -04:00
HybridDog b2d2ccbcba Remove or comment unused code and declare some variables local 2021-02-03 18:08:50 +01:00
HybridDog 9dbaa5f4f6 Log the "Pipeworks loaded!" message to infostream instead of printing it 2020-10-17 20:46:44 +02:00
auouymous c966a8a57d Allow players with the protection_bypass privilege or access to
the protection to access wielder node inventories.

Fixes #40.
2020-09-24 05:12:32 -06:00
Louis Royer 62bc13078f Add translation support
- Created `locale/template.txt`
- Fixed some typos
- Replace some `print("[pipeworks]"..` with `pipeworks.logger()`
- Removed "You hacker, you" from descriptions
2020-02-18 17:34:52 +00:00
Vanessa Dannenberg 75cfac34e6 add signs_lib placement rules
only works on signs_lib commit dcdee222 or later.
2019-09-23 15:41:56 -04:00
rubenwardy da764f4ce0 Remove hard dependency on mesecons 2018-12-08 20:10:48 +00:00
Vanessa Dannenberg f5a60ba407 license fixups: update to LGPL3.0 for code, add CC-by-SA 4.0 for media 2018-11-08 18:22:12 -05:00
thetaepsilon-gamedev 75978a0207 refactor pressure logic toggle to act as option enum 2017-10-20 22:46:51 +01:00
thetaepsilon-gamedev 538e33c537 init.lua: update pressure logic mode warning 2017-10-20 21:34:08 +01:00
thetaepsilon-gamedev aacd5ec829 rename new_flow_logic subdirectory to a less ambiguous name
The "new flow logic" name was supposed to indicate that it was a continuation of the old branch by the same name, but it is beginning to become clear that it's not "new" any more and it might lead to confusion with "classic mode" flow logic while that still co-exists.
Explicitly name the subdirectory "pressure logic" to give a better idea of what goes in it, init.lua edited accordingly.
2017-10-17 14:20:55 +01:00
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