Time Nick Message 00:03 sofar 4.0 is too old I bet 00:03 sofar fdroid would be wrong? 03:43 kaeza I just tested 5.0 on Android 4.4 and seems to work fine FWIW. 04:02 argyle77 I haven't had a chance to test on android yet. Can't wait to give it a try. 04:14 sofar yeah, I installed 5.0.0 apk from github and it's playing great 04:38 ANAND I love the greatly improved controls 06:19 MinetestBot paramat: Mar-08 13:19 UTC What I say is no nonsense at all... I said IF you acre about every feature request you should SHOW it more... but it's a fact that barely any feature request receives some feedback from core devs... you could at least add a comment stating your opinion or reaction but often all you do is adding the appropriate labels and that's it... that doesn't tell me as user that you actually care about 06:25 paramat IhrFussel, barely any feature request doesn't receive feedback. i'm highly opinionated so i very often state my opinion (which then often annoys people). sometimes core devs just don't have anything to say or are very neutral, so don't comment. often core devs just don't have time, you can't blame us for that 06:26 paramat and we do care, people just have to realise how little dev time we have 06:29 paramat essentially: 'open-source' -> anyone on the internet can open a feature request. 'free' -> a small number of devs with extremely limited time for MT. inevitable result -> most feature requests go nowhere through no fault of our own 06:30 paramat this is one of the problems with 'free open source' projects 06:35 paramat around half of core dev work is mundane and not enjoyable, so we don't just work on what we want to, despite working in our free time when we should be enjoying ourselves. but you continue to accuse us of malice and incompetence 06:41 paramat "I said IF you acre about every feature request you should SHOW it more" you didn't, you wrote: "there are many many open feature requests/bug reports that you somehow didn't care about till this day" 06:42 paramat as i wrote, if you want more dev, pay us full time wages. you're getting a game for free 06:43 paramat you're intent on being negative instead of calmly rational 06:44 paramat that's your problem 06:49 paramat p_gimeno "there's no 'cave1' or 'cave2' in a world just generated [...] It seems they are generated when you enter the world for the first time" yes, which is why you shouldn't manually edit map_meta.txt but use a mod to set the noise parameters, then it will be in effect right from the start 06:59 paramat IhrFussel, you write: "either you work on this project with passion and because you want to help to improve the game or not" that's what all core devs do clearly, implying otherwise is offensive. 07:00 paramat "I didn't even mention 'work more' I said maybe restructure your dev time" what you request requires more time, and 'restructuring your dev time' means other aspects of dev will suffer. you're writing ridiculous and offensive things 07:04 paramat it's either other server admin or core devs, you're driven to irrationally criticise. the problem is you 07:07 paramat you're denying the limited dev time fact because you can't argue against it 07:09 rubenwardy paramat: you know he's not in this channel, right 07:15 paramat yes =) 07:16 paramat they'll see it or i'll link them to it 10:09 Guest31 Hey, just wanted to ask if someone could remove 2018-05-21, 2018-10-30 and 2018-10-31 from the online irc logs 10:13 Emerald2 Why? 10:14 Guest31 I connected with my real name and don't want it to show up when someone searches for my name 10:20 Emerald2 Hmm. Not even sure who's in charge of IRC logging. 10:21 Emerald2 Shara do you know? 10:26 Krock sfan5, possibly? 11:18 Ingar time to publish my logs 11:23 sfan5 Guest31: I can remove the logged join entries if you tell me the nickname, but not entire days 11:24 Guest31 Join entries are not enough 11:26 sfan5 the text too, I mean 13:47 JDCodeIt Hi All - in a mod with optional dependency is the recommended way to check that a mod is available minetest.global_exists(...) versus get_modpath? 13:49 p_gimeno global_exist will tell you if everything went well and the mod was loaded. I'm not sure if get_modpath is that reliable. 13:50 JDCodeIt was thinking to update the wiki on that point - very little there about whether it returns a value if the mod name searched is part of the namespace 13:51 p_gimeno on the other hand, nothing guarantees that a mod does register a global 13:52 JDCodeIt true. I think the mod needs to recognize how the other developer prepared the globals, if any 13:53 JDCodeIt but, get_modpath seems wrong on the surface because you can have a mod directory chock full of mods, but only a few selected for the game/world being played 13:54 p_gimeno I don't know get_modpath that well. I don't know if it queries the currently loaded mods or the installed mod directory. 13:55 JDCodeIt time to dig... 13:55 p_gimeno If the former, then it's reliable. If the latter, then it's almost useless for this purpose. 13:58 JDCodeIt get_modpath uses the mod manager object which appears to have a list of all mods (world, game, and normal) - so seems it would return a path even if the mod was not selected to be part of the world being played 13:59 JDCodeIt its purpose seems to be - get me the directory so I can get access to a file over there (in my mod or someone else's) 14:00 p_gimeno in that case, neither is reliable, therefore since you're depending on a mod, you need to be aware of what does that mod change, and check if that change is effective 14:02 JDCodeIt you could get the intended loading of a mod by accessing the load_mod_<...>=true from world.mt or whatever structure it goes into 14:03 p_gimeno I guess the mod author should know what part it depends on exactly, and should be able to check if it's there 14:09 JDCodeIt nothing in rubewardy's modding book specifically on the topic of mods interacting, but could fit in the Intro to Clean Architecture 14:12 p_gimeno well, depends.txt can specify that a mod, if it exists, should be loaded before yours; therefore if you know what effect of some other mod you need in yours, you can be sure that if it's installed and working, it will be already loaded, so you can check for that effect 14:13 JDCodeIt yeah, but nothing tells you an optional mod didn't load, specifically - so then you need some reliable check - "is it present and loaded" 14:15 p_gimeno my point is, if it failed to load, the effect you need from it won't be there, and checking for it will fail 14:15 p_gimeno and vice versa 14:16 p_gimeno e.g. if you depend on a mod that registers a node, you can check if that node already exists 14:17 JDCodeIt OK, perhaps a concrete example then. TenPlus1/protector wants a optional dependency on TenPlus1/lucky_block - but the game I'm playing doesn't have lucky_block selected, but it is in the list of mods in my mod folder 14:17 p_gimeno or if you depend on a mod that adds an API, you can check if the API is there 14:18 JDCodeIt in this case, the optional code is going to call a global function that is exposed by luck_block - maybe that is the global_exists that should be checked? 14:18 MinetestBot 02[git] 04sfan5 -> 03minetest/minetestmapper: Update colors.txt 13cd0d1ad https://git.io/fhhzA (152019-03-09T14:16:28Z) 14:20 p_gimeno ok, lucky_block registers a global, therefore in that particular case you can check for that global 14:20 p_gimeno what I'm trying to say is that in the case that a mod does not register a global, you can check for some other effect of the mod that your mod relies on 14:21 JDCodeIt ...so if minetest.global_exists("lucky_block:add_blocks") then ... <-- notice the meta_data accessor - would that work? 14:22 p_gimeno if minetest.global_exists("lucky_block") then ... 14:23 p_gimeno https://notabug.org/TenPlus1/lucky_block/src/master/init.lua#L2 14:24 JDCodeIt yes, I see the global - so if any mod is going to expose an API - it is merely convention to use a global of the same name, but does not ensure that the specific function I want has been implemented in that version. 14:24 p_gimeno right, but you can check for that function specifically 14:25 p_gimeno e.g. if minetest.global_exists("lucky_block") and lucky_block.add_blocks then ... 14:25 p_gimeno (which I believe is what you were after) 14:25 JDCodeIt back to the lua question - with the ":" accessor will that exists in the global names? 14:26 p_gimeno global_exists requires the name of a global variable, and "lucky_block:add_blocks" is not 14:26 p_gimeno "lucky_block" is 14:27 p_gimeno lucky_block is a global whose value is a table; add_blocks is a table field of a table which happens to be in a global, but it's not a global itself 14:27 JDCodeIt right... _G("lucky_block:add_blocks") == nil is an invalid request or might always return true? 14:27 p_gimeno I think it will always return false 14:28 p_gimeno ah wait 14:28 p_gimeno the comparison will return always true 14:28 p_gimeno note the syntax is with [] instead of () 14:29 JDCodeIt sorry about that yes, [] not () 14:31 p_gimeno any table can have any string as key, including the globals - but only strings that correspond to an identifier can be accessed by the identifier. For example, _G["lucky_block"] is the same as _G.lucky_block 14:32 p_gimeno however, _G["lucky_block:add_blocks"] has a string as index which doesn't correspond to an identifier, therefore it's not accessible with an identifier 14:33 JDCodeIt so I think I should add a note the dev wiki that using get_modpath is not a good way to tell if a mod is loaded - I see so many examples of this in mods out there 14:33 p_gimeno yes, definitely 14:34 p_gimeno you also seem confused about the meaning of : 14:34 JDCodeIt perhaps also something can be written in rubenwardy's book as lots of modders start there 14:34 JDCodeIt please do tell - I'm not a lua expert 14:35 p_gimeno : is a shortcut when calling (and ONLY calling - not accessing) functions which are fields of a table 14:35 MinetestBot 02[git] 04sfan5 -> 03minetest/minetestmapper: Improve color averaging and update colors.txt again 130fd3dc1 https://git.io/fhhgO (152019-03-09T14:33:38Z) 14:35 p_gimeno mytable:myfunction(3) is a shortcut to: mytable.myfunction(mytable, 3) 14:36 p_gimeno but you can't write e.g. x = mytable:myfunction; or if mytable:myfunction then ... 14:36 JDCodeIt OK, so the lucky_block.add_blocks exists as a member in that table, but just happens to be a function, which you can call with the syntax lucky_block:add_blocks(...) 14:37 p_gimeno when you call it with : then it's adding an implicit first parameter which is lucky_block itself 14:37 p_gimeno you can still call it with . 14:37 p_gimeno lucky_block:add_blocks(...) is equivalent to lucky_block.add_blocks(lucky_block, ...) 14:38 p_gimeno the : is just a convenience for method calls 14:38 JDCodeIt so inside the function when calling with : you can access the entire lucky_block, but in the other calling method you cannot? 14:39 p_gimeno you can in both IF you pass the table as a parameter 14:39 JDCodeIt right, but it's there implicitly with the ":" call 14:39 p_gimeno exactly 14:40 p_gimeno it is part of the language as a way to support method calls with implicit self 14:41 p_gimeno similarly, in function definitions, function mytable:myfunc(x) is exactly the same as function mytable.myfunc(self, x) 14:42 JDCodeIt back to the example to wrap it up... if minetest.global_exists("lucky_block.add_blocks") might be good practice to check before calling your mod's optional code in that case 14:42 p_gimeno well, again, add_blocks is a field of a table, not a global in itself. The global is just lucky_block. 14:43 p_gimeno So the right check is first, check if the global exists, and then if the field exist within the table: if minetest.global_exists("lucky_block") and lucky_block.add_blocks then ... 14:43 JDCodeIt OK, got it - not specifically checking the field - though after confirming lucky_block global exists one could also then check if lucky_block.add_blocks ~= nil 14:44 p_gimeno exactly 14:44 JDCodeIt Thanks for the helpful discussion! 14:44 p_gimeno my pleasure :) 14:46 p_gimeno remember also that nil and false are the only values considered as false in Lua, therefore, since lucky_block.add_blocks isn't expected to ever be set to false, the above check works too 14:51 p_gimeno I have a question myself. I've created a mod like this: https://paste.scratchbook.ch/view/9e4853b3 - why is the minimap still disabled? 14:57 JDCodeIt The get_modpath page is updated with a reference to global_exists - https://dev.minetest.net/minetest.get_modpath 15:05 p_gimeno never mind my question, it's working now o.O 17:45 DoyleChris I have a problem with 5.0 17:45 DoyleChris my character is in the ground 17:46 DoyleChris character is to be 2 blocks high 17:46 DoyleChris but it is only seeing it as 1 block high. 17:53 Krock DoyleChris: update minetest_game 17:54 DoyleChris update minetest_game how 17:56 Krock nvm, you're on windows, so you probably installed all over from scratch 17:56 DoyleChris it is i just downloaded it today 17:56 Krock in that case, download the newest 3d_armor verison 17:56 Krock in case you have that mod 17:56 DoyleChris i do have 3darmor 17:57 Krock https://github.com/stujones11/minetest-3d_armor/commits/master 17:57 Krock most recent change was 4 days ago. grab the newest version there 18:20 DoyleChris that fixed it 18:21 DoyleChris now i just need to bring all my buildings from 4.17 to 5 map 18:24 Krock take the old map. copypaste 18:26 CESTRayCRYSTAL ##JOIN minetest-ctf 22:02 botch hello minetest irc :)