Time Nick Message 00:53 fluxionary re: `nodemeta:mark_as_private(...)`, am i understanding the documentation correctly, i need to re-set this every time i set a value for something which previously held the default? 00:53 fluxionary also, is there a way to use that to mark the inventory as private? 07:39 sfan5 as long as you don't set a meta variable to "" the key-value pair lives on and so does the private marking 17:06 fluxionary so yes, if i want to make things private, i have to check every time that the value wasn't empty before i set it. :\ 17:12 fluxionary or just set it as private after every write. i suppose that's simpler. 17:15 Desour you could also use modstorage instead of private meta, and remove at on_destruct 17:15 Desour I wonder how efficient that would be 17:49 fluxionary on another topic, is there a way to create an invisible formspec field so that i can pass a variable to receive_fields? 17:51 Desour yes 17:52 Desour you can make a field with a default value outside of the size[], and it will be clipped away 17:52 Desour s/"value"/"value," 17:52 Desour not the default value is outside 17:53 Desour (the pos is) 17:54 Desour I haven't seen any mod doing such abusive stuff yet. normally you just use the formname 18:02 fluxionary okay, that's the solution i came up w/ too 18:02 fluxionary hm. using the form-name might be a better solution for what i'm doing though. 18:04 Desour you can also store extra information in a lua table per player name or per formname 18:06 fluxionary yeah, i'm trying to avoid storing the extra info in a lua table because that seems ... hacky. i'd rather the bit of state i want to track to travel w/ the main message, not through a side channel 18:07 Desour holding state server-side for an open formspec isn't really hacky 18:08 Desour if you transport everything through the client, you can leak information, and it costs more network volume 18:24 independent56 can worldedit update blocks? 18:24 independent56 Like make gravel fall and make blinky plants flash? 20:45 sfan5 wat 20:56 erlehmann uh, is it possible to override a mod with a downloaded mod? 20:56 erlehmann i mean a mod in a game 20:56 erlehmann i.e. selectively patching kinda 21:13 kabou sfan5 I made a new proposal re: `on_metadata_inventory_*` issue https://github.com/minetest/minetest/issues/12098#issuecomment-1058038695 21:13 kabou its a bit less crude that what I initially proposed 21:14 kabou and suggest a more broad feature extension 21:14 sfan5 the concern isn't about mods being handed a 'nil' player 21:15 sfan5 the concern is about mods not expecting to have callbacks called for actions done via the API 21:16 kabou yeah, but how much of an issue is that in practice?   My proposal mitigates it to a large extent 21:17 kabou the use cases that I found keep their semantics intact when `player:get_player_name()` returns `""` 21:18 sfan5 how? imagine a mod that denies any actions (it doesn't even need to touch the player object) but uses add_item to manually put items into the inventory, it would instantly stop working 21:18 kabou I'll have to ask erlehmann to grep -R his copy of the content DB to check if that holds in general 21:19 kabou sfan5 I don't want to imagine a mod, I want to know if there are any actual mods that do stuff like that 21:19 sfan5 I don't think this example is far fetched 21:20 kabou then we can make a trade-off 21:20 erlehmann hey, my copy is outdated 21:20 erlehmann i think sfan5 is right to be conservative here 21:20 erlehmann hasn't some joker rewritten the entire inventory thing in lua? 21:21 erlehmann kabou better figure out how contentdb can us all allow to have code search 21:21 erlehmann because that would make so many discussions about regressions a bit easier tbh 21:22 kabou sfan5 besides it affects only inventories of nodes that define the `on_metadata_inventory_*` callbacks 21:23 sfan5 sure 21:27 kabou so the tradeoff is between tentative obscure mods and an interesting feature enhancement to the engine 21:27 kabou not just about the `on_metadata_inventory_*` callbacks 21:28 kabou but having a more generic approach to "acting objects", including not only players, but also the lua engine and lua entities 21:30 sfan5 you're aware that there's a fix for this that isn't a tradeoff, right? the callback calling behaviour can be made optional, then it won't surprise anyone who isn't expecting it 21:31 sfan5 or shouldn't at least, excluding 100% of potential error cases is not feasible 21:31 rubenwardy Not obscure mods, many many mods 21:35 kabou rubenwardy can you give me examples?  I only checked minetest_game and mineclones 21:35 erlehmann i think kabou has drunk the “let's disregard all mods that are not mine” kool-aid lol 21:36 erlehmann also i wonder, if this is supposedly so easy, why have people been using fake players 21:36 kabou erlehmann wrong, it's the "but the engine could be so much better" cool aid.  Tastes much better 21:36 erlehmann kabou have you researched the history of pipeworks 21:36 erlehmann you should really do 21:36 erlehmann if you have not 21:36 kabou people use fake players because that is how they work around the engine 21:36 erlehmann it will give you a lot of info about your hopper ideas too 21:36 erlehmann how feasible it is and so on 21:41 sfan5 again: breaking compatibility is not required to make this work 21:44 kabou but... breaking compatibility opens up the road to interesting engine enhancements 21:44 kabou it's a tradeoff 21:54 erlehmann kabou it's not a tradeoff