Time Nick Message 00:10 agrecascino https://forum.minetest.net/viewtopic.php?f=7&t=15388 00:10 agrecascino help 09:30 segfault22 I need to put some lua code in some single place, without it being run there, and then reference it within a function, wherein the reference would run the code as if it were replaced by the code written-out in its place. I have tried using variables, but that doesn't work, and it can't be put within its own separate function, because the code has calls to debug.getinfo()... is this even possible? 16:14 ElectronLibre Can any of you devs here tell me what the purpose of this single line is? https://github.com/minetest/minetest/blob/master/builtin/game/register.lua#L381 16:22 ElectronLibre I believe mode "3" and "5" have the same behaviour with this code, hence my question. The presence of those two mods is useless. 16:22 ElectronLibre s/mods/modes 16:32 sfan5 ElectronLibre: mode 5 will return nil if cb_ret is false, mode 3 will return false if cb_ret is false 16:32 sfan5 actually not nil but what the previous callback returned 16:34 ElectronLibre I see. 16:34 ElectronLibre Well at least I know what line is to blame for the blocking callbacks 16:35 ElectronLibre If I were to register my own callback in the lua builtin, and called it myself, what mode should I use? I think 3 would work. 18:08 APNG why are nodetypes called nodetypes and not blocks? 18:13 nore APNG: because blocks are 16x16x16 nodes 18:14 APNG does minetest have a concept of chunks? 18:19 burli APNG, yes 18:19 APNG and what are chunks? 18:19 burli default is 5x5x5 blocks or 80x80x80 nodes 18:22 APNG and what are voxels? 18:23 burli mapblocks have a fixed size, chunks can set from 1 to whatever, but less than 4 and more than 6 does't make sense 18:23 burli node = voxel (I think) 18:23 APNG why do we have the ugly "nodetype" name? .-. 18:24 burli idk 18:25 APNG I prefer block for a node's type (the definition of block is ambiguous and it can mean either a node or a node type or in minetest's case a collection of nodes), node for a position + associated data (including type) (that's kinda the definition of node), chunk for the smallest region of a map, region for the largest, map for the whole map 18:25 APNG so let's say I'm making a game 18:25 APNG does that make sense? 18:25 Krock then make a pull request if you have a better idea 18:25 APNG anyway what I'm here for is uh 18:25 APNG how big is the minetest API? 18:25 Krock smaller than the sun 18:26 Krock about 9001 18:26 APNG I mean in number of methods and stuff 18:26 Krock do grep on "lua_api.txt" for "minetest." 18:26 APNG and just the parts that aren't pure-Lua 18:26 rubenwardy where are you getting "nodetypes" from? Do you mean "nodes" 18:27 APNG rubenwardy, no, a node is stuff in a position in the world 18:27 APNG that is, the position and the contents 18:27 APNG a nodetype is all the code and stuff of a node 18:27 rubenwardy nodetype is not mentioned anywhere in the source code 18:28 rubenwardy do you mean a node definition? 18:28 APNG really? I thought I saw "nodetype" in the API docs a few times... 18:28 APNG or node_type, idk 18:28 Krock about 328 pure functions that aren't Lua-only. additionally there are functions in objects, like the player's set_hp and so on 18:28 rubenwardy src$ grep -nir "nodetype" * | grep -v "SceneNodeType" | wc -l 18:28 rubenwardy 0 18:29 Krock neither node_type exists 18:29 APNG uh ok 18:29 APNG the wiki is the docs right? 18:30 Krock as a reference, yes 18:30 APNG ok 18:30 APNG w/e 18:30 APNG anyway 18:31 rubenwardy docs/lua_api.txt is the official docs 18:31 APNG so uh let's say I wanna implement the minetest API in java? 18:31 Krock anyone please kick APNG 18:31 APNG does minetest expose the internal concepts of blocks, chunks, etc? 18:31 APNG because if so that'll be a pain because the API I'm using has no such concepts 18:31 KaadmY in the api, nope 18:32 APNG ok 18:32 KaadmY except for custom lua map generation 18:32 KaadmY which is still mostly abstract 18:32 APNG hmm... 18:32 KaadmY but gives you map data by block boundaries 18:32 APNG how do mapgens work? 18:32 KaadmY no idea 18:32 KaadmY never used them 18:33 APNG are they part of the standard API or are they a separate API? 18:33 Krock abstract? It's some noise calculation and finding the ground node to put plants on it 18:33 Krock but it gets quite complicated the more noise values you have 18:33 APNG because the API I'm using doesn't quite have mapgen support last I checked... 18:33 rubenwardy ? 18:33 Krock then you're using Minetest 0.3.§ 18:33 Krock *0.3.1 18:34 APNG I basically wanna write a minetest-NOVA bridge 18:34 APNG http://novaapi.net/ 18:34 Krock update to 0.4.14 and check your docs again 18:34 APNG run minetest mods straight in NOVA 18:35 Krock that's 100% java. good luck 18:35 APNG NOVA doesn't quite have mapgen support 18:35 APNG Krock, you do know there are Lua VMs written for Java right? 18:35 Krock yes and there aren't 18:35 APNG as well as JNI bindings for normal Lua and LuaJIT 18:36 Krock not specifically for Minetest at leas 18:36 Krock +t 18:36 APNG yes, I'd have to implement the Minetest Lua API from scratch 18:36 Krock yes, do that. 18:37 APNG the plan isn't to run NOVA in minetest but to run minetest in NOVA 18:37 APNG if that makes sense 19:46 celeron55 APNG: that sounds like a reasonable approach to at least something 8) 19:46 paramat nore sofar rubenwardy simple PR for when you have time #4457 19:46 ShadowBot https://github.com/minetest/minetest/issues/4457 -- Camera: Higher frequency limit for view/hand bobbing and footsteps by paramat 19:46 celeron55 APNG: i guess you've researched the amount of content made for minetest and decided it would be worth it? 19:46 APNG celeron55, nope 19:47 APNG it'd just be a great way to learn the NOVA API 19:47 APNG it's a fixed, known goal 19:47 APNG not something I'll make up as I go along 19:47 APNG makes sense? 19:48 celeron55 wait, is nova made in java too? 19:48 celeron55 why is everything java, this is ridiculous 19:48 APNG well NOVA started as an abstraction over Minecraft 19:48 APNG so yes it's in java 19:48 rubenwardy ~g NOVA java 19:48 ShadowBot rubenwardy: Error: invalid version 19:48 celeron55 somebody please for the love of god make a competent voxel game engine in something else than java 19:48 rubenwardy awesome 19:48 APNG MC:W10 19:49 APNG inb4 "that works on linux" 19:49 celeron55 i'm always like "oh this is interesting" and then "...oh it's java all over again" 19:49 rubenwardy I can't find what NOVA is 19:49 APNG I linked it some lines above 19:49 APNG http://novaapi.net/ 19:50 rubenwardy ah, just found it 19:50 rubenwardy thanks 19:50 APNG Neatly Organized Voxel API is easier to google I think? 19:51 rubenwardy I like the attempt to make an abstraction layer like that 19:51 celeron55 well anyways, the minetest api is as much as possible abstracted away from the internal storage structures and almost everything is just nodes at coordinates 19:52 celeron55 the lua API provided by the minetest "internals" to the so called "builtin" lua (which defines more apis), the games/mods and the menu is not documented anywhere altough the source code is bearable enough to read 19:53 celeron55 most of the api goes directly to the games and mods though and that is documented 19:53 celeron55 you need to choose whether you want to reuse the builtin lua or not 19:54 APNG well uh 19:54 APNG NOVA is LGPLv3 19:54 APNG so I don't think I can reuse the builtin 19:54 rubenwardy builtin is LGPLv2.1 or later 19:54 rubenwardy so you can relicense it to LGPLv3 19:55 rubenwardy paramat, will review later 19:55 APNG oh ok 19:56 celeron55 (i appreciate the choice of LGPL; too many things use GPL) 19:56 APNG GPL doesn't work with Minecraft 20:01 rubenwardy updated #4294 #4416 20:01 ShadowBot https://github.com/minetest/minetest/issues/4294 -- Formspecs: Add container[] and container_end[] elements by rubenwardy 20:01 ShadowBot https://github.com/minetest/minetest/issues/4416 -- Formspecs: Fix background elements from interferring with each other by rubenwardy 20:02 rubenwardy also waiting: #4417 20:02 ShadowBot https://github.com/minetest/minetest/issues/4417 -- Formspecs: Add text field enter key event, allow fields to disable form close on enter by rubenwardy 20:03 celeron55 formspecs, the COBOL of minetest! 20:03 celeron55 d8-) 20:03 celeron55 it 20:03 celeron55 -it 20:04 rubenwardy basically 20:04 rubenwardy I wish they used layouts 20:04 rubenwardy so much more responsive 20:04 celeron55 this is basically a full-on meme already since many years ago 20:05 APNG why not add an optional OOP-based formspec library thing? 20:05 Calinou APNG: do it 20:05 rubenwardy see smartfs 20:05 rubenwardy although needs improvement 20:06 APNG also 20:06 APNG parse the formspecs on the server 20:06 APNG to figure out what metadata fields need to be sent over to the client 20:06 Calinou what would you give to the client then? 20:06 rubenwardy the alternative to #4294 is either parsing and editing the formspecs, or giving an origin variable to the builder of the child formspec 20:06 ShadowBot https://github.com/minetest/minetest/issues/4294 -- Formspecs: Add container[] and container_end[] elements by rubenwardy 20:06 APNG aka nonstupid metadata 20:07 paramat ok 20:07 rubenwardy !web g smartfs minetest 20:08 rubenwardy https://github.com/minetest-mods/smartfs 20:08 rubenwardy I swear ShadowBot is completely useless 20:09 paramat btw i want to help by reviewing your formspec PRs but find the code inpenetrable :] 20:10 APNG rubenwardy, does it work for node metadata and stuff? 20:33 paramat #3923 is ready to go, since it's a fairly big change perhaps more devs want to have a look? 20:33 ShadowBot paramat: Error: Delimiter not found in "Page is too big or the server took too much time to answer the request." 20:34 paramat #3923 20:34 ShadowBot https://github.com/minetest/minetest/issues/3923 -- Make plantlike drawtype more fun. by sofar