Time Nick Message 00:07 GreenDimond Problem solved 00:08 Redsprites Hello? 00:08 GreenDimond Greetings. 00:08 Redsprites OH COOL! 00:08 Redsprites Someone else is online! 00:08 Redsprites HI~ 00:08 GreenDimond There are 170 people online.. 00:08 GreenDimond look at the userlist 00:09 GreenDimond 169* (2 bots, and someone just joined) 00:09 Redsprites woah, I thought that was a long list of "slang" words and codes. 00:09 Redsprites Sorry, I'm an air head. 00:09 GreenDimond haha 00:09 GreenDimond Best thing I have heard all day 00:10 Redsprites Heck, I should've known better, I just saw your name on the list~ 00:10 GreenDimond Yours is on there too ;) 00:10 GreenDimond (it is in alphabetical order.. if you didn't know) 00:11 Redsprites woah woah woah 00:11 Redsprites I'm not that slow 00:11 GreenDimond Of course, light-gray names usually mean they are afk or something 00:11 GreenDimond haha 00:11 Redsprites ah~ 00:11 Redsprites well this is nice. 00:11 GreenDimond Indeed 00:12 Redsprites Glad to see that god plays Minetest!?! 00:12 GreenDimond Huh? 00:13 Redsprites XD someone's put their username as god! 00:13 GreenDimond *doesnt see any "god"..* 00:14 GreenDimond oh 00:14 GreenDimond I see it now 00:14 Redsprites ??? No pun intended but, "_god_" is above all. 00:14 ShadowBot Redsprites: Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command). 00:14 GreenDimond hahaha 00:14 GreenDimond shut up shadowbot :P 00:14 Redsprites Oh I was wondering if I could only see that. 00:15 Redsprites Shadowbot needs to be more "in the shadow's". 00:16 Redsprites Well now. 00:16 Redsprites Is anyone building things for the sake of fun, I wanna join in. 00:21 Redsprites Wait what? 00:22 Redsprites GREENDIMOND NO! 00:22 Redsprites Crap... 00:22 Redsprites well I'm out! 00:22 Redsprites I'll check up on this place tomorrow. 00:23 Redsprites Happy mining~ 00:23 YellowberryHN Hello everyone. 00:23 YellowberryHN This is my official return 00:23 YellowberryHN How much of a return is still in debate, but I'm back 00:27 wilkgr Why doesn't minetest.colorize accept a table for the colour, like set_nametag_attributes does? 01:07 YellowberryHN is there a way to make sure a setting is set in minetest.conf? 01:14 Calinou YellowberryHN: you can set a default value using something like `my_value = minetest.setting_get("whatever") or 20` 01:14 Calinou (note, the function call might be wrong, I didn't take a look at the recent API) 01:14 YellowberryHN can you set settings? 01:18 jas_ https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L4027 01:18 jas_ here, you have set, get, and a myriad of other methods. 01:33 YellowberryHN thanks jas_ 02:02 jas_ my pleasure. 04:16 wilkgr Finally got my internet to work again *sighs 07:11 hisforever is there a way to add lakes to a flat world? 07:49 hisforever HI Can I put a lake in a flat world? 10:24 paramat ~tell hisforever in mgflat you can't have 1 lake but you can have occasional scattered lakes. see https://github.com/minetest/minetest/blob/28841961ba91b943b7478704181604fa3e24e81e/minetest.conf.example#L2371 add 'mgflat_spflags = lakes,nohills' to minetest.conf before starting a new world. there are also parameters for adjusting the rarity, size and depth of lakes 10:24 ShadowBot paramat: O.K. 10:25 paramat ~tell hisforever i'm not sure if you meant to leave 2 mins after asking your question, but try to stay in channel for an hour or so to give someone time to see the question and answer :] 10:25 ShadowBot paramat: O.K. 10:50 wilkgr Is there a builtin function for converting the colour tables used by set_nametag_attributes to the hex notation used by colorize? 10:50 wilkgr It's easy enough to implement, but I'd rather use an inbuilt function :) 11:09 deltasquared VanessaE: oh, that would be trivial to do in the existing direction code, and it would also work in the network mode as I plan to re-use that system 11:44 mstram 'mornin from Toronto .. is there a known problem with the print() function for the mesecons luacontroller on Windows ? I'm not getting any output in (debug.txt ??) or the chat console 11:45 sfan5 nope should work 11:46 deltasquared I have occassionally noticed print() playing up in a bunch of places but I never could seem to reproduce it, so I had assumed I had made a mistake somewhere. 11:46 sfan5 the output will go to the console window by default (which is not present on windows) 11:46 mstram 'mornin from Toronto .. is there a known problem with the print() function for the mesecons luacontroller on Windows ? I'm not getting any output in (debug.txt ??) or the chat console 11:46 deltasquared "bunch of places" being both luacontrollers as well as mod init time 11:46 deltasquared mstram: you typed that twice :P 11:46 mstram sry ..mirc operator error ;) 11:46 deltasquared mstram: oh yeah, print() in a luacontroller does not print to the user's console 11:46 deltasquared it would be cool to but I know of no such mechanism 11:47 * deltasquared has an idea for a digilines device which you can right-click to recieve messages sent to it 11:47 mstram @sfan5 I ASSumed the "console" window referred to a CMD prompt ? ... no ? 11:47 sfan5 yes 11:48 mstram yes what? 11:49 deltasquared just yes, print() should appear in the console output if you started MT that way 11:49 deltasquared (I don't know if MT always opens a console on windows, I haven't used it there) 11:51 mstram well according to the code in luacontroller print() actually calls dump() ... where is dump() ? is it an "internal function" inside minetest.exe ? ... or somewhere else that I can "hook/debug" ? 11:52 deltasquared mstram: not sure, but dump() returns a string representation of the object you pass it 11:52 deltasquared so it'll print a pretty view of a table's values for instance 11:52 deltasquared I use it a lot from luacmd. 11:53 mstram dsq are you running on 'doze or 'nix ? 11:53 * deltasquared throws a penguin at mstram 11:54 deltasquared GAHNEEEW SLASH LEEENUUCCKS 11:54 deltasquared ahem. 11:57 mstram well that might be the problem. I only found one other hit on google for the same problem for someone else running 'doze. I updated my forum post to add that I'm running Win7, asking if anyone else https://forum.minetest.net/viewtopic.php?f=6&t=18745&p=298711#p298711 12:00 mstram where does dump output on 'nix? 12:02 deltasquared mstram: dump is not an output 12:02 deltasquared print() is 12:02 deltasquared dump() returns a string. it's usually print(dump(x)) where x is whatever you want to see 12:08 mstram well /lua print(dump(foo)) is working fine .. it's the *luacontroller* block where it's not working 12:18 mstram is the "/" (chat) command in the minetest_game lua src (mods) ?... maybe I can see if luacontroller (print()) can use code from there 13:21 mstram found how to get luacontroller print() to send to the chat window ... I changed mods\luacontroller\init.lua : safe_print from 'print(dump(param))' to minetest.chat_send_all(dump(param)) ... I guess I could leave the current *print* alone and add a new function instead ... will try that next ... **fix for non working #print()# (luacontroller) on Windows (7) 15:07 GreenDimond How would I make a command detect all of a certain node in a world and put stuff in their inventories? 15:11 twoelk sounds like a mining cheat :-D 15:11 twoelk all your nyancats are belonging to us 15:12 GreenDimond huh? 15:12 Billre are belong* ;D 15:12 GreenDimond I am saying the nodes themselves have inventoreis 15:12 GreenDimond and the nodes will be filled with stuff 15:12 Billre There's mods for that 15:12 Billre for certain chests 15:12 GreenDimond Oh? 15:13 Billre or are you talking about filling up machine inventories? 15:13 GreenDimond I am saying, for instance, a command will detect all chests of a certain type, and fill the chests with stuff. 15:14 GreenDimond I used "node" because they arent chests, but that is essentially the function. 15:14 GreenDimond If there is a mod that has that function, would be nice to know. 15:15 GreenDimond (so now, twoelk, not a mining cheat :P) 15:15 GreenDimond no* 15:15 GreenDimond I swear I can type 15:18 Billre I was on a server once where I found chests that had diamonds, gold and other things ... they were placed by the server. But once I took the items out, the chest was empty 15:18 Billre I don't think that's what you're looking for 15:18 GreenDimond yeah no 15:18 GreenDimond There is CTF stuff, but that fills the chest after_place_node 15:19 GreenDimond I want it to fill with a command 15:19 Billre That's what I was going to suggest . .that if it's a subgame do that 15:19 GreenDimond it's a mod, and that function works, but its not what I want. 15:20 GreenDimond I want to be able to type something like /fillchests and it fills all chests detected in the world 15:22 Billre I think the problem there would be map generation 15:22 GreenDimond how so? 15:23 GreenDimond the chests are placed by players 15:23 GreenDimond and then someone runs the command 15:23 GreenDimond and boom 15:23 GreenDimond chests filled 15:23 twoelk this will only work on loaded chunks though - or at loading 15:24 GreenDimond why? 15:24 GreenDimond oh 15:24 twoelk if you use chests that is 15:24 Billre Might want to look into the mod that replaces nodes when players get close 15:24 GreenDimond well they arent chests 15:24 GreenDimond uhg 15:24 GreenDimond thats not the function I want Billre 15:25 GreenDimond twoelk: Filling on server-restart would be nice, as long as it could be enabled/disabled by command. 15:25 twoelk ah, the apple-a-day thingie maybe 15:25 GreenDimond In fact, I prefer that it fills after restart. 15:26 GreenDimond But I dont know how to do that xD 15:27 twoelk maybe on join? 15:27 GreenDimond I dont want on_join 15:27 GreenDimond Arg 15:27 GreenDimond Are you listening? 15:27 GreenDimond All the node inventories/metas/whateveryouwanttocallit need to be filled up all at once, either after a restart or with a cmd. 15:28 rubenwardy GreenDimond, CTF works with the mapgen. TSM 15:28 rubenwardy doesn't help you though 15:28 GreenDimond I know 15:28 GreenDimond CTF fills the inventories when the chests spawn 15:28 rubenwardy minetest.find_nodes_in_range then minetest.get_inventory({type="node", position={}}) 15:29 GreenDimond how large is the find_nodes_in_range? 15:30 rubenwardy large? 15:30 lumberJ GreenDimond, if refilling them on a restart is fine, why not an lbm? they won't be refilled all at once but they will be refilled as soon as the chunck that has the given node is loaded? 15:31 GreenDimond they need to fill all at once 15:31 GreenDimond rubenwardy: will the find_nodes_in_range find all the nodes in the world? 15:32 GreenDimond looking at the api, it would be `minetest.find_nodes_in_area({-30000,-30000, -30000}, {30000, 30000, 30000}, "mynode:mymod")` 15:33 Fuchs a wild rubenwardy appears 15:33 rubenwardy no, it doesn't load map blocks 15:33 rubenwardy Fuchs :D 15:33 Fuchs Hi :) 15:33 Calinou hi 15:33 Fuchs got home safe, then. Great :) 15:33 rubenwardy it's a lot closer for me aha. How was your journey? 15:33 GreenDimond So is there any way at all to detect all of a certain node on server restart? 15:34 GreenDimond or no? 15:34 rubenwardy you could use an LBM. It's an ABM that runs once on a mapblock load 15:34 twoelk define all 15:34 rubenwardy good for migrations 15:34 Fuchs rubenwardy: safe, minor turbulences before landing 15:35 GreenDimond rubenwardy: The part I am not getting is "on mapblock load". Doesnt that mean it wont activate til someone walks over there? 15:35 twoelk all in all of a map that has not been generated yet? 15:35 rubenwardy correct 15:35 GreenDimond and mapblocks are unloaded on restart, correct? 15:36 GreenDimond twoelk: The only places this node would be is in generated areas, because how else would players place them? :P 15:38 rubenwardy Fuchs, well good you got back okay 15:38 twoelk yes but you seem to want to preload the whole allready generated map into memory to address certain nodes 15:38 rubenwardy Thanks very much for the chocolate, it's very nice :) 15:38 Fuchs you're welcome, glad you were able to come :) 15:38 GreenDimond twoelk: What I want is to fill all the nodes at once. Somehow detect all of that node that has been placed, and fill it. 15:39 twoelk rubenwardy: seems to have been an interesting event 15:39 GreenDimond (preferably in the most performance-efficient way possible) 15:39 twoelk action is taken only for what is currently in memory 15:39 GreenDimond hmmmm 15:39 GreenDimond I suppose, 15:39 Hijiri why does it need to be immediate? 15:40 Hijiri If you really wanted to you could keep a list of all of that node and use it to load the nodes 15:40 GreenDimond I suppose it doesn't need to be immediate, because if an LBM is active when a player loads the chunk, it wouldn't matter when it was filled, because once they come near, it's as if it was already filled, right? 15:40 Hijiri yeah 15:41 twoelk hmm add nodes to a list when they are generated, moddify list on command, make nodes lookup list on load 15:41 GreenDimond OK, so I have 2 options. 15:41 GreenDimond I feel like the LBM may be a better option 15:42 GreenDimond what say y'all though? 15:42 Hijiri I would say LBM is better 15:42 lumberJ that is essentially what an LBM is for 15:42 Hijiri if you keep a list you could get inconsistencies between the list and the map, if there are bugs or bad shutdowns of the server 15:42 lumberJ even if you could do it all at once, it would not be performance efficient 15:43 GreenDimond Alright 15:43 GreenDimond So now I get to figure out how to make an LBM do its job, and only activate when a command is run, 15:43 twoelk sokomine's teleporters might be a model with their destination updating function for the list variant 15:44 GreenDimond although I run into another problem 15:45 GreenDimond I only want it to work on nodes existing when the command is run 15:45 GreenDimond if any other nodes are placed after it, I dont want them to be filled. 15:45 GreenDimond unfortunately, an LBM will keep running 15:46 GreenDimond ok new idea 15:46 lumberJ LBM runs once, when the map chunk is loaded 15:46 GreenDimond yes.. but.. hmmmm 15:47 GreenDimond no that still has a problem 15:47 GreenDimond but I wont go into that 15:47 GreenDimond I think I have an easier way anyway 15:48 GreenDimond I know that homedecor has a calender that somehow detects the date - I think it updates on restart, right? 15:49 GreenDimond Nevermind, it only updates manually. 15:50 GreenDimond wait 15:51 GreenDimond hmmm nevermind 15:51 GreenDimond there really is no easy way to do this, is there. 15:51 lumberJ honestly its not completely clear what exactly you are trying to accomplish :P 15:51 lumberJ you want them to refill on restart or on command? 15:52 lumberJ when do you not want them to refill? 15:52 GreenDimond either way 15:52 GreenDimond either way works for me 15:52 GreenDimond as long as all of that certain node gets filled 15:52 lumberJ well the lbm will work with restart, but every restart it will run again 15:52 lumberJ everytime that block is reloaded 15:52 GreenDimond that can be fixed by setting a cmd to enable/disable the LBM 15:53 lumberJ well, maybe it could just check for the items and if they are still there, it wouldn't duplicate filling it, if that is what you are trying to prevent 15:54 GreenDimond but the problem is, say a chunck that has the node isnt loaded while the LBM is active, so when it finally gets loaded, the LBM is already disabled because we dont want it to keep filling the chests. 15:54 twoelk an LBM with expire date? bestbefor :-P 15:54 lumberJ well it won't keep filling the chests. it will only fill them once after a restart 15:54 GreenDimond I know 15:54 GreenDimond it keeps filling them after restarts 15:54 GreenDimond I dont want that 15:55 lumberJ and if you restart again, then just have it check if the chest has x number of items and don't let it refill 15:55 GreenDimond but I dont want it to refill even if the player has emptied it 15:55 GreenDimond it would be soooo much easier to tell you what I am making, but I would like it to stay secret for now >~< 15:56 twoelk I guess this works best with an external list that keeps track of who got howmany goodies when 15:56 twoelk sounds like you need santa's list -P 15:57 GreenDimond Wait... 15:57 lumberJ so GreenDimond, you only want it to happen once? 15:58 GreenDimond I could use that idea lumberJ but a bit different. Define the node to have a have_filled attribute set to false, and when the LBM comes along, check if its true, if not, fill it and set it to true. 15:58 GreenDimond That way, when the LBM comes by again, it knows that certain chests have already been filled 15:59 twoelk and control the LBM via config file? 15:59 GreenDimond Why would I need to control it? 15:59 lumberJ if this is a onetime deal 'run_at_every_load=false' will be simplest 15:59 lumberJ like christmas morning it runs and then it won't refill them 16:00 GreenDimond Hey congrats lumberJ you figured out what I am doing xD 16:00 twoelk else it keeps on going for ever and ever after - also you might want to use it at different times with different content 16:00 GreenDimond But again, the problem is, what if the player isnt on that day, so it never gets filled because the chunk never gets activated. 16:00 GreenDimond which means if it doesnt run next restart, it never gets filled. 16:00 lumberJ sure, just leave the lbm active 16:01 twoelk could be a nice tool for teachers that have kids build a project in minetest 16:01 lumberJ if it is set to run_at_every_load = false ... 16:01 lumberJ it will only ever refill the 'chest' or whatever once 16:01 GreenDimond oh, run_at_every_load means every chunk load, not server load xD 16:03 twoelk couldn't some achievement mod be canibalized for this? 16:03 lumberJ right, so if the player comes and loads their mapchunk later on, or places a node it shouldn't refill 16:04 lumberJ just the first time its loaded and the node is found already there 16:04 GreenDimond alright, so now I have to figure out how to set an LBM xD 16:04 lumberJ if you set it to true it will refill it at every restart 16:05 GreenDimond and that is set inside the LBM right? 16:07 lumberJ yep, see the example in the dev wiki 16:07 lumberJ just add that field inside where you register the lbm 16:09 lumberJ and your function will search for the node and replace it with a node with filled inventory 16:10 lumberJ the default is probably false anyway for the run_at_every_load 16:11 GreenDimond https://gist.github.com/GreenXenith/be409cc9ff13dc9a6daa05e3ef9ec2fd 16:11 GreenDimond that look right? 16:12 GreenDimond (lumberJ) 16:15 GreenDimond also, I have to set something to activate it, right? or will it start on its own? 16:16 GreenDimond oh, I still need the has_filled check 16:17 lumberJ it will run automatically. i think you need to assign you 'inv' variable to the actual inventory associated with 'mynode' 16:17 lumberJ in other words get the inventory from the node before you try to stuff it 16:22 GreenDimond Alrightm updated gist https://gist.github.com/GreenXenith/be409cc9ff13dc9a6daa05e3ef9ec2fd (I wont bother changing names - dont care if you know what I am doing xD) 16:22 GreenDimond lumberJ^ 16:22 lumberJ ok, give me a sec. afk 16:27 twoelk can the inventory be filled by players? do you have to check if there is room? 16:29 GreenDimond twoelk: No, they cannot be filled by players. 16:29 twoelk would the inventories belonging to for example banned players be filled? 16:29 asl97 GreenDimond: you should look into table and scope, the has_filled in your after place is local and is gone after running the function, the has_filled in the lbm is an empty table and you made a typo with the comparing, it will always be false. you should also use actual bool rather than string. 16:30 GreenDimond asl97: `has_filled = {}` is outside after_place_node 16:32 GreenDimond asl97: should I change it to just `has_filled = bla` without the `local` inside after_place and the lbm? 16:34 asl97 even if you did that, it would only fill one stockings since you have set it to true and the next stocking wouldn't get filled 16:35 GreenDimond ah 16:35 GreenDimond because it is changing the global variable 16:35 GreenDimond so I need to define the table inside the after_place? 16:35 GreenDimond so that each node has it's own has_filled? 16:36 asl97 the place where the table is define is fine, you need to actually use the table in after_place and in the lbm 16:36 GreenDimond How would I do that? 16:38 asl97 `has_filled[unique_id_per_stocking] = bla`, read more about table usage at https://www.lua.org/pil/2.5.html 16:38 asl97 the unique key can be the pos hash, there should be some kind of function in the minetest lua api. 16:39 asl97 although, something like this (the table) wouldn't persist through a reboot 16:39 GreenDimond oh 16:39 GreenDimond well then that's no good 16:39 GreenDimond I need to use a variable, dont I. 16:40 asl97 you can use the node meta 16:40 GreenDimond how? 16:43 asl97 something like meta = minetest.get_meta(pos); meta:set_int("filled", 1), see http://dev.minetest.net/NodeMetaRef 16:44 asl97 there isn't a set_bool afaik, set_int is probably the next best thing 16:45 GreenDimond alright 16:45 GreenDimond so by nodedef, meta:set_int("filled", 0), and the lbm will check for 0, and change it to meta:set_int("filled", 1). 16:47 asl97 there is also the mod metadata storage if you don't want to put it into the node metadata but i haven't look much into that 16:47 GreenDimond in the LBM, it would check with `if meta:get_int("filled") = 0 then` right? 16:48 rubenwardy the mod storage is the exact same API 16:48 asl97 if meta:get_int("filled") == 0 then 16:48 rubenwardy get_string, get_int, and so 16:48 GreenDimond ah, ==. 16:48 asl97 two '=' 16:49 rubenwardy one day player attributes and settings will use the same metadata API as nodes, stacks, and mods :/ 16:50 asl97 rubenwardy: the different is that node metadata handle the per node stuff while you have to handle that yourself if you use the mod metadata storage. 16:51 GreenDimond Updated https://gist.github.com/GreenXenith/be409cc9ff13dc9a6daa05e3ef9ec2fd . Also, attempted to make a command to enable the LBM when wanted - dont know if it is correct. 16:52 asl97 GreenDimond: the lbm will never get register 16:53 GreenDimond why not? (yeah, probably a n00b error). 16:54 asl97 the mod file are run just once, even if you change the variable, it doesn't rerun the file, not to mention, i don't think minetest allow registering anything after the server started. 16:55 GreenDimond so how would I make a command to enable/disable the LBM? 16:55 twoelk how does the set command work? 16:55 asl97 also, you have local on enable_stocking_lbm, it's gone after it been run >.> 16:56 GreenDimond I has problems with local >.< 16:57 GreenDimond twoelk: afaik, it sets stuff in the minetest.conf to whatever you set it to. 16:59 GreenDimond asl97: So how would I make a command to disable/enable the LBM, because this mod will be enabled long before I want the LBM to be enabled. 17:00 asl97 you can't, afaik 17:01 GreenDimond So I can just comment it out for now and uncomment it before the restart I want it to start working on? 17:02 twoelk check for server date or maybe check if the xmas tree at spawn is lit or norad has detected a fast unknown flying object? 17:04 asl97 GreenDimond: couldn't you use on right click and show formspec? 17:04 GreenDimond huh? 17:07 asl97 on right click, you check for condition and stuff, fill it if it met condition, then show the formspec 17:10 GreenDimond hey, that's an idea. 17:10 GreenDimond :| 17:10 GreenDimond why didn't I think of that before 17:11 GreenDimond I wouldn't even need an LBM 17:11 GreenDimond right? 17:11 GreenDimond could I make it check it's own meta int? 17:11 GreenDimond or wait 17:12 GreenDimond no I wouldnt even need the int 17:12 GreenDimond :o 17:44 GreenDimond n00b question: how do I set a variable properly? 17:45 GreenDimond obviously `local foo = true` isnt correct, do I just leave off the `local`? 17:45 rubenwardy yes 17:45 rubenwardy local is only used for declarations 17:46 rubenwardy If lua was a sane language, it would require you to use a keyword to make a global variable 17:46 rubenwardy like global foo 17:46 rubenwardy but it doesn't 17:47 rubenwardy so an assignment will make a global if no local of that name exists 17:47 GreenDimond alright, so if I were to have a cmd change `foo`, I would define a function that just has `foo = true` and then inside the chatcommand `func = function(name, param) function.name()` 17:48 rubenwardy Only make global variables if they have the same name as you mod, and they are an API table 17:48 rubenwardy I'm not sure what function.name() is 17:48 rubenwardy or where foo is defined 17:48 GreenDimond just the function name 17:48 rubenwardy ah, just some random function 17:48 GreenDimond lemme make a gist 17:48 rubenwardy should work then, all though I hope foo isn't global 17:51 GreenDimond rubenwardy: https://gist.github.com/GreenXenith/3b995de1a346a2d1324d161211a0f728 17:51 GreenDimond I have a feeling I did it wrong :P 17:52 rubenwardy you probably want something like this: https://gist.github.com/rubenwardy/7ead7cb2ecd71abf2159f2b2ab04d4aa 17:52 rubenwardy make sure your mod is called "stockings" 17:52 GreenDimond it's not, but that is the file it is in 17:52 GreenDimond stocking.lua 17:53 GreenDimond and I have a stocking = {} 17:53 GreenDimond though I didnt put it in the gist 17:53 rubenwardy the only globals you make should be the name of the mod 17:54 GreenDimond here is the entire file that is in https://gist.github.com/GreenXenith/d0cedb7292ca92d57bbde6209ecf0afd 17:54 rubenwardy can do modname.stockings.fill_stocking() though 17:55 GreenDimond and so far it has worked 17:55 rubenwardy you can have local in a file, like a function 17:55 rubenwardy it will work if you have other globals, but is very much bad practice 17:55 GreenDimond so would I add `local` in front of each of the 4 tables at the top? 17:56 rubenwardy yeah 17:56 rubenwardy that would make it only accessible in the file 17:57 GreenDimond oh, btw this function is for enabling the stockings filling on access 17:57 GreenDimond not whether they are filled or not 17:57 GreenDimond but I suppose that doesnt matter atm 18:10 GreenDimond rubenwardy: Updated https://gist.github.com/GreenXenith/d0cedb7292ca92d57bbde6209ecf0afd , note lines 117-124 (checks for can_fill, I hope I did that right?) and 160-171 (fixed variable function). 18:20 GreenDimond is that stuff correct rubenwardy? 18:21 rubenwardy yeah, looks ok 18:21 rubenwardy err 18:21 rubenwardy stocking.can_fill = false 18:21 rubenwardy not local stocking.can_fill 18:21 GreenDimond oh 18:21 GreenDimond do I still need the local? 18:22 GreenDimond or no `local` and just `stocking.can_fill = false`? 18:25 GreenDimond rubenwardy do I still need the `local`? 18:37 GreenDimond he must be afk 18:46 GreenDimond rubenwardy: So apparently, MT doesn't like the `.` in the 2 table names on line 3 and 4.. but only because I added `local` 18:46 GreenDimond no idea why? 18:55 Dargod How can I remove the disappearance of placed blocks? 18:56 Dargod I already trued set full_block_send_enable_min_time_from_building = 4 19:03 GreenDimond rubenwardy: I have it working mostly now I think. the 2 tables with `.` in the name had to have the `local` taken off. 19:03 GreenDimond A new question 19:04 GreenDimond is closing a singleplayer world and opening it again the same as restarting a multiplayer server? 19:06 deltasquared GreenDimond: for the most part, yes. certainly from the point of view of the mods that's what happens 19:07 GreenDimond darn. That means that using a command to set a variable to another thing wont work, because it resets when you restart. 19:07 deltasquared GreenDimond: what variable would this be? 19:07 GreenDimond just a variable I made 19:08 GreenDimond changeable with a command 19:11 deltasquared GreenDimond: you could always have a per-world config file 19:11 GreenDimond Yes, I thought about that. 19:47 swift110 is the recent minetest event on youtube yet? 19:49 deltasquared !mod ambience 19:49 MinetestBot deltasquared: Immersive Sounds [ambience] by Neuromancer - https://forum.minetest.net/viewtopic.php?t=2807 19:49 deltasquared hmm, no, that's not quite what I had in mind 19:57 Shara swift110: if you mean freenode #live, it was a freenode event, not a minetest event. 19:57 Shara There's not really anything Minetest related to put on youtube from it. 19:59 Fuchs Hai Shara! 19:59 Shara Hi Fuchs! 19:59 Shara GUess what chcolate I was eating today? :D 19:59 Fuchs so you made it safely back home, glad to see 19:59 Shara Guess/chocolate* 19:59 Fuchs aww, you still have some left? Enjoy :) 20:00 Shara Got home yesterday evening. 20:00 Fuchs yes, I'm afraid the only thing worth uploading are talks, and there was none for minetest. We do have pictures, but I have to admit that the ones of minetest are unfortunately all a bit unfocussed, plus we weren't planning on releasing them 20:00 Fuchs ah, good :) 20:01 Shara I tend to vanish when cameras get pointed :D 20:02 Fuchs I think I did catch you, but see above, first of all not terribly focussed, and not planned to be released :p 20:02 Fuchs maybe mike had better luck 20:03 Fuchs anyway, it was nice having you two there, and I hope to see you again next year! 20:03 Fuchs (I might bring more Toblerone, since that is what I am good at) 20:08 Shara Fuchs: Likewise, it was a pleasure to meet you and the others there as well 20:09 Fuchs \o/ 20:09 Shara And if you're offering Toblerone again... what can I say? That's an easy way to get me moving :D 20:09 Fuchs yeah, definitely bringing that again. I was also planning to bring http://www.fixderfuchs.ch/wp-content/uploads/2013/10/fix_by_laederach.jpg these, but they were out of stock :( 20:10 Shara That's maybe too adorable to actually eat! 20:11 Fuchs yes, I heard that from a couple of people, and it at least one case it started collecting mold, which is less cute 20:11 Fuchs and should have been eaten, because by then it was a bit of a waste 20:13 Shara Sometimes simple chocolate bars are better because of this :) 20:14 Fuchs yeah, I'll definitely also bring just regular bland Toblerone 20:14 Shara And coconut :) 20:15 Shara Have to head off now - thanks again, and maybe more MT people will join us next year 20:15 Fuchs well yes, black, white, regular, crunchy and coconut 20:15 Fuchs would be great, yes. Have a nice evening! 20:15 Shara You too! 22:30 * Sokomine grabs some toblerone from fuchs and runs away with it 22:41 rubenwardy Fuchs' Foxes! :O 22:44 swift110 hey rubenwardy 22:48 rubenwardy GreenDimond, you should avoid using per world config files. Mod storage is usually what you want 22:48 rubenwardy also, variables can't have dots in them 22:49 rubenwardy so foo.bar = 3 means get the foo table, get the bar key, then set to 3 22:49 rubenwardy "foo.bar" is not a variable. foo is a variable, and bar is a member of that foo table 22:53 GreenDimond rubenwardy: ahh, ok. so what do you suggest I do instead of config files? 22:54 rubenwardy local storage = minetest.get_mod_storage() storage:get_bool("is_full") storage:set_bool("is_full", true) 22:54 rubenwardy make sure the get_mod_storage is called from init.lua scope 22:54 rubenwardy not in a function 22:55 rubenwardy however, you should probably use node meta data to store this 22:55 GreenDimond Can it go in stocking.lua? 22:55 rubenwardy not sure 22:55 GreenDimond how would I use metadata? 22:55 rubenwardy https://rubenwardy.com/minetest_modding_book/en/chapters/node_metadata.html 22:56 GreenDimond Yes I know that, but metadata is per-node. 22:56 GreenDimond It cant be per-node in order to work. 22:56 GreenDimond It has to be a setting of sorts. 22:57 GreenDimond The stocking has to know on-access, whether its allowed to fill or not, and that has to be done with something that is not metadata, either a variable or setting or something. 22:58 rubenwardy what about multiple players? 22:59 GreenDimond what about multiple players? 22:59 GreenDimond What do you mean? 22:59 rubenwardy if there are multiplayers, they'll all use the same value if it's a variable or setting 22:59 rubenwardy should each player have their own value? 22:59 rubenwardy if no - mod storage 23:00 rubenwardy if yes - player attributes 23:00 GreenDimond I want them to all follow the same value. 23:01 GreenDimond If the setting is set to fillable, then the first time they access the stocking it gets filled. If not fillable, then the stocking wont get filled. 23:01 GreenDimond So I would use modstorage? 23:01 rubenwardy yeah 23:22 GreenDimond rubenwardy is storage:get_bool("is_full") for the on_rightclick to check for? 23:32 GreenDimond rubenwardy: I get the error attempt to call method set_bool (a nil value) 23:32 GreenDimond does that mean it needs to be in the init.lua? 23:33 rubenwardy huh 23:33 rubenwardy get/set_bool doesn't exist 23:33 rubenwardy use minetest.is_yes(storage:get_bool("is_full")) for reading 23:33 GreenDimond but you do I set it? 23:33 GreenDimond how* 23:33 rubenwardy and storage:set_string("is_full", is_full and "true" or "false") 23:34 rubenwardy oops 23:34 rubenwardy use minetest.is_yes(storage:get_string("is_full")) for reading 23:34 rubenwardy is_full and "true" or "false" returns "true" if is_full is truthy, and "false" otherwise 23:37 GreenDimond wait 23:37 GreenDimond rubenwardy, you put the true or false in the set function 23:38 GreenDimond why? 23:38 rubenwardy ? 23:38 GreenDimond I want the function to enable it? 23:38 rubenwardy not sure what you mean? 23:38 GreenDimond storage:set_string("is_full", is_full and "true" or "false") 23:38 GreenDimond that is for setting is_full to true or false 23:38 GreenDimond right? 23:38 rubenwardy yeah 23:38 GreenDimond how? 23:39 GreenDimond it just returns stuff 23:39 GreenDimond it reads it 23:39 rubenwardy I'm not sure what you mean 23:39 GreenDimond arg 23:39 GreenDimond how do I use it 23:40 GreenDimond `function stocking.enable_can_fill() 23:40 GreenDimond storage:set_string("can_fill", can_fill and "true" or "false") 23:40 GreenDimond end` 23:40 GreenDimond that is what I am using 23:40 GreenDimond doesnt seem right 23:40 rubenwardy can_fill will be a variable to whether it should be true or false 23:40 GreenDimond but how do I set it to true or false? 23:41 rubenwardy so if you always want to set it to true, then storage:set_string("can_fill", true and "true" or "false") which is equivilent to storage:set_string("can_fill", "true") 23:41 GreenDimond does it matter which method I use? 23:41 rubenwardy both will work, but the latter is better 23:42 GreenDimond ooohhh, I get what you meant by "true" or "false" now 23:42 rubenwardy https://gist.github.com/rubenwardy/a48ba9a451c142660c7b314be02ab251 23:42 rubenwardy updated, forgot "function" 23:43 rubenwardy if you only set it to true or false, best just to use this storage:set_string("can_fill", "true") 23:44 GreenDimond rubenwardy: https://gist.github.com/GreenXenith/4cfda6f23def80b997f4e9e10c34b739 23:45 rubenwardy looks correct 23:56 GreenDimond Looks like it worked...