Luanti logo

IRC log for #luanti, 2025-06-27

| Channels | #luanti index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:10 fluxionary joined #luanti
00:35 YuGiOhJCJ joined #luanti
01:16 SwissalpS joined #luanti
01:23 FileX joined #luanti
01:27 FileX joined #luanti
01:45 SwissalpS joined #luanti
01:57 repetitivestrain -
02:02 Guest53 joined #luanti
02:14 fluxionary joined #luanti
02:25 repetitivestrain joined #luanti
03:15 v-rob joined #luanti
03:24 alias joined #luanti
03:24 repetitivestrain sfan5: emerge_area is too slow: enqueueing a 6x6x6 region of mapblocks requires 6-9 ms, and i must reload every mapblock in range that is not yet generated on every globalstep, even if it is already in the emerge queue, because core.compare_block_status is unreliable in reporting whether a mapblock is actually imminently to be emerged
03:25 repetitivestrain however, reading RemoteClient::GetNextBlock, it appears that server side occlusion culling only applies to mapblocks that are not yet loaded
03:25 repetitivestrain is that correct??
03:27 repetitivestrain if it is, then i see no downsides in simply disabling server side occlusion culling in mineclonia when my mapgen is enabled and i apologize contritely for wasting your time
03:30 SwissalpS joined #luanti
03:38 amfl2 joined #luanti
04:00 MTDiscord joined #luanti
04:16 [MatrxMT] <Blockhead256> forums are down again, R.I.P.
05:25 diceLibrarian joined #luanti
05:29 diceLibrarian joined #luanti
05:30 SwissalpS joined #luanti
05:42 FileX joined #luanti
05:43 FileX joined #luanti
06:03 orwell96 joined #luanti
06:05 orwell96 joined #luanti
06:14 fluxionary joined #luanti
06:24 zleap joined #luanti
06:33 illwieckz joined #luanti
07:06 Kimapr joined #luanti
07:08 swee joined #luanti
07:14 SFENCE_arch joined #luanti
07:33 alpiquero joined #luanti
07:37 sfan5 repetitivestrain: no, SSOC applies to all blocks
07:44 sfan5 trying to coax the block loading to serve the requirements of your mapgen is probably futile
07:44 sfan5 it sounds like what you need is a custom chunksize setting or something similar but more precise
07:45 sfan5 also please report bugs you encounter. I get the impression there are a bunch of features known as "oh this is broken, don't rely on it" in the community meanwhile the engine devs have never heard about this problem.
07:45 [MatrxMT] <Blockhead256> we have several people who are github detractors and won't post to the issue tracker for that reason
07:46 [MatrxMT] <Blockhead256> this is not helpful to the project as a whole
07:47 [MatrxMT] <Blockhead256> https://forum.luanti.org/viewtopic.php?p=444793#p444793
07:48 repetitivestrain sfan5: i see, can you direct me to where occlusion culling is applied to blocks already emerged?
07:48 repetitivestrain i have explained my requirements on the forums and i'd love to report them as issues too, only i would rather not sign up for GitHub
07:49 [MatrxMT] <Blockhead256> https://forum.luanti.org/viewtopic.php?t=29291
07:49 repetitivestrain Voted, FWIW
07:49 sfan5 it's indeed unfortunate but linking a pastebin with a filled in issue template in #luanti-dev would be better than literally nothing
07:49 sfan5 fwiw I think most devs don't read the forums actively, so that's not the right place
07:49 sfan5 repetitivestrain: https://github.com/luanti-org/luanti/blob/master/src/server/clientiface.cpp#L338
07:50 sfan5 in words this condition is "if the block is loaded already or about to be loaded"
07:50 [MatrxMT] <Blockhead256> look, I'm checking the forums quite regularly, but it honestly feels like people asking me to write and mail a letter for them when they report an issue there but won't post to the issue tracker
07:51 repetitivestrain sfan: Ah, I see
07:52 repetitivestrain wouldn't "if the block is loaded already or is not about to be generated" more accurate?
07:52 repetitivestrain since a queued block is about to be generated
07:53 sfan5 "if the block is loaded already and wasn't already enqueued to be generated" to be exact
07:53 repetitivestrain Makes sense, thanks
07:56 sfan5 @Blockhead256 especially for feature requests, getting someone else to open the issue for you is not a sustainable solution. yeah
07:56 repetitivestrain Where is the issue/ticket template?
07:56 sfan5 https://github.com/luanti-org/luanti/blob/master/.github/ISSUE_TEMPLATE/bug_report.yaml
07:56 repetitivestrain Sorry if i come across as a whit blind
07:57 repetitivestrain Noted
07:57 [MatrxMT] <Blockhead256> https://github.com/luanti-org/luanti/tree/master/.github/ISSUE_TEMPLATE
08:00 repetitivestrain On a totally unrelated score, has there been any consideration in engine development regarding storing metadata in schematics?
08:00 sfan5 has not been talked about but my gut feeling says "intentional, wontfix"
08:01 repetitivestrain Well I'm only asking because it strikes me as a feature that would be broadly useful to all mod developers
08:02 diceLibrarian2 joined #luanti
08:03 repetitivestrain e.g. here i've implemented a system of structure templates, which are akin to schematics but also encode metadata, which nodes' constructors must be executed, and also data blocks that hold directives indicating how to post-process adjacent nodes, etc.  https://codeberg.org/mineclonia/mineclonia/src/commit/mineclonia_mapgen/mods/MAPGEN/mcl_levelgen/templates.lua
08:04 repetitivestrain and what's awful is that previously two copies of an inferior mechanism existed in mineclonia, one in mcl_villages and another i recall in mcl_structures
08:05 repetitivestrain and this just must be unsustainable
08:05 [MatrxMT] <Blockhead256> I have a feeling the engine won't do anything to aid in that unless there's something that can be done to make a library for that kind of thing faster
08:06 [MatrxMT] <Blockhead256> just like pathfinding is limited to a C++-side A* algorithm that can accelerate the Lua
08:06 repetitivestrain The engine already provides schematics, though
08:06 repetitivestrain which could easily be extended to store metadata
08:06 [MatrxMT] <Blockhead256> different schematic formats will exist, and that's okay. They all need different data in them
08:07 sfan5 repetitivestrain: did you check that chunksize=6 actually makes your mapgen work?
08:07 repetitivestrain We'll see whether you change your mind after being made to convert 16 structures from mts schematics with standalone metadata for an improvised system to use structure and jigsaw blocks
08:07 repetitivestrain sfan5: you mean in the case of occlusion?
08:07 heavygale joined #luanti
08:08 sfan5 no
08:08 sfan5 what is the "entire vertical area of a chunk" height that you need?
08:08 repetitivestrain chunksize=24
08:08 repetitivestrain vertically, and any value horizontally
08:10 repetitivestrain otherwise, it does "work", but it needs to regenerate every mapchunk-sized subsection of a 24 block column anew, which renders map generation 4x slower than it could be
08:11 sfan5 "mapchunk" being what?
08:12 repetitivestrain a chunksize^3 volume of mapblocks
08:12 repetitivestrain i think this is the term that's in lua_api.md
08:12 sfan5 then I don't understand why you say it has to regenerate stuff twice
08:14 repetitivestrain upon on_generate, my map generator produces a 80x384x80 block region of the world, which is truncated to [minp.y - maxp.y] before being written to the VoxelManip
08:15 sfan5 ah okay
08:15 sfan5 by the way it appears the engine limits chunksize to 10
08:15 repetitivestrain therefore, generating a complete column (80x384x80 nodes) requires that the very same column must be processed four times, although in effect it's just two, as clients tend not to trigger mapblock generation at any further distances
08:15 repetitivestrain Hmm?
08:15 repetitivestrain Feels pretty arbitrary to me
08:16 sfan5 most limits are arbitrary
08:16 [MatrxMT] <Blockhead256> it's pretty common for programs like Luanti to have a bunch of arbitrary magic numbers in them like that though
08:17 repetitivestrain My map generator can't handle horizontal chunksizes beyond 9, i think, as it manipulates various types of extensively with the bitop library which only takes 32-bit integers
08:18 sfan5 so even ignoring that the engine can't do it your mapgen can't handle chunksize=24
08:18 repetitivestrain but it has no conception of vertical chunks, and always generates complete columns, which is ultimately the only means of ensuring determinism
08:18 repetitivestrain not _horizontally_, but _vertically_
08:18 jaca122 joined #luanti
08:18 repetitivestrain i need the engine to generate 80x384x80 mapchunks
08:18 sfan5 yes I know
08:18 repetitivestrain Yeah, so you see my predicament
08:19 repetitivestrain once i finish the mapgen i'll try my hand at implementing this
08:21 sfan5 chunksize 24³ makes mapgen quite slow, has high memory consumption, probably causes extra server lag
08:21 sfan5 and with mgv7 you get holes in terrain https://0x0.st/8lEG.jpg
08:22 repetitivestrain 24*3 is really extreme, but 5x24x5 is only 600 mapblocks, much fewer than 10x10x10, and should be managable
08:22 repetitivestrain 24^3 i mean
08:23 sfan5 !c 24^3
08:23 MinetestBot 27
08:23 sfan5 *wink*
08:23 repetitivestrain That's 24 xor 3
08:23 sfan5 anyway sure. I just gave it a try out of curiosity
08:23 repetitivestrain and really color me not surprised that mgv7 is slightly broken lol
08:23 sfan5 if the engine allows non-cubic chunks keeping the upper limit at 10³ makes sense
08:24 repetitivestrain the y slice issue is in part what prompted me to write my own mapgen
08:24 repetitivestrain and also all of the issues on mineclonia's tracker that concern structure placement
08:28 repetitivestrain also, non cubic chunks could easily be a solution to the y slice issue
08:28 repetitivestrain i hope
08:31 orwell96 joined #luanti
08:40 mrkubax10 joined #luanti
08:53 FileX joined #luanti
08:59 mrkubax10 joined #luanti
09:47 TenPlus1 joined #luanti
10:35 orwell96 joined #luanti
10:42 sfan5 repetitivestrain: have fun https://github.com/sfan5/luanti/tree/chonky
11:17 alidrus joined #luanti
11:21 WoGoMo joined #luanti
11:27 WoGoMo Hi I was wondering if someone could tell me if there was a way to force grass to grow on plain dirt if there are no pre-existing "dirt with grass" blocks with just the default server mods
11:34 sfan5 use creative mod and place some grassy dirt, it will spread
11:34 sfan5 mode*
11:35 [MatrxMT] <Blockhead256> if you have tall grass, then that will also spread grass to dirt blocks under it
11:43 repetitivestrain sfan5: thanks!  i'll probably wind up adding the ability to specify the base Y offset too (chunk_offset.Y in EmergeManager::getContainingChunk), to enable the overworld to continue originating from Y=-128
11:45 ireallyhateirc joined #luanti
11:50 WoGoMo thanks!
11:58 sfan5 https://0x0.st/8lIp.jpg mapgen made a cool arc
12:10 WoGoMo Well the tall grass worked like a charm. I have some patches of grass growing. One last thing though, is sunlight required for the grass to spread to adjacent dirt blocks?
12:12 [MatrxMT] <Blockhead256> sunlight or artificial light - the light level is checked before deciding whether the grow
12:12 [MatrxMT] <Blockhead256> whether to grow
12:12 WoGoMo thanks again. cheers!
12:24 WoGoMo Well, it's almost fully covered in grass now. Once done I can cover up the ceiling and my dirt monster trap will be done. :D https://0x0.st/8lIU.png
12:44 silverwolf73827 joined #luanti
13:12 SFENCE_arch joined #luanti
13:18 cheek_pain joined #luanti
13:50 zleap joined #luanti
13:55 silverwolf73828 joined #luanti
13:59 silverwolf73827 joined #luanti
14:06 SFENCE joined #luanti
14:20 repetitivestrain sfan5: i needed one additional change to retain the current dimension configuration: https://codeberg.org/halon/Minetest/commit/adf680ef1347170c05ff1498805e945113c211eb
14:24 repetitivestrain and in a cursory benchmark it yields the expected 4x speedup in /emergeblocks and feels roughly twice as fast
14:31 repetitivestrain https://codeberg.org/mineclonia/mineclonia/commit/ad84598c0ca31af071012c33ee3410101715c55d
14:31 repetitivestrain Also for what it's worth, these were the changes required to adapt my mapgen to this branch
14:32 the_sea_peoples joined #luanti
14:32 silverwolf73828 joined #luanti
14:36 sfan5 I can't promise the arbitrary offset will make it into the engine
14:37 sfan5 there are good arguments for it however
14:37 repetitivestrain yes, we have y=-128 specifically so that sea level may be located at y=0
14:37 [MatrxMT] <Blockhead256> yeah, terrain level/sea level isn't really something the engine needs to dictate
14:37 repetitivestrain afaik before our world height was extended to 384, the overworld commenced at y=-64
14:38 SFENCE joined #luanti
14:39 repetitivestrain Blockhead256: and without this change, our sea level would need to be a very counterintuitive -64, to speak nothing of the difficulties that would introduce in upgrading existing worlds
14:40 sfan5 strictly speaking it only dictates the implementation. you can generate any sea level with any chunk grid in theory
14:40 repetitivestrain not as efficiently though
14:40 repetitivestrain i would either have to raise the chunksize again (which translates into greater memory consumption)
14:40 repetitivestrain or return to generating columns redundantly
14:41 SFENCE joined #luanti
14:43 repetitivestrain so i suppose the proper nomenclature would be "quality of implementation"
14:43 [MatrxMT] <Blockhead256> appropriateness of the solution to the problem as presented
14:45 repetitivestrain But on balance I am pleasantly surprised by how much Minetest has progressed since 5.0.0
14:45 SFENCE joined #luanti
14:45 repetitivestrain lua map generators of this complexity would never have been feasible 5 years ago
14:49 repetitivestrain https://codeberg.org/attachments/44ab1891-a60c-43a9-936c-974603305c73
14:50 repetitivestrain e.g. it has never been possible to reproduce minecraft-style plains with the existing map generators
14:50 repetitivestrain as their biomes simply aren't influenced by terrain
14:51 [MatrxMT] <Blockhead256> I've got a set of parameters for carpathian that I quite like, it's VERY flat https://forum.luanti.org/viewtopic.php?t=17174&amp;start=50
14:51 repetitivestrain whereas in minecraft (and in my map generator), continentalness and erosion, which define terrain height, are also dimensions in the biome lookup tree
14:51 [MatrxMT] <Blockhead256> that has plains, mountains and lakes. That's about it for landforms...
14:52 repetitivestrain No WindsweptSavannahs?  :P
14:53 * [MatrxMT] <Blockhead256> looks that up
14:53 [MatrxMT] <Blockhead256> honestly that looks VERY cubic, the output of carpathian is really round
14:57 repetitivestrain Yes, but in minecraft they coexist in the same world
14:57 repetitivestrain and biomes are assigned on the basis of terrain rather than exclusively from separate heat and humidity noises
14:57 v-rob joined #luanti
14:57 SFENCE joined #luanti
14:58 repetitivestrain By the way, is anyone aware of a Lua implementation of the v7 mapgen?
14:59 [MatrxMT] <Blockhead256> a Lua implementation of a C++ mapgen? I think the only ones that exist on other languages were prototypes of what we have like valleys
14:59 repetitivestrain Too bad
15:00 repetitivestrain i'm still investigating how properly to convert existing worlds to this mapgen, and i'd have liked to implement conversion using the elegant approach, to wit, blending the noise values of blocks generated near old blocks with values produced by the previous map generator
15:00 [MatrxMT] <Blockhead256> I thought not even mojang bother with that sort of thing
15:00 repetitivestrain most of the infrastructure already exists, excepting some means of invoking v7 from Lua
15:00 repetitivestrain Mojang does
15:01 repetitivestrain the blending approach i'm referring to was first implemented by them in Minecraft 1.18
15:01 repetitivestrain https://minecraft.wiki/w/Density_function#blend_alpha
15:01 [MatrxMT] <Blockhead256> okay, my MC knowledge is very limited after like 1.2.5 or 1.7
15:02 repetitivestrain the other approach i am considering if this fails is some manner of moving average, but i suspect such an approach could only run as an external tool
15:02 [MatrxMT] <Blockhead256> Luanti mapgen was always backwards compatible with adding new biomes :P
15:03 repetitivestrain So is mine (and mojang's), since biomes are saved to disk and terrain defines biomes rather than vice versa
15:03 repetitivestrain but 1.18 featured a complete reimplementation of their level generator
15:04 [MatrxMT] <Blockhead256> you're probably aware that it didn't used to be like that, you used to update and get big stone walls and stuff
15:04 repetitivestrain i have only ever played minecraft 1.7.2, the release where pistons were introduced
15:04 repetitivestrain ca. 2011
15:04 repetitivestrain Beta 1.7.2*
15:05 repetitivestrain since which time i have not opened minecraft otherwise than in the course of developing mineclonia
15:06 [MatrxMT] <Blockhead256> this is.. exactly the sort of thing that any old player could tell you but is proving REALLY hard to try to find a screenshot of
15:07 [MatrxMT] <Blockhead256> https://www.howtogeek.com/213964/how-to-upgrade-your-old-minecraft-maps-for-seamless-transitions-to-new-biomes/
15:07 repetitivestrain don't worry, i was advised of this by other veteran minecraft players
15:07 SFENCE joined #luanti
15:07 repetitivestrain but i'm specifically speaking of and implementing the level generator introduced in 1.18
15:07 Helenah joined #luanti
15:08 repetitivestrain where biomes are defined by terrain, and additional biomes produce no visible chunk boundaries
15:08 Helenah Is there any way of showing a dialog box and expecting the player select some stuff in the dialog box before their character and the world will spawn for them?
15:08 Helenah I haven't seen a solution for this.
15:09 [MatrxMT] <Blockhead256> Helenah: My hack would be to check for first spawn and move them way up in the air, revoke all privileges, then force the formspec to reopen every time they close it. Then teleport them to their actual spawn when they complete the dialogue
15:10 [MatrxMT] <Blockhead256> *way up in the air, but inside an unbreakable prison with no light
15:12 [MatrxMT] <Bracket> a bit like techage server
15:12 Helenah Would there ever come more direct way? I think there are things which could be broke out the engine and put into the API.
15:13 [MatrxMT] <Bracket> you could disable closing the formspec on 5.12 afaik
15:14 [MatrxMT] <Blockhead256> and now there's an escape code of Shift+Esc, which people keep doing accidentally ... . .
15:14 [MatrxMT] <Bracket> why even, i don't see any benefits
15:15 [MatrxMT] <Blockhead256> so you can leave to the main menu without quitting the game if you get stuck
15:15 SFENCE joined #luanti
15:17 Helenah Why disable closing a formspec? Doesn't it need to close at some point? Or do you mean preventing the player from just escaping it without actually running through its options? That's beneficial and something I wanted, the idea is different players will start at different points in the world depending on what attributes they apply to their
15:17 Helenah character.
15:18 [MatrxMT] <Blockhead256> disabled from the PLAYER being able to close it - the server will decide when to do it instead
15:18 Helenah I'm trying to make an MMORPG, infact, I might just have this as a game instead of a mod now because it's getting pretty forceful but then I suppose I could provide a configuration option for server admins on whether they want players to be forced to play as a race and class or not.
15:19 [MatrxMT] <Bracket> whats a morg
15:19 [MatrxMT] <Blockhead256> a morgue is where they keep dead people
15:19 [MatrxMT] <Bracket> mmorpg*
15:19 [MatrxMT] <Blockhead256> (use a search engine)
15:19 tibtoblezob joined #luanti
15:20 [MatrxMT] <Bracket> bruh why am i so stupid sometimes
15:20 [MatrxMT] <Blockhead256> I'm guessing autocorrect did that
15:20 Helenah For me, it makes no sense to have an MMORPG where a player can opt out of being a member of a race or class, but then I've heard some server admin wanting to implement that choice into their own server, I suppose for him, it makes sense because that server didn't start as an MMORPG and he wants to keep things fair.
15:21 [MatrxMT] <Blockhead256> It's easier to code for fewer possibilities
15:21 Helenah Yeah
15:22 Helenah It's going to be an API, that's my intention so it makes sense to open up as many possibilities as possible.
15:22 [MatrxMT] <Blockhead256> you could write an MMORPG game, tossing existing games aside, or you could write a mod to add MMORPG elements to an existing game(s)
15:22 [MatrxMT] <Blockhead256> McMMO (for the proprietary game) would be an example of the latter
15:23 Helenah It's currently a mod, it went from a game to a mod.
15:23 [MatrxMT] <Blockhead256> well, mcMMO is probably most like runescape of all MMOs.. so grindy
15:23 [MatrxMT] <Blockhead256> no races, just skilling up when you repeat actions and sometimes gaining new benefits
15:24 Helenah Oh yeah, played runescape and remember all that, this has races and classes, register_race() and register_class()
15:24 [MatrxMT] <Blockhead256> game to a mod is not the typical way around, interesting
15:24 Helenah You can define the level scaling, etc, etc, etc, base stats, you name it.
15:24 [MatrxMT] <Blockhead256> I hope you're not just stretching yourself trying to please more peopl
15:25 Helenah This isn't about pleasing, I just think Luanti deserves a proper MMORPG engine.
15:26 [MatrxMT] <Blockhead256> thing is, when I think of MMOs, I think of custom engines
15:27 [MatrxMT] <Blockhead256> minecraft MMOs are the exception rather than the rule. I'm not up with how custom those are, but they would surely be made of many plugins per server
15:30 Helenah Yes, I mean, I have shortfalls, I can do MMORPG style music, I can write code, where I think I'll fall short is when it comes to graphics design for items, nodes, etc, that's where I think I'll fall short, as an API, people will be able to expand their luanti based MMORPG all they want and as much as they like, adding what they feel they can add,
15:30 Helenah whether it be new items, new nodes, new races, classes, spells, potions, you name it.
15:30 Helenah New levels... and new XP definitions, etc, new armour.
15:31 Helenah It will allow for a system of modularity as an API too in that people will have freedom to define how MMORPG works on their own server.
15:32 Helenah Like, I'm thinking anything I implement, there should be some alternatives, like if I implement a feature, there should be an option to disable it or define it.
15:32 [MatrxMT] <Blockhead256> modularity
15:33 Helenah Yes, it will be a mod that uses mods created by others, I might make a basic mod to go with it myself, to demonstrate it.
15:34 SFENCE joined #luanti
15:37 Helenah It may actually attract more to luanti, I spoke to some players of MMORPGs, who play the likes of guildwars and runescape, they think it's an excellient idea, the idea of a sandbox where you build and create and explore that has incorporated into it an MMORPG.
15:40 [MatrxMT] <Blockhead256> come to think of it, a lot of MMOs have separate character selection and creation screens. Those would be what is presented after logging into the Luanti server
15:40 Helenah I think Blizzard wanted to implement little sandbox type guild houses into WoW, but they must've gone back on that idea a long time ago because when I messed with their test features around all that, it was like "Cast this spell, right now, you can dump a guild house down with your cursor", but in a finite world like WoW where most areas are
15:40 Helenah populated, would that have been sustainable? :D At least with Luanti, a community can define their own world.
15:40 Helenah Yes, I got that code working.
15:41 [MatrxMT] <Blockhead256> doesn't that conflict somehow with your initial question today?
15:41 Helenah You define races and classes, when you log in, these defined races will show into a scrollbox, selecting one, a set of classes which you can play as that race will show up into another scrollbox, you can from a dropdown box select gender, upon clicking Create, you are teleported to the starting area for that particular race, I did not implement a
15:41 Helenah creation bit for skins though.
15:42 Helenah Not sure, what do you mean? I just felt it was janky to spawn in one place only to spawn into the other, but if that's the only solution, that's the only solution, right?
15:42 [MatrxMT] <Blockhead256> oh I see, it's in formspecs and those can be closed, except in 5.12
15:43 [MatrxMT] <Blockhead256> I was thinking you could attach the player to an immobile object and show them the real character as an entity in front of them while they customiseit
15:44 Helenah I mean, that's definitely doable, I've seen UIs in luanti like that.
15:45 Helenah Along those lines, I was thinking two days ago that if I was to implement something like that, I'd have per-race skins so that a human looks like a human, a dwarf looks like a dwarf and so on and so forth, and of course when using register_race(), the developer will be able to define skins available for race.
15:47 Helenah When using register_race(), it kind of looks like register_node(), etc, in that you pass into it a name for your race, and a structure, or as lua calls it, a table, this table contains all the different attributes.
15:47 [MatrxMT] <Blockhead256> have you seen https://forum.luanti.org/viewtopic.php?t=28251 ?
15:50 [MatrxMT] <Bracket> register_racisim
15:51 MTDiscord <wsor4035> counter proposal register_ban
15:52 mrkubax10 joined #luanti
15:57 Helenah Oh wow, I had not seen that... that's cool!
15:59 Helenah Bracket: It has the terminology "racial"
16:00 SFENCE joined #luanti
16:02 [MatrxMT] <repetitivestrain> Hey, this is the skins mod from which mcl_skins descends
16:05 mrkubax10 joined #luanti
16:10 [MatrxMT] <repetitivestrain> Is it also impossible for Lua mapgens to provide heightmaps of their own
16:11 SFENCE joined #luanti
16:11 shinbet joined #luanti
16:12 mrkubax10 joined #luanti
16:57 Helenah I wonder how feasible different armour types would be, for example, cloth, mail, plate and leather...
16:59 Helenah It would be nice if different classes would wear different materials from each other, for example, a druid being only able to wear leather and cloth, a warrior being only able to wear mail and plate.
17:07 fluxionary joined #luanti
17:18 lhofhansl joined #luanti
17:29 orwell96 joined #luanti
17:31 [MatrxMT] <Blockhead256> never seen it be the cast that plate classes can't wear lower classes of armour like cloth
17:31 [MatrxMT] <Blockhead256> *the case
17:32 [MatrxMT] <Blockhead256> anyway, not particularly hard, just use a custom field for it and check the armour class against the player's proficiencies
17:32 [MatrxMT] <Blockhead256> when trying to equip
17:37 MinetestBot [git] lhofhansl -> luanti-org/luanti: Use MapBlock::copyTo to fill MeshMakeData fcbf05f https://github.com/luanti-org/luanti/commit/fcbf05fc3030dbf5519f2ba748c89604a669a3a6 (2025-06-27T17:36:33Z)
17:49 gregon joined #luanti
18:35 gregon left #luanti
18:39 ineva joined #luanti
18:44 Helenah One thing that just came to mind is, I need to incorporate some way in which... via my API, developers can say use the armour, weapons, etc of other mods, applying things like classifications (cloth, leather, etc) to them, etc.
20:08 lhofhansl joined #luanti
20:18 Talkless joined #luanti
20:25 pgimeno is it possible nowadays to make conveyor belts that can transport players?
20:36 MTDiscord <jordan4ibanez> Yes
20:37 bwarden joined #luanti
20:40 Helenah pgimeno: Yes, a server I have played on (LinuxForks) used a conveyor belt within a train station, it seems if I stood on it, it would move me.
20:41 Helenah Like you could use conveyor belts as one of those band type escalators, not sure if you've seen those, at least in the UK, it's stair escalators which are common, but I had once seen a band type one. :)
20:51 pgimeno how is that done? set_physics_override perhaps?
20:52 sfan5 the other way I can think of is attachments
20:52 pgimeno I actually don't see how set_physics_override can help, if there's no possibility to set a force acting continuously on the player, but maybe I've missed something
20:53 MTDiscord <jordan4ibanez> You can add velocity, or you could attach, or you could moveto in increments which would trap them
20:53 MTDiscord <jordan4ibanez> add velocity is how I send you flying in tnt
20:53 pgimeno add velocity how?
20:54 MTDiscord <jordan4ibanez> player:add_velocity(vector.new(1,2,3))
20:54 pgimeno ahh thanks
20:54 MTDiscord <jordan4ibanez> You're welcome. You might want to make a little ledge in the conveyer so the player cannot auto step over it
20:55 pgimeno so that could also be used for, say, a water current that doesn't allow the player to swim upstream, right?
20:55 pgimeno tombraider-like
21:04 MTDiscord <jordan4ibanez> Yes, but you are at the mercy of the server step and if the player is making contact with the ground
21:04 pgimeno yeah I was wondering about the server step too
21:06 MTDiscord <luatic> your biggest enemy in luanti is not the dungeon master as commonly believed: it is the server step
21:07 tibtoblezob joined #luanti
21:37 Helenah I was just thinking, MMORPGs tend to have items with stats, that's fine, it makes sense for how an MMORPG works, but their style is fixed, what if... there are armors along with their stats that can be made, but you have the freedom to define how it looks... I know in WoW, you get something called transmogerification, or however it's spelled where
21:37 Helenah you could for example have "Red Leather Vest", it would be a red leather vest, literally have the attribute "leather" applied to it, and also a red design, with transmogerification, you can say apply the design of another piece to this item. I don't like that though, it's janky, it would still be called "Red Leather Vest", just it would look like
21:37 Helenah another item in-game, but hey, this is not WoW, it's Luanti, and I'm coding an MMORPG engine mod for it, so I could come up with a nicer solution, just need to work out how to go about such.
21:41 Helenah I have an idea, what if players could somehow stat their armour, so they'll make a piece of armour, then they would stat it, for example, applying to it 3 stamina or whatever, I know in WoW, you have things such as armour kits where if you apply them to a piece of armour, it ups the armour stat on the piece, and there are enchantments which can be
21:41 Helenah applied to the armour to change other stats, for example, the spirit stat or the agility stat or whatever, hmm, of course I don't want to copy WoW, but I am looking into other MMORPGs for ideas, seeing how they go about things, seeing how I could do these things better.
21:46 Helenah With Luanti being more about freedom than an MMORPG is, in that it's a sandbox, you create items, you craft things, you build structures, you create towns and cities, and it's all blocks in a world, it's very dynamic and flexible, I'm thinking an MMORPG engine for it should try to be as dynamic and flexible as possible, allowing many freedoms as
21:46 Helenah possible, that means I believe players should have some control over the definition of their armour, their items, weapons, staffs, swords, you name it, I don't think it should be as simple as kill a mob, look some armour, it has a load of base stats and you may be able to up those stats a bit, and that's all there is to it, it could be a bit too
21:46 Helenah rigid for an engine like Luanti, also, perhaps when it comes to Luanti, armour shouldn't be dropped by mobs, simply crafted.
21:52 Helenah Sorry, for my monologue, what do you guys think of the idea of trainer NPCs? I like that idea, I don't think players should simply have spells, skills, etc as they level up, there could be Race Trainers, Class Trainers, and trainers for different skills. You'd go to a trainer, you pay the trainer in return for knowing new spells, abilities, having
21:52 Helenah new skills. I was thinking of a function like "register_npc()" where you would register an NPC, giving it a name, defining what type of NPC it is, NPC types could have corresponding formspecs and functionality. I just want to hear opinions from developers, there could be limitations I'm not aware of or that didn't come to mind, some idea of mine
21:52 Helenah could be unfeasible.
21:59 SFENCE joined #luanti
22:02 Kimapr_ joined #luanti
22:02 SFENCE joined #luanti
22:19 diceLibrarian joined #luanti
22:24 Helenah celeron55: Is there any issue with me calling a project "LuantiRPG"? Originally, it was called "Luanti RPG", in code, it was called "luanti_rpg", it seems the channel name "#luanti-rpg" looks better than "#luanti_rpg" but clashes with your project channel namespace, plus you have channels like "#luanti-dev", I am of course not trying to seem like
22:24 Helenah my project is something to do with the Luanti development team, anyway, I have decided to rename the project to "LuantiRPG" (Note there is no space now), I hope it is fine that I create the channel "#LuantiRPG".
22:25 Helenah I mean, I thought of naming my project like this because the name of the project is self-descriptive, it's a Luanti RPG engine.
22:26 diceLibrarian2 joined #luanti
22:30 diceLibrarian2 joined #luanti
22:31 SFENCE joined #luanti
22:33 panwolfram joined #luanti
22:42 MTDiscord <the4spaceconstants2181> not all luanti games have a dungeon master what were they on about
22:44 MTDiscord <jordan4ibanez> He was joking around about the fact that your biggest enemy is not the enemy in the game, it's getting your mods/game running in the engine. The dungeon master used to be part of the actual engine. This was a reference to this
22:44 MTDiscord <the4spaceconstants2181> oh ok
22:44 MTDiscord <jordan4ibanez> We are old peoples
23:05 Eragon joined #luanti
23:16 sec^nd joined #luanti
23:16 MTDiscord joined #luanti
23:20 FileX joined #luanti
23:22 Helenah joined #luanti
23:31 orwell96 joined #luanti
23:32 Helenah orwell96: Long time, no chat! :D
23:32 Helenah How are things going? :)
23:45 MTDiscord1 joined #luanti
23:59 kamdard_ joined #luanti

| Channels | #luanti index | Today | | Google Search | Plaintext