Time Nick Message 00:00 Xiong hecks Not sure that's a helpful question. If you ask it, I don't see any answer you'd find compelling. 00:02 hecks alright, this is a fool's game; I'll just check the source and see how world noise is mixed in 00:02 paramat hm weird 00:02 Xiong rubenwardy You have the most solid info relevant to this rubber question. Can you weigh in on either point? (1) testing tools; (2) always-on fallback. 00:05 hecks sooooo 00:05 hecks seed += np->seed; 00:05 hecks where seed is s32, or a plain old int I assume 00:07 Argyle77 I felt like the issue with no rubber trees in moretrees was that they needed to be within 5 blocks of water on green grass, but the beach prevented that. 00:08 paramat using 'get_perlin' with 4 params is old and almost never done because only 4 params is so limiting, it should work using a full noiseparams table 00:09 hecks But it doesn't! 00:10 paramat it does in my mods in use 00:11 paramat i mean, it works when a noiseparam table is manually specified like https://github.com/paramat/snowdrift/blob/568964eabf72d169bb3d7d8a2eb4beba863c5504/init.lua#L23 00:12 paramat the issue may be the form returned by minetest.get_mapgen_setting_noiseparams or minetest.get_noiseparams 00:13 Xiong Argyle77 There is certainly an issue in that rubber's requirements are highly restrictive. I'd like to sidestep that for the time being. rubenwardy claims technic fallback rubber works. Let's leverage that. 00:14 paramat for rubber trees: disable moretrees generating them, enable technic generating them, and apply my advice given in the technic issue (needs a PR, i'mnot doing it) 00:14 Xiong paramat Still working on it. 00:14 paramat https://github.com/minetest-mods/technic/issues/464 00:15 Xiong What testing tools exist? and Why not just enable fallback always? 00:15 Xiong I have read much on the topic. Looking for answers to new questions. 00:16 paramat i've even detailed what needs doing, easy PR 00:16 Xiong Why has your advice not been taken? 00:17 hecks paramat: no, all noise functions return a proper NoiseParams table 00:18 paramat how do you know? because docs say? 00:18 Xiong Um... dunno if you've seen but I did kick in my dime. 00:18 hecks No, because I dumped them to stdout 00:19 hecks along with many other things 00:20 hecks https://pastebin.com/zLsTfE1A 00:21 hecks Despite adding the seed manually, the height still doesn't add up with the world, suggesting that the mapgen adds magical fairy dust to its noise 00:22 hecks but before I declare this whole business fubar, it would give me some peace of mind knowing whether or not the officially sanctioned get_perlin() function also messes up 00:26 Xiong Seriously paramat. I read your issue before I added my comment. Seems straightforward enough. Rubber is essential to technic. Why have you been ignored? I believe a solution is well within even my limited competence but I need to learn... sth I don't know... sth political? 00:28 hecks Xiong, nobody is paid to do this shit :) 00:29 hecks that's the politics of it 00:29 Xiong True. Nobody's paying me. 00:29 Xiong Sorry I don't agree that's all. 00:30 Xiong I still try to work with everyone. Work is life; money isn't strongly linked. Perhaps it should be but I'm not going to change that. 00:31 hecks Sure, but all the bugs in the world would vanish overnight if someone were to offer a bounty for them 00:32 Xiong Well I'm not looking to get rich. Can we take that off the table? 00:34 Xiong I'm asking... everyone who should know... two plain questions. Why not merely enable fallback always? and Does a tool exist to reveal the actual result of chunk emergence? 00:35 hecks Well, you can just look at an emerged mapblock; or probe it with on_generated 00:35 hecks as for probing the contents of a map before it's generated, this is what I'm attempting 00:35 Xiong "Look" as in, fly though it ingame? 00:36 hecks yep :P Or render its contents as a 2D map, if you prefer 00:36 Xiong Nono, I'm not asking for hypothetical projections. 00:36 Xiong Well... some chunks are underground. 00:37 hecks Hypothetical, without generating? Noise is deterministic; again this is what I'm looking into now 00:38 paramat is it just the mgv7 mountains that are mismatching? because your mountain generation method is incorrect 00:38 Xiong I'm not trying to be rude when I say... you don't seem to know of such a tool. I may have explained it poorly. 00:38 hecks I know it's not right; but even base/alt noise isn't adding up, and there's not much I could've messed up there 00:39 hecks I'll try muting various noises in the settings to isolate this 00:40 paramat yeah, it looks like your mountain gen is approximate 00:40 paramat intentionally 00:40 hecks It is intentionally approx, because I can not and need not sample 3D here 00:41 hecks but let's turn mountains off 00:41 Xiong paramat What will you say? 00:44 paramat i added a post to the technic thread in the forum, my issues may not have been seen by many 00:45 Xiong paramat I'll search it out but... does it address my questions? 00:47 paramat erm, fallback is down to the mod devs. 'Does a tool exist to reveal the actual result of chunk emergence?' what do you mean by 'reveal the actual result' 00:47 paramat ? 00:51 paramat moretrees users probably want all trees, so rubber trees are enabled in moretrees by default, therefore the rubbergen in technic is disabled by default 00:53 Xiong paramat Well my question is broad. Let me tell by way of example how I'd do it... perhaps not well. I'd run a game and fly around emerging chunks, then quit. Then my script would open the map and scan it with a triple xyz loop... keeping count of the nodes it encountered. It would terminate by reporting a summary: so many nodes scanned, so many !ignores found, so many hoge:piyo, etc. 00:55 Xiong Does such a tool exist? Does any tool exist that can say definitely with what abundance any given type of thing has been generated within a volume? 01:01 Xiong And yes paramat, moretrees does enable by default and I see no harm in that. But I ask: What objection is there to enabling technic fallback rubber at all times? 01:03 Xiong -- I have read your forum post indicated above. 01:06 paramat might be a good idea to include the variation of persistence in 'base' and 'alt' noises, that does make quite a difference 01:09 paramat also, your lerp between 'base' and 'alt' might be backwards. when height select is 1 it chooses 'base' 01:10 paramat it's also not a straightforward lerp due to https://github.com/minetest/minetest/blob/c2dabcff6ddd50520669f3a663b782ec28fc0094/src/mapgen/mapgen_v7.cpp#L418 01:12 paramat Xiong this tool you describe may exist as a mod but i cant remember one, you'll probably have to write it 01:14 Xiong paramat Not surprised. But then... how are devs testing any map/ore/tree/deco generation code? 01:16 Xiong Um... hecks, you are writing code (IIUC) to simulate mapgen. How will you know if it works as expected? What forms your expectations? 01:16 hecks I have a bunch of cube entities that align with the "fake" world following me 01:17 hecks When they line up with the ground, that means it's working 01:17 hecks I'm doing this to raytrace far terrain onto the skybox; raytracer works but the data I'm feeding it was bullshit and I'm trying to correct that 01:18 hecks Ideally, this would let me see mountains from as far as 2k+ distance 01:19 hecks I will be testing with mgflat now to simplify things 01:21 Swedneck wow, minetest modding is actually really approachable 01:23 Xiong Swedneck it's as simple as you wanna. 01:23 rubenwardy :D 01:23 Xiong rubenwardy if you have time for a grin... help me help you, please. 01:23 Swedneck although to be fair i'm only at the point of registering nodes and crafting recipies 01:24 Xiong If nobody will talk about the issue then that's the issue... and likely unsolvable without medication. 01:27 Swedneck hmm, is the number after a craft output the amount of items produced? 01:27 swift110-phone__ https://m.youtube.com/watch?v=xgakdcEzVwg 01:27 swift110-phone__ I would love something like this for minetest 01:30 swift110 I once saw someone interact with minecraft in a 3d world. It was a video on youtube and I would love to do the same for minetest 01:30 swift110 Also playing a subgame similar to simant would be cool on minetest as well although I don't know how to go about that 01:31 hecks Woo hoo, a breakthrough 01:32 Xiong Swedneck usually 1. Please think before choosing a higher number. 01:32 hecks I got the noise to line up, all it took was switching to mgflat, setting all noise seeds to 0, and using 0 as the fixed world seed... 01:34 rubenwardy Swedneck: ye 01:35 rubenwardy eg: default:tree -> default:wood 4 01:35 rubenwardy default:wood 4 is an ItemString 01:35 rubenwardy default:wood is an ItemName, but is also a valid ItemStrings 01:35 Swedneck just wanted to check since the tutorial didn't mention it :P 01:35 rubenwardy an ItemString specifies a stack 01:35 rubenwardy probably should 01:35 rubenwardy will add a todo 01:35 Swedneck ? 01:45 hecks so I have this cool video showing that it works but I can't send it to anyone because the internet is cancer 01:48 paramat mgflat heh 01:51 hecks https://a.cockfile.com/ldx6lq_noise.mp4 01:52 kaeza https://xkcd.com/949/ 01:53 hecks Technically, torrent solves this 01:53 hecks but ISPs made sure that it doesn't actually work 01:54 hecks or rather, ISPs made sure torrent can't be used for anything else other than piracy 01:55 paramat nice 01:56 paramat ok mgflat with lakes, i thought you were joking about making a farmap for a completely flat map 01:57 hecks mgflag has lakes and hills 01:57 hecks flat I mean 01:57 hecks it's all based off one noisemap sampled directly so it's the simplest possible test case 02:01 Swedneck what does the number in `groups = {cracky = 3}` do? 02:02 rubenwardy that's how cracky it is 02:02 rubenwardy one sec 02:02 rubenwardy !book node 02:02 MinetestBot rubenwardy: Nodes, Items, and Crafting - https://rubenwardy.com/minetest_modding_book//en/items/nodes_items_crafting.html 02:02 rubenwardy hmmm 02:03 rubenwardy "Groups such as `crumbly`, `cracky` and `snappy` are used for this 02:03 rubenwardy purpose. Rating is `1`, `2` or `3`. A higher rating for such a group implies 02:03 rubenwardy faster digging time." 02:03 rubenwardy https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1543 02:03 Swedneck ah 02:03 Swedneck i missed the exact part there that told me what i wanted to know 02:04 * Swedneck smacks forehead 02:12 Swedneck hmm, a texture in my mod doesn't seem to update ingame when i change it 02:13 rubenwardy yeah, textures are sent from server to client and cached 02:13 Swedneck how can i force reload? 02:13 rubenwardy in singleplayer, the server and client still exist 02:13 rubenwardy you can't without restarts 02:13 rubenwardy there are ways around it, by using texture modifiers 02:14 rubenwardy and other such things 02:14 Swedneck well i did restart 02:14 rubenwardy oh interesting 02:14 Swedneck and it's still the old texture, somehow 02:15 rubenwardy sure you don't have multiple copies of the texture or the mod? 02:15 Swedneck well it's a symlink to another directory, if it matters 02:15 rubenwardy did you just logout and log back in again? 02:15 rubenwardy like, did you just exit to menu 02:15 Swedneck i exited the program fully and relaunched it 02:15 rubenwardy huh 02:15 rubenwardy also, warning: Minetest 0.4.x doesn't know about symlinks 02:15 rubenwardy so recursive deletion on them will carry on through 02:16 rubenwardy so don't put symlinks in a world dir 02:16 rubenwardy Minetest 5 fixes this 02:16 Swedneck well the entire mod folder is a symlink 02:19 Swedneck interesting, renaming the glass.png file to something else made the glass red instead of white 02:19 hecks https://a.cockfile.com/ZsCd8i_demo.mp4 See that mountain, you can climb it 02:20 hecks https://a.cockfile.com/2UrIrq_farmap.mp4 02:22 hecks The skybox is currently rendered using a lookup table of "pillars" with some Z-buffer-like culling 02:22 Swedneck maybe i'm just making a mistake with how glass textures work 02:23 hecks The heightmap is in polar coordinates; the depth can be linear or exponential, and perspective is achieved naturally with a z-divide 02:23 hecks Finally, the whole thing is deformed with a magical function that maps the cylinder to cubemap walls 02:25 hecks Lookup tables are used to speed up sampling and rendering; further optimization is possible by spreading the rendering job over many frames 02:28 Swedneck oh hold on, does glasslike_framed not care about anything but the outermost pixel? 02:29 Xiong Purely cosmetic, Swedneck. 02:29 Swedneck uh yeah i know 02:29 Swedneck i'm just trying to understand how it uses the textures 02:29 rubenwardy What's the opinion on allowing mods which have telemetry to CDB? 02:30 rubenwardy specifically when it's no user information, but stuff like what they did with the mod and how far they progressed 02:31 hecks A mod which makes a server communicate with external (and usually hardcoded) URLs without asking and making it clear is malware. 02:31 kaeza rubenwardy: maybe do like F-Droid anti features? 02:32 rubenwardy hecks: currently you have to whitelist HTTP mods 02:32 Xiong I have to side with hecks. 02:32 rubenwardy in the future, there may be a [yes] [no] dialog 02:32 rubenwardy I do agree though 02:32 rubenwardy kaeza: that would be good to have if it is allowed 02:32 hecks Every permissions elevation dialog that the user has to click through is one more step towards uninstalling. 02:33 Xiong True. 02:33 Swedneck i think it's fine, and even good, as long as it's configurable 02:33 hecks See Windows UAC, see the market share of desktop linux, see every "smart" phone snapped in half by its user 02:33 hecks Permissions popups are a bandaid; the real problem is things requesting permissions they shouldn't need. 02:33 Swedneck and off by default 02:34 rubenwardy here's the messages from the user that is asking: https://i.rubenwardy.com/EwFZU.png 02:34 Xiong I dislike granting perms to radio home constantly. I'd rather the nasty gubbins saved up a month's worth of usage data and asked for one-time perm to send that block. 02:34 hecks Telemetry is a problem because communication alone is information; you get an IP (correlating to a location) and time 02:36 hecks I'm not fond of "clever" developers using elevated features wherever they can, not where they absolutely need to. 02:36 hecks The purpose of HTTP mods is internal telemetry and communication; a server communicating with another machine owned by the same admin. 02:37 Xiong Anyway I want to fix the rubber issue. I wanted to fix it years ago, I wanted to fix it last week. I've been hoping someone more competent would fix it. Failing that, I'd hoped for some understanding of why the issue is so resistant to solution. 02:37 hecks Also, if you base your development decisions (in other words, axe features) off of "usage data" then you are a bad developer and you should feel bad. 02:38 Xiong You force me to hack away and fix blind. If I get any backtalk, I'll get mad. 02:39 hecks hack away and fix blind, welcome to minetest 02:39 paramat nice videos, and effective 02:39 Xiong hecks you're driving me nuts. You're like Michael Moore. 02:40 Xiong I can't write you a blank check; the gods only know what you'd do with it. 02:41 Xiong But yes. Programming is the art of making good decisions. If the user knew how to make good decisions, he'd be a good programmer. 02:43 Xiong One guy told me I'd given him a really great program. The printout was just thick enough to wedge into his window and stop the draft. 02:44 paramat telemetry? nope 02:46 paramat that discussion you linked looks like a dev being too clever and not really knowing what to do with the data, heh 02:46 paramat he's probably better off just talking to players in a forum thread 02:48 hecks I'll reiterate, telemetry is a trap for a developer; the data is never representative of anything useful and you end up making bad decisions 02:48 hecks If you're a corporate rat who doesn't understand his own product, use telemetry. 02:53 Wikiwide Hello! I am trying to use Minetest - have server on one computer and clients on several. Question: How do I enter "Creative" mode to have unlimited supply of all materials to build a world with? 02:54 hecks Check "creative mode" when starting the server 02:54 NathanS21 Check the Creative tab when creating the game 02:54 NathanS21 or /grant playername creative 02:55 Wikiwide Thank you :-) Trying right now 02:58 Wikiwide "Creative mode" checked when starting the server, how do I see all these materials? 02:58 NathanS21 just open inventory 02:58 Wikiwide I probably haven't figured out which keyboard shortcut opens inventory? 02:58 NathanS21 i 02:58 NathanS21 or that's the default anyway. 02:59 Wikiwide Thank you :-) :-D Thanks a lot! 02:59 NathanS21 :) You're welcome. 03:00 Wikiwide Just trying to avoid using Minecraft - it was all the fashion at school. Hopefully, they will have new fashion this year - Minetest ;-) 03:01 hecks Educational use? 03:01 Wikiwide No idea. Kids these days have finger spinners one year and beyblades next year, games are going in and out of fashion like an epidemic. 03:02 hecks Make sure to install some nice mods like mesecons and perhaps technic. You can build machines with those. 03:02 Wikiwide hecks : Thank you :-) Motor boats? 03:03 NathanS21 Mesecons and Technic let you automate things, such as ore processing. 03:04 hecks No motor boats in those; mesecons lets you build simple computers and stuff. Also, you'll be asked "teacher where's the redstone" if you don't install it. 03:04 NathanS21 I don't know of any motor boat mods, but there is a boat included in default. 03:04 argyle77 I'm trying to teach 4yr old nephew how to play. Interesting to see what he is interested in and when trips him up. 03:05 Wikiwide I should put my 7yo brother directly onto this channel, he is the one into mining and crafting and construction ;-) 03:06 Wikiwide I am not into computer games in general - with rare exceptions such as chess. 03:45 Xiong I'd like to see mt servers with more care taken for a prosocial agenda... failing that, an attempt to exclude minors. 03:46 Xiong I don't say it's the job of entertainment to teach good; but I don't feel it's good to teach evil. 03:49 Wikiwide Welllll... My brother has taken to giving made-up birthday to whichever program asks about it. So, excluding minors should be done smartly, if done. Such as, want to enter a world where guns are common? Have the newbie pass the test about how to use guns, how to clean guns, when guns can be used, and difference between assault and self-defense. In short, if they behave badly after that, then they are already wired to disregard wha 03:49 Wikiwide tever instructions are given, and can be banned by mods? 03:50 Wikiwide And currently, my brother is into construction (railway and everything). Creative worlds are likely safer for minors than damage-enabled worlds. 03:58 argyle77 My nephew refused to crawl out from under the desk until I disable non-peaceful mobs 03:59 Xiong Wikiwide you are exactly correct. 04:01 Xiong Forget age verification. I saw The Graduate when I was 12. 04:02 Xiong I had to look that up because it makes no sense. Must have been revived. 04:03 Xiong Anyway yes forget stupid verification. Look for evidence of matured thinking. 04:04 Xiong I have a sketchy idea of a game in which the new user is stuck in a rather limited world. He stays there until he earns his way to the next. 04:07 Xiong So on one track the user is scored on actions and that cumulative score must pass a threshold. On another track the user must pass certain challenges. These needn't be difficult to exclude angsty troublemakers. 04:09 Xiong I don't like "creative mode" myself. I see no challenge in it. But I also see no value in mt games that revolve around slaughtering other players. Even if you *want* a war game, mt is a poor choice. 04:12 argyle77 The challenge is making creative mode a challenge. 04:12 Wikiwide Creative mode is not particularly challenging, yes, in the sense that you don't need to mine. But it nurtures ability to craft. 04:12 argyle77 Hunger and mobs help 04:13 argyle77 Complex structures help 04:13 argyle77 stuff that needs an infrastructure to use 04:14 Wikiwide I wonder if anybody made a Minetest world based on Discworld, with Ankh-Morpork, turtle, elephants, Sun, Hub and such. 04:14 hecks Discworld sounds like a good fit... ha 04:15 Wikiwide Because that sounds like a good challenge to walk into, whether you are into crafting or into fights. The challenge would be finding a good company of mods, playing roles of Havelock Vetinari, and such. Sorry for any misspellings. 04:16 hecks It's well within minetest's potential. Time to learn lua? 04:17 Wikiwide Lolz, Lua sounds fun. And movement of Sun on Discworld is certainly different from that on a standard Earth? 04:18 Wikiwide Haven't ever coded in Lua before. Fortran, C, Python a little, bash at occasions, R once... Matlab/Octave a little. 04:18 argyle77 lua doesn't look too bad. not too hard to see whats going on 04:18 hecks The sun you technically can't fiddle with in minetest... but there are ways. 04:18 hecks Lua is close to Python but less retarded. Looks more similar to bash. 04:19 argyle77 just gotta lean the object model. theres a reference somewhere, right? 04:19 rubenwardy !book entit 04:19 MinetestBot rubenwardy: Objects, Players, and Entities - https://rubenwardy.com/minetest_modding_book//en/map/objects.html 04:19 Wikiwide Anybody ever launched an artificial satellite? ;-) or any space rocket 04:20 hecks Lua Reference Manual, Programming in Lua and rubenwardy's modding book are all the reading you need to make things in MT 04:20 hecks Artificial satellite... in real life? 04:22 hecks I'm afraid not. And doing space things in minetest is hard if not moot; the world is a 70x70x70km box 04:23 hecks Which is why a discworld would actually work, while space mods can only hope for a "you tried" trophy. 04:24 rubenwardy !mod other world 04:24 MinetestBot rubenwardy: Other Worlds [other_worlds] by Shara - https://forum.minetest.net/viewtopic.php?t=16015 04:24 rubenwardy You can have space, but not realistically 04:25 hecks Oh I've seen that, yeah, that's a "you tried" from me. 04:26 hecks There's no real point to space with how the voxels work; not unless you generate the whole world as a bunch of perlin asteroids and make a game with spaceships. 04:28 rubenwardy Still a pretty mod 04:31 Xiong Wikiwide the more code you've written, the more annoying Lua may be. 04:33 Xiong If I find myself writing any from scratch, I may just try using semis anyway and see if that settles my stomach. 04:33 hecks If you find lua annoying, then I have doubts about your programming skill. 04:34 FreeFull Lua does have some weird parts 04:35 hecks After spending more than half of my miserable life on other languages, lua became my #1 within a week of using. It's just too damn well designed. 04:35 ShadowBot https://github.com/minetest/minetest/issues/1 -- GlowStone code by anonymousAwesome 04:36 hecks issue: minetest bot should not respond to #n if n < 10 04:36 hecks #65536 04:36 ShadowBot hecks: Error: Delimiter not found in "HTTP Error 404: Not Found" 04:36 hecks #999999999999999999999999999999999999999999999999999999999999999999999999999 04:36 ShadowBot hecks: Error: Delimiter not found in "HTTP Error 404: Not Found" 04:37 hecks Lucky for you, bot 04:37 FreeFull I very much prefer Python to Lua, but Lua is better for embedding into games 04:37 FreeFull So it probably was the best choice for Minetest 04:37 hecks Significant white space. 04:38 FreeFull I mostly use Rust, but that's not a scripting language 04:39 hecks Lua is not a scripting language either, but she can be. Lua can be a file format. Lua can be your system shell. Lua will do anything you want. 04:42 FreeFull What do you mean by not a scripting language? 04:43 FreeFull Lua is pretty much the definition of a scripting language 04:43 hecks I expect scripting languages to be interpreted, slow and in some way limited. 04:44 hecks Lua is in fact a compiled language with decent on the fly compile/emit capabilities. 04:45 FreeFull There's LuaJIT, sure 04:45 FreeFull But it's not AoT compiled 04:46 hecks Even without luajit, when you "dofile" it gets compiled into bytecode. 04:46 FreeFull Python gets compiled into bytecode too 04:46 FreeFull Python is actually quite slow though 04:46 FreeFull Compilation into bytecode is pretty standard for any sort of interpreter 04:48 hecks It's just that, I've worked a lot with C# and I wouldn't call that a scripting language. And lua's semantics remind me of that more than they remind me of something like bash or basic. 04:48 hecks In both capabilities and performance Lua is no worse of a choice than Mono. 04:49 hecks It makes me look at C#, Java and even Python as things trying to solve a problem that Lua has already solved way better 04:49 FreeFull Right, I wouldn't call C# or Java a scripting language 04:50 FreeFull "Scripting language" in no way implies "slow" though 04:50 FreeFull hecks: I like Python's type system 04:51 hecks It does imply that it's for "scripts" though, but you can build a huge system in Lua just fine. I reckon this hasn't always been the case though, Lua evolved over time. 04:52 hecks Explain to me python's type system because it's been long since I was forced to use that; for contrast, lua has like 7 built in types and you basically don't need any other ones. 04:54 FreeFull Python is strongly typed, lets you define your own data types (Including standard OO stuff) 04:54 FreeFull It also has a rather big standard library 04:54 FreeFull Optionally, you can extend it with tools to bring in some static type checking 04:55 FreeFull By strongly typed I mean there isn't much implicit casting. You don't have the sort of mess you get with Javascript 04:56 FreeFull Still, for an actual big system that's not just some scripts I would use an actual statically typed language like Rust 04:56 hecks Lua has about as much casting as is needed, but doesn't come with a type system beyond the primitives. Instead, a table is the only collection, structure and class type you'll ever need. 04:57 FreeFull Yeah, I don't like "everything is a table" 04:57 hecks Using Lua has highlighted to me some problems with strong typing; there's so many constructs in every language that only exist as artifacts of type checking 04:58 hecks for instance interfaces and generics; the very concept of those is completely worthless in Lua 04:59 FreeFull Generics typically aren't needed in any dynamically typed language 05:01 hecks Precisely; but that doesn't mean that I can't have a full featured OOP system if I want to. In fact, it's more powerful and leaner than my ol' lamented C#. 05:01 FreeFull The way I write software doesn't really lean towards traditional OOP 05:01 hecks The trick is, even the concept of types doesn't really need any language support 05:02 FreeFull It does if you want to check them before your software actually runs 05:03 hecks And you *can* add type checking and other bookkeeping nonsense to lua if it's that critical. But just like .NET it'll add extra overhead. 05:04 hecks I missed the stuff initially, but then realized just how much of it is unnecessary. 05:06 hecks Don't even get me started on attempts to add OOP into a bare metal language like C++, it's a disaster 05:10 FreeFull hecks: How do you feel about the way things are done in Rust? 05:15 hecks I'm skimming the book on it and I don't "get" it yet. 05:18 hecks FreeFull: I'll file it under "another bastard child of C" 05:22 hecks It's a rearranged C++ I guess, suppose concurrency is the point? This reminds me, threads are the one thing missing in Lua and that sucks. 05:22 FreeFull Python's concurrency story isn't great either 05:23 Xiong FreeFull you and me. Need a table? Great, here's a table. Need an array? Here's a table. Need a hash? Here's a table. 05:24 Xiong I'm waiting for the Lua RDB. 05:24 FreeFull Rust has a bunch of things going for it: It's a systems programming language, without garbage collection. Sum types (which Rust calls "enum"s), the match syntax, traits, very easy to bring in and use external libraries, type system makes sure you get memory safety 05:25 hecks Xiong: it's a feature ¯\_(ツ)_/¯ 05:26 Xiong "type checking and other bookkeeping nonsense" -- I plan to frame that on the wall just to see who laughs and who nods wisely. Great for snap HR calls. 05:27 FreeFull hecks: One minor nit, I prefer 0-indexing to 1-indexing 05:27 hecks Syntactic sugar for enums and switch doesn't interest me; switches are a code smell. 05:28 hecks 1-indexing was indeed a mistake; n-dimensional array math doesn't add up because of that 05:28 hecks thankfully luajit usually catches those (n-1) expressions and smooths the whole deal out 05:28 Xiong "Lua can be your system shell." -- you can have my bash when you pry it from my cold dead fingers. 05:29 FreeFull They're not normal enums 05:29 FreeFull And not C-style switches 05:29 Xiong Well. 05:30 hecks Still, the idea is that if you need something like that, there's already rats in your code. 05:30 Xiong I have patched technic so fallback rubber loads on top of moretress... without disaster. 05:30 FreeFull Unix sh and derivatives really got the "executing programs interactively" part right 05:31 FreeFull hecks: How so? 05:32 hecks How so; mapping one thing to another like in a switch is a classic matroid problem, and is best solved using a data structure. 05:32 Xiong Rubber trees are sparse, quite so... which is fine. The trunks may be tapped, cut ground and extracted... and the latex alloyed into usable rubber fiber. The fallback trees do not spawn in utterly bizarre places... yet. 05:32 hecks Ditto for switches masquerading as if/else chains. Else if totally considered harmful. 05:34 Xiong I'm going to patch less aggressively, testing for mg, and see how that goes. 05:36 FreeFull hecks: Ok, so, one of the enums that comes in Rust's standard library is "enum Result { Ok(T), Err(E) }" which means in the Ok case you get something of type T, and in the error case you get something of type E. One or the other, not both 05:37 hecks Another artifact of a type system. 05:37 FreeFull How are errors handled in Lua? 05:39 hecks Exceptions? They're strings propagated until the last pcall 05:39 FreeFull Exceptions aren't great 05:39 hecks a pcall returns a bool and a string telling you what happened if there was an error 05:40 FreeFull With a Result type, you're instantly aware if something can return an error or not, and you can decide how to handle it, which might include just passing it on, or actually doing something 05:43 hecks well, okay, that's every error handling mechanism ever made 05:44 hecks Why are we comparing those two languages anyway; they're not in the same domain even 05:44 FreeFull hecks: It's not obvious if a function returns an exception or not 05:44 FreeFull True 05:44 argyle77 hey why does the lua make the engine crash? 05:44 hecks I'd rather evaluate Rust from a "can I just do this with C" perspective 05:45 hecks argyle77: how does it crash? What did you do? 05:46 FreeFull https://github.com/PistonDevelopers/dyon I guess this is more of a Lua competitor 05:46 FreeFull It has weird syntax though 05:48 hecks first time I see a language with a "why" keyword 05:48 hecks still waiting for the language with "when" statements 05:51 hecks clearly this is to Rust what Lua is to C, but it looks overdesigned 05:52 FreeFull It has stuff like concurrency 05:53 hecks Yeah sure 05:54 hecks It just doesn't have the mathematical simplicity that Lua has; only Lisp is a viable competitor to that 07:54 Emerald2 What's the 'blocker' tag on github for? (noticed it on some of the issues for minetest) 09:00 ANAND Emerald2: Those are for issues and PRs that "block" the upcoming release of Minetest, so to say 09:00 Emerald2 What do you mean? 09:01 ANAND i.e. They're even more important than the ones named high priority 09:01 ANAND e.g. Game-breaking bugs 09:02 Emerald2 Oooooooh. Thanks ANAND. :) 09:19 ANAND Yw :) 09:30 hecks https://a.cockfile.com/AgvsCm_skybox.mp4 one rewrite later 09:34 hecks The raymarch now basically costs nothing; it's spread over several seconds. Rasterization is the bottleneck but using non-square textures made it both faster and prettier. 12:03 second how do i know my joystick ID? 16:37 entuland hello everybody - is it possible to "refresh" the code of a mod while the world is running? - for development purposes, to avoid reloading the world for every change's test 16:39 rubenwardy not without a specially designed mod 16:39 rubenwardy you can dofile at anytime, so you could implement reloading like that 16:39 rubenwardy but you'll have to be careful not to introduce bugs by adding duplicate callbacks 16:40 entuland good, thanks a lot for the pointers rubenwardy 16:44 Andrey01 hi, i have a problem with texture rendering on my model in blender. It renders properly in Solid mode, but incorrectly in Rendered one. 16:44 Andrey01 screenshot of how it renders in Rendered: http://www.imageup.ru/img144/3270027/screenshot_20190127_194251.jpg 16:44 entuland Andrey01: the problem is in blender or in minetest? 16:44 Andrey01 in blender 16:44 rubenwardy looks like the normals are facing the wrong way 16:45 rubenwardy try flipping facing which look weird 16:45 rubenwardy I'm not good with blender though 16:53 Andrey01 but why does it look like correctly in Solid? as i see the positions of each face on the unwrapping of the model are correct 16:57 rubenwardy because there won't be backface culling 16:57 rubenwardy idk though 17:01 entuland in any case there should be an option to show the actual direction of the normals, and that will tell you whether the normals are right or not 17:02 entuland it shows as a line orthogonal to each face, with the longest end pointing to the actual normal (that is, marking the "front" of the face) IIRC 17:49 NathanS21 Andrey01 my guess would be that you don't have the material set up to use the UV mapping, so it's using box projection. 17:56 second how do i know my joystick ID? 17:57 rubenwardy on linux, by installing jstest-gtk 17:57 rubenwardy and then finding out which one reachs to changes 17:58 rubenwardy it's almost certainly 0 17:58 rubenwardy also, the controller support in Minetest isn't great because controllers vary per platform and per controller and per computer 17:58 second is there a best working controller? 18:04 second xbox i would imagine since it has a specific mention in the options? 18:06 rubenwardy I added the support for joystick IDs and for xbox controllers 18:06 rubenwardy however, xbox controllers only seem to work on my setup 18:06 rubenwardy because they are configured differently on windows 18:06 rubenwardy and other platforms 18:08 second i am trying it now with an xbox controller, it does a bit of moving around on its own it seems 18:15 valvey Hey guys just started playing, with mineclone 2 18:16 valvey I got pwned by a spider that somehow entered my hole through a wall, is that to be expected? I was thinking that making 2 or 3 blocks thick walls will counter this maybe 18:17 valvey And are there other such bugs that will cause me to lose progress in frustrating ways? 18:23 Andrey01 NathanS21, i have material :\ 18:34 NathanS21 yes, but is it set to use the objects UV map. 18:34 NathanS21 You can have a the material showing correctly in the 3d view, but not be applied when rendering. 18:50 Andrey01 NathanS21, i don`t know how to apply it when rendering, i only know how to apply in general case 18:51 Andrey01 that is, when switching to 'Material' editor and set up needed material 18:52 NathanS21 Are you using Blender Internal or Cycles? 18:53 NathanS21 nevermind, I just pulled the picture back up 18:53 NathanS21 If you go to the texture settings 18:53 NathanS21 look for a section that says mapping 18:54 NathanS21 you want to select UV from the dropdown menu 19:25 Superuser hi 19:25 Superuser can i please have a wiki account? 19:26 Superuser :( 19:27 NathanS21 Way to stick around for somebody to try and help you. :S 19:42 DoyleChris trying out the new mapserver and i cant get it running 19:43 DoyleChris it says to run ./mapserver but linux gives me this bash: ./mapserver.exe: No such file or directory 19:46 rubenwardy remove the .exe 19:47 DoyleChris i did still same error with ./mapserver 19:48 DoyleChris on the github its just 1 file with no extension