Time Nick Message 00:34 Teckla VanessaE: THANK YOU for homedecor_modpack! My daughter is going NUTS with excitement with it right now :) 01:13 Sokomine m4 01:13 Sokomine hi 01:27 VanessaE thanks Teckla :) 01:52 OldCoder /query VanessaE 02:49 technomancy what does it mean when minetest.env:get_meta returns nil? 02:50 technomancy I would assume that only happens when the pos is invalid, but in this case the pos refers to an existing node where I've placed metadata before restarting the server 03:20 Sokomine technomancy: the mapblock you're trying to get data from may not be loaded 04:11 RealBadAngel or meta is not set rather 04:39 technomancy the block is definitely loaded; I'm standing next to the node. 04:40 technomancy RealBadAngel: so that means the metadata k/v object is created on demand when it's set then? 04:47 RealBadAngel technomancy, let me check the sources, hold on 04:51 technomancy on-demand on read or write would make for a more convenient API 04:53 RealBadAngel https://github.com/minetest/minetest/blob/master/src/script/lua_api/l_nodemeta.h#L32 04:54 technomancy "However, it is NOT guaranteed that the method will return a pointer" ._. 04:54 RealBadAngel yes, thats why you should add the check for NIL 04:54 RealBadAngel and skip if you got it 04:55 technomancy aka "watch out; it has bugs"? 04:55 RealBadAngel not really 04:55 RealBadAngel such not guaranteed situations happens usually on load 04:56 technomancy "watch out, it has undesirable/unpredictable behaviour" then 04:57 RealBadAngel it happens all the time 04:57 RealBadAngel and i wouldnt call that bug 04:57 technomancy just a source of bugs =) 04:57 RealBadAngel hehe yeah 04:58 RealBadAngel when something is not yet set, you shouldnt read it 04:58 RealBadAngel but how could you know that 04:58 RealBadAngel solution is to put check for nil as the first condition 04:58 technomancy I would expect it to give nils when you call get_string, not when you call get_meta is all 04:59 RealBadAngel nil you are getting in lua when something is not set, not yet used 05:00 RealBadAngel so same code can fail on startup and after some time it may work 05:00 RealBadAngel meanwhile the data was simply set 05:01 RealBadAngel checkin for nil will let you survive the startup 05:02 RealBadAngel also dont forget that many things are done in threads 05:18 VanessaE in case anyone cares: https://forum.minetest.net/viewtopic.php?f=11&t=12537 05:18 VanessaE (now with Alphanumeric support) 05:19 Calinou "Atom now opens files larger than 2MB with syntax highlighting, soft wrap, and folds disabled. We'll work on raising the limits with these features enabled moving forward" 05:19 Calinou :D 05:23 RealBadAngel bombastic 05:23 RealBadAngel soon your fridge will be able to even print that file 05:32 technomancy RealBadAngel: Thanks for the explanation. I think I found a better way for this that doesn't involve metadata. 05:32 RealBadAngel what way? 05:33 RealBadAngel imho metadata is very flexible, since it can store anything 05:33 technomancy well I already have to serialize off some tables to disk on save/load, so I just added this to that file 05:33 technomancy metadata is good for strings and ints, but I was trying to put tables in it, which is a lousy fit 05:34 RealBadAngel well, you should just ask 05:34 RealBadAngel technic has many examples of your problem solved 05:34 RealBadAngel almost all technic tools store data in meta 05:34 technomancy I realized about halfway through that a separate file would be better, but I was still curious about metadata because I'm sure I'll use more of it in the future 05:35 RealBadAngel lemme point you something 05:35 technomancy RealBadAngel: I was using it for an environment table for shell sessions on my in-game server nodes. 05:35 RealBadAngel this is the way to store data in files: https://github.com/minetest-technic/datastorage 05:35 RealBadAngel per player 05:36 technomancy keeping the environment table in sync with the serialized tables in node metadata would have been a mess 05:36 technomancy theoretically possible using metatables, but metatables break iterators in lua 5.1 =( 05:38 technomancy but this could be useful for some other things; thanks for the pointer 05:38 RealBadAngel https://github.com/minetest-technic/technic/blob/master/technic/tools/mining_drill.lua#L262 05:38 RealBadAngel see here, im treating here meta as a table 05:39 RealBadAngel not as a string 05:40 technomancy yes but in this case the writes all come from a single place, so it's a good fit 05:41 RealBadAngel ofc 05:41 RealBadAngel best solution would be direct access for mods to db end 05:41 RealBadAngel and thats i will definitely code one day 05:41 RealBadAngel btw, fm already has it 05:42 technomancy awesome 05:42 technomancy especially if it can work with tables of arbitrary depth 05:43 RealBadAngel http://wiki.mudlet.org/w/Manual:Lua_Functions#Database_Functions 05:43 RealBadAngel we need that ported 05:44 technomancy ported? 05:44 technomancy or exposed to the sandbox? 05:45 RealBadAngel i mean luasql 05:46 RealBadAngel so you can directly throw tables into db and read them 05:46 RealBadAngel see the examples 05:47 technomancy oh yeah, I guess tables of arbitrary depth won't work in sqlite 05:47 RealBadAngel its transparent 05:47 RealBadAngel whatever works in lua can be stored in db 05:48 technomancy huh, nice. I've only seen that done is postgres 05:48 technomancy *in postgres 06:48 RealBadAngel hi jin_xi how the particles are doing? 06:50 RealBadAngel technomancy, thats the beauty of this solution as you can see in the examples. storing tables in db is as easy as assigning them to another variable 06:51 RealBadAngel from modders point of view theres no differnce youre working on local or db variable 06:53 technomancy very cool 07:40 Calinou squirrel of the day: http://28.media.tumblr.com/tumblr_lybw63nzPp1r5bvcto1_500.jpg 07:41 technomancy squirrel of the year if you ask me 07:43 Calinou SOTY! 08:58 JamesTait Good morning all; happy Ferris Bueller Day! 😃 12:14 est31 man when will they release irrlicht 1.9? 12:14 est31 its already 2 years ago they released irrlicht 1.8 12:14 CWz maybe they quit 12:43 VanessaE hi all 13:03 CWz Hello VanessaE 13:03 VanessaE hey 16:30 someguy_irc Someguy123, Greetings pal :D 16:30 someguy_irc ._. 16:30 Krock meow 16:30 someguy_irc I thought I was the only someguy here. 16:30 someguy_irc I thought I was official. 16:30 someguy_irc :c 16:31 someguy_irc Well the other guy has numbers in his name, lame. 16:31 someguy_irc im original m8ties. 16:31 someguy_irc any new stuff planned for the upcoming versions of Mt? 16:32 est31 someguy_irc, see the #mt-dev channel 16:32 someguy_irc Okay. 16:32 someguy_irc wait what. 16:32 est31 #minetest-dev 16:32 someguy_irc Ty. 17:57 luizrpgluiz hi all 17:58 Calinou SpeedCrunch! https://lut.im/RbTQ6hGY/29kKt3Dc 17:58 Calinou https://github.com/speedcrunch/SpeedCrunch 20:04 Calinou I won Hunger Games 20:09 est31 how that 20:12 Calinou lost it this time... thanks OP diamond sword 20:13 Calinou can't do anything against it 20:17 Calinou HAHA 20:17 Calinou I got diamond sword after killing someone 20:19 Calinou won :p 21:58 MinetestBot 02[git] 04est31 -> 03minetest/minetest: Reposition irrlicht timestamp in makefile 13c849d32 http://git.io/vIHbG (152015-06-11T23:56:54+02:00)