Commit Graph

895 Commits

Author SHA1 Message Date
1225e4168b fix splitstacks toggle in default chests 2024-05-15 21:18:26 +10:00
94442e87bb patch for #124 (#125) async race condition fix
* restructure avoiding excessive indentation

* possibly fix #124

* async race condition fix
2024-05-13 12:00:17 +02:00
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
21dbae9962 fix missing check for pipeworks.enable_item_tags
fixes #117 closes #121
2024-03-30 15:55:59 +11:00
1b79084e6b fix chest duplication bug (#119)
closes #118

Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2024-03-17 17:21:43 -04:00
1577af738f Autocrafter multi group ingredient (#115)
* check for non-zero group value

in theory groups can have negative values too.

* fix #114 multi group recipe items

Fix the bug that prevented crafting with recipes
that had ingredients that need to match multiple
groups.

* comments and whitespace changes

* fix faulty empty table check
2024-03-13 17:31:38 +01:00
8828183bef remove nan values from digiline messages 2024-03-12 14:17:29 +11:00
ce263da6d5 also accept strings of tags in digilines and lua
fixes #116
2024-03-07 14:56:19 +11:00
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
8724c28939 switch to using xcompat (#113) 2024-03-03 12:37:46 +01:00
cb2a59131c Make wielder nodes not ground content (#112)
nodebreaker, deployer and dispenser
2024-03-03 14:52:23 +13:00
c7b153f1ef Is ground content (#110)
* trashcan isn't ground content

* pipes aren't ground content

* auto tree tap isn't ground content

* filter-injectors aren't ground content

* devices aren't ground content

also some whitespace indentation fixes

* is_ground_content

* autocrafter isn't ground content

* tubes aren't ground content

* pane_embedded_tube isn't ground content

* embedded_tube isn't ground content

* routing tubes aren't ground content

* whitespace fix indentation
2024-02-26 18:44:40 -05:00
96dca7e540 Fix autocrafter crafting bug (#108) 2024-02-08 21:01:54 +11:00
c87522c526 export pipeworks.tptube.remove_tube (#105)
Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2024-01-28 16:08:24 -05:00
6d824a318a Tube repair fixes (#102)
* restart vacuum tube node timers after repair

* clear metadata value after repair
2024-01-14 10:10:24 +01:00
04df87a6c2 Delete .editorconfig 2024-01-14 14:29:55 +11:00
360ed9bdde Autocrafter groups support (#74)
* Add support for recipes with groups to autocrafter

* fix autocrafter replacements

* remove unnecessary check and move some code

* reorder and change back var name

* only whitespace changes

* reuse hash that is asigned to variable anyway

* add get_matching_craft

function that looks for the best matching recipe according to what user
put in recipe inventory

some crafts use groups in multiple recipes

* return right away if there is a chached craft

gives us more horizontal space to work with

* indentation adjusting

* use get_matching_craft to get best craft

this line was buggy anyhow

* new craft format: decremented_input

craft.decremented_input now only holds the items. Extra parameters are
dropped

* bugfix: when item has no groups

"" and unknown items have no def and thus no groups

* add function has_room_for_output

moving the output space calculation into its own function
helps keep autocraft() short and overseeable

* use has_room_for_output

* remove double-check of available materials

* add warning to ensure double-check was not needed

* rebuild cache whenever recipe inv changes

no need to check if still current, this only happens when user is
interacting and can only be better to do so.
Otherwise we would have to check groups etc. again just to check, so
might as well reset cache.

* remove unused line

* use minetest.get_item_group()

* whitespace cleanup

make code easier to read and give it a more
"thoughtthrough" look than the "smash it in to make it work" look it has
had.

(I'm holding back, there would be more to do overall through this mod)

* add .editorconfig

this should also help keep consistency throughout this mod

* changelog updated

at least the most recent more important ones

* whitespace changelog (trailing spaces)

---------

Co-authored-by: rubenwardy <rw@rubenwardy.com>
Co-authored-by: OgelGames <olliverdc28@gmail.com>
Co-authored-by: wsor4035 <24964441+wsor4035@users.noreply.github.com>
2024-01-13 20:41:28 -05:00
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
dd6950f7b0 bump min_minetest_version to 5.5.0 for vector.zero()
closes #100
2024-01-05 16:11:23 +11:00
5b0dceb44a add dummy implementations of all current API calls to fake player (#98)
* add dummy implementations of all current API calls to fake player

* fakeplayer: move all stateless API into a metatable

* correctly set metatable
2023-12-29 14:01:08 -05:00
7c74d0bdf3 replace global_exists with get_modpath
related: #97
2023-11-21 14:35:51 +11:00
dc77d1056c fix escaping of ; in teleport tube formspec
closes #93 #94
2023-11-16 14:02:10 +11:00
ab0713d9a5 Fix item duplication bug with broken tubes. (#92)
It was possible to drag items from broken sorting-/mese-tubes.
2023-11-11 23:06:43 +01:00
b6ae50be87 fix MCL craft, chest item id is "mcl_chests:chest" (#89) 2023-10-09 18:22:14 -04:00
e7cba4071b Fix crash if add_entity fails (#88) 2023-09-16 18:19:03 +02:00
d90c17edee MineClone smoker and blast furnace support (#85) 2023-09-06 15:33:41 +02:00
4f55610df5 fix MCL crafts (#86) 2023-09-06 12:01:35 +02:00
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
cb3e7757fc Mineclone dig times balanced (#84)
* mineclone dig times balanced

* fix pickaxey dupe
2023-09-01 15:00:50 +02:00
7f93e8aa0a MineClone formspec compat (#82)
* MineClone list backgrounds compat

* mineclone get inv func
2023-08-24 20:50:49 -04:00
ebe2331619 remove facedir debugging logs (#73)
Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2023-06-21 21:22:36 +02:00
2f97a367f3 Fix autocrafter destroying replacement items (#72) 2023-06-21 14:49:34 +10:00
9395013cde Support setting teleport tube can_receive by digilines (#68)
* allow setting can_receive flag by digilines

basically also allows sending tables to change
both or either the tp-channel and receive toggle

* apply suggestions

Co-authored-by: OgelGames <olliverdc28@gmail.com>

---------

Co-authored-by: OgelGames <olliverdc28@gmail.com>
2023-05-28 12:54:05 +10:00
2c880a3843 cache teleport tube logging setting
this gets checked every time an item is teleported
2023-05-19 14:17:04 +10:00
56bcc7dbb7 log when items teleport through tubes (#66)
* log when items teleport through tubes

* put teleport tube logging bethind a setting

* narrow scope of some variables
2023-05-18 19:49:12 +02:00
bd5a42356b Use sane default i3 inventory settings when missing (#57)
- i3.settings.hotbar_len and i3.settings.inv_size were removed
   in commit 75fddf7 because they are now per-player settings
 - This just uses sane defaults when the settings are not
   present to avoid a few nils and allow the game to continue
2023-01-26 15:44:41 -05:00
b0b675f715 Fix deprecated call to player:get_look_pitch()
Fixes #53
2023-01-09 13:51:49 +11:00
855937aec3 make all nodes diggable in mcl* survival mode 2022-12-02 15:54:21 -05:00
fc0d4990b0 make minor bugfixes to restore compat with mineclone2 2022-11-20 19:47:14 -05:00
5e9bfa049b Add digilines to teleport tube and refactor code (#49) 2022-11-11 23:20:28 +11:00
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
8c251800db Store teleport tube DB more compactly (#45) 2022-09-21 17:53:42 -04:00
b190d29d21 fix https://github.com/mt-mods/pipeworks/issues/44 2022-09-19 20:21:34 -04:00
e45eca76e1 check if machine is protected before trying to break/place a node (#43)
* check if target is protected before trying to break/place a node, so as not to trigger protection violations

* check whether the machine is protected, not the target
2022-09-17 19:03:55 -04:00
65cea1e33c check if target is protected before trying to break/place a node, so as not to trigger protection violations (#42) 2022-09-16 19:16:58 -04:00
b6c02ac8de typo fix 2022-08-16 00:30:42 +02:00
54243764e0 prevent tubes from connecting to the front of furnaces to match chests 2022-08-13 23:59:46 -04:00
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
SX
75894355d4 Use on_repair when repairing tube (#37)
* Use on_repair when repairing tube

* Use tube.on_repair

* Verify was_node registration
2022-06-23 18:06:01 +02:00
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