Time Nick Message 16:04 tango_ are bones good for anything after serving their intended purpose? 16:05 rubenwardy good for fertiliser 16:06 tango_ I assume in some mods, not in MTG, correct? 16:07 rubenwardy yeah 16:08 rubenwardy !mod [bonemeal 16:08 MinetestBot rubenwardy: Bonemeal [bonemeal] by TenPlus1 - https://forum.minetest.net/viewtopic.php?t=16446 - https://notabug.org/TenPlus1/bonemeal 16:10 tango_ thanks 17:49 MinetestBot mase: Dec-19 19:45 UTC For the digilines filters I think you can send an ItemStack in table form to get it to attempt to pick the specified item(s). Autocrafters have digilines support too - send a craft recipe as a table to set it, "off"/"on" to stop/start it, "single" to craft once (you can send this way faster than it would otherwise run...), "get_recipe" to check the current recipe. I don't think the sorting tubes 17:50 mase Hi! Do you have any idea, how I can implement a simple sleep of 1 second in my luacontroller-program? Everything I tried so far gave a timed out error. 18:00 sfan5 don't interrupts have a time delay? 18:20 mase Yes, they have. But how to wait for an interrupt, without timing out? 18:24 sfan5 you can't wait for an interrupt 18:25 sfan5 you need to structure your code so that the second part runs after the interrupt fires, not by waiting 18:49 mase I see. But that makes the code much more complicated. 18:53 celeron55 it also enables the code to do something else meanwhile 19:28 mazes_80 just for fun I tested minetest via the zink "opengl over vulkan" driver: the rendering is quite weird, but not to bad 19:28 mazes_80 at least it is totally playable 19:55 sfan5 cool 20:01 Krock next: direct3d9 in Wine using dxvk 20:43 mase Does the pipeworks digiline-filter-injector send a message when an item was successfully put out? 20:48 Hawk777 Pretty sure no. It only accepts digilines messages to operate it, no status reporting. 20:54 mase My problem is, that i use such an injector to request an item from a chest. But I have to know, if the item was put out successfully or not. At the moment I have a digiline detector tube behind the injector. But I have to wait for a moment, if the item runs through the detector or not. Therefor I must have a delay of about a second. Doing this with an interrupt timer ends up in an unreadable code. Any further suggestions? 20:54 Hawk777 Know what’s in the chest ahead of time? 20:55 Hawk777 Can’t say much without knowing the bigger context, really. 20:55 Hawk777 It would be nice if Luacontrollers could create coroutines and stash then in mem, but that would be quite clearly insane because it would make it impossible to save the world to disk (you can’t serialize coroutines). 20:55 Hawk777 Also probably a lot of other reasons. 20:56 Hawk777 So write your code as a state machine. It’s what everyone did in all languages before everyone started adding async/await everywhere. 20:56 Hawk777 And no, it’s not the most beautiful thing in the world. 20:59 mase No, I don't know, what is in the chest. For example, I request 10 pcs of steel from a chest. When those 10 pcs are present, they run through the detector a second later. So I have to check the event of the detector a second later, until my code continues. 21:02 mase I want to iterate through all the chests until I get my requested items. 21:06 VanessaE I believe there's a tube that'll sense when an item passes through it, so if you call for a specific item and it has to pass through one of those, then shouldn't that work? 21:09 mase I use such a tube. But it takes about a second until the item passes that tube. I want to wait for a second and check the event of the detector-tube. If there was no detection I want to check the next chest, and so on. 21:11 erlehmann rubenwardy, how to get this mod into the mod directory? https://github.com/Li0nsDickachu/minetest-mod-mntreform 21:11 erlehmann rubenwardy it was made by a friend of mine who read your book! 21:11 rubenwardy is that you? 21:11 rubenwardy oh right 21:11 rubenwardy well, the website is https://content.minetest.net 21:11 sfan5 to CDB? just upload it there 21:12 erlehmann rubenwardy, it is not me 21:12 erlehmann rubenwardy a friend made it. so how can it show up in game? 21:12 erlehmann rubenwardy do you need to manually approve it? 21:12 rubenwardy it needs to be added to that website 21:12 erlehmann yeah who can do that? 21:12 erlehmann how 21:13 rubenwardy anyone can sign up for an account to add packages. If he doesn't want to do it, I can create the package and let you edit it as needed 21:14 VanessaE mase: if the whole point is counting items going through from A to B, then just count them, don't just sit there polling for the desired result. rather, check periodically if the count is over some threshold, then turn off whatever routine is periodically operating the injector, and just make sure the recipient can handle a few seconds' worth of excess 21:15 rubenwardy ContentDB has a database with mod metadata, which is makes available to the Minetest client. Mods go through an approval process before being visible, these is to ensure that the meta is correct rather than enforce curation 21:16 VanessaE i.e. if you want 10 of something before considering B's "buffer" to be "full", then count separately, shut off the injector routine when the count exceeds 10, and make sure B can handle say 15 of the item. 21:17 VanessaE or re-think the whole idea - ask yourself why you have to pause after running up a buffer of 10 or whatever 21:18 VanessaE for example maybe the recipient can become recipient*s* 21:18 VanessaE one chest+injector feeding a furnace is too much? feed two furnaces then. 21:18 VanessaE that kind of thing. go parallel :) 21:23 Hawk777 mase: An alternative idea, you could request 10 pieces of steel from *all the chests at once*, arrange your pipe network to bring them together into one pipe, and then have a Lua sorting tube that passes the first ten steel and sends any others back to be returned to storage. 21:24 Hawk777 If you definitely need exactly the right amount, and also don’t want to wait to check whether it was present in the first chest before requesting from the second, and also can’t keep a record of what lives where. 21:24 VanessaE that ^ works too provided you can be 100% sure all chests will always have something to injecyt 21:24 VanessaE -y 21:24 VanessaE otherwise you'll occasionally get less than 10 21:26 Hawk777 Yes, there is the possibility that you might not get the number you want, and I think the Lua tube can’t split stacks. One workaround would be to inject one piece ten times with a slight delay (might still be faster than waiting for the detector to work), and then you can pass ten stacks of one each before sending the rest back. 21:27 Hawk777 But there is exact match mode which IIRC doesn’t send the stack at all if there isn’t enough, doesn’t it? 21:27 mase If the requested amount is not available, I want the maximum possible. 21:27 Hawk777 Ah, but if you have seven in chest A and seven in chest B, you probably want ten, not zero or fourteen, right? 21:27 mase Exactly. 21:28 Hawk777 Hence you *must* split a stack sometime. 21:29 Hawk777 I suppose you could work iteratively. First request ten from all chests, non-exmatch. Seven will come out of each. The first seven passes through, the next seven gets sent back to storage because it’s too many. Once you’re confident no more is going to reach the lua tube (i.e. that all chests’ stacks have had time to reach that point), you start over but now request three instead of ten. Repeat until you have all you want, o 21:29 Hawk777 hing shows up. 21:30 Hawk777 It would depend on your typical quantities and the length of your tube segments whether that’s faster, or whether it’s faster to just split the stacks into ones right from the start (i.e. request stack-of-one ten times instead of stack-of-ten). 21:30 mase If I request less than available in one chest, I get nothing. 21:31 Hawk777 AFAICT that should not happen if you’re not in exact match mode. 21:31 Hawk777 Er, sorry, if you request more. If you request less than available, it should split the stack and spit out what you requested. 21:31 erlehmann rubenwardy, what does this mean? “If you have a forum account, you'll need to prove that you own it to get an account on ContentDB.” 21:31 mase Ah! Now I got what ex match means. 21:31 rubenwardy ContentDB accounts are linked to forum accounts, optionally 21:31 Hawk777 If you request *more* than available, exmatch=1 means you get nothing, exmatch=0 means you get whatever is available. 21:32 erlehmann rubenwardy, thx 21:32 rubenwardy you can create CDB account and I can link it to the forum account at a later point, it's just less effort to link it from the beginning 21:32 Hawk777 But always only from one stack in the chest’s inventory, I believe—I don’t think the injector will ever pull from more than one inventory slot in a single request. 21:32 rubenwardy I should write this 21:34 mase Then your solution requesting from all chests into one and send back the overplus could work. 21:49 tango_ hm is swimming upwards faster than climbing ladders? 21:53 erlehmann rubenwardy, yes this explanation is more clear. you should write this! 21:54 rubenwardy "If you have a forum account, you'll need to use prove that you have access to it using one of the options below. 21:54 rubenwardy This is because ContentDB links accounts to the forums, and reserves the usernames of certain forum users from being taken." 22:01 erlehmann rubenwardy, certain forum users? 22:04 rubenwardy forum users with mod topics 22:06 rubenwardy I suppose "This is so ContentDB can link your account to your forum account" would be simpler and less confusing 22:07 rubenwardy Also, erlehmann, I just got a notification that Li0nsDichachu's email bounced 22:07 rubenwardy ie: it wasn't able to be sent to confirm the email 22:08 rubenwardy The error message indicates the either the email address doesn't exist, or the inbox is full 22:27 erlehmann rubenwardy there was a typo! 22:27 erlehmann rubenwardy thank you i told them 22:27 rubenwardy I can edit the email and username if needed 22:28 rubenwardy should it be k instead of h, like in his username? 22:29 rubenwardy lol, they registered another account 22:30 rubenwardy I'll delete the old one 22:45 erlehmann rubenwardy, to quote my friend “how was i supposed to delete it if i never got the mail?” 22:45 erlehmann rubenwardy here is Li0n 22:45 Li0n Hi 22:45 erlehmann with questions for you! 22:46 Li0n Thanks erlehmann 22:46 rubenwardy hey 22:46 Li0n rubenwardy, I was wodnering if my mod is even allowed to be uploaded, since it seems to break rule number 5 22:47 Li0n Have you seen the mod or should I explain why I'm not sure? 22:47 rubenwardy just checking it 22:49 rubenwardy looks like the mod is about a real laptop. Rule 5 is to prevent patreon/paypal/whatever spam that I saw in the early days of ContentDB, it's not to prevent mods from doing stuff like this really. I'll see what other staff members think, but it's probably fine 22:50 erlehmann rubenwardy it is the laptop that mntmn is developing 22:50 erlehmann i actually have a prototype 22:50 Li0n Ok then I'll upload it and if the others disagree you can just delete it 22:51 erlehmann i think the mod is very good btw 22:51 erlehmann but i am a bit biased :D 22:51 erlehmann bc i like Li0n and mntmn 22:51 Li0n Also when you interact with the laptop it plays ads for the laptop 22:51 Li0n I thought that was very funny 22:51 erlehmann well it only plays the soundbite from the ad 22:51 erlehmann and it is actually very funny i think 22:52 erlehmann the laptop playing an ad for the web page is funny in the same way that you buy a fridge on amazon and then it suggests you a lot of other fridges ppl bought it 22:55 Li0n It's more like if you bought a smartfridge and every time you open the fridge it plays an ad for itself 23:06 mase One last question about the luacontroller. How can I declare a global variable? When declaring and initializing at te beginning of the code, the program loop always overwrites it with the initial value. I did this with mem.var. Is that the solution to choose?