[Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

Do you use this mod?

Yes, I like it.
7
88%
No, I'm not interested.
1
13%
 
Total votes : 8

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

[Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Tue Sep 12, 2017 19:16

Image
Turns newly generated cobblestone dungeons into stonebrick.

Version: 0.3.0
License: EUPL v1.2 or later.

Dependencies: default, stairs (found in Minetest Game)
Supported: Castle Masonry


Downloads:
Archives: .zip .tar.gz
Source code: GitLab


Installation
Unzip the archive, rename the folder to stonebrick_dungeons and place it in
../minetest/mods/

If you only want this to be used in a single world, place it in
../minetest/worlds/WORLD_NAME/worldmods/

GNU+Linux - If you use a system-wide installation place it in
~/.minetest/mods/

For further information or help see:
https://wiki.minetest.net/Help:Installing_Mods
Attachments
screenshot_big.png
(135.23 KiB) Downloaded 1 time
Last edited by Hamlet on Fri Dec 20, 2019 17:54, edited 17 times in total.
 

Sokomine
Member
 
Posts: 3976
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine

Re: [Mod] Stonebrick Dungeons [0.1.0] [stonebrick_dungeons]

by Sokomine » Fri Nov 03, 2017 01:54

Does it turn all cobble into stonebrick? It might be more intresting to plug into mapgen, get informed about dungeon generation (at least partly possible) and decorate the rooms from there on.
A list of my mods can be found here.
 

User avatar
duane
Member
 
Posts: 1611
Joined: Wed Aug 19, 2015 19:11
Location: Oklahoma City
GitHub: duane-r

Re: [Mod] Stonebrick Dungeons [0.1.0] [stonebrick_dungeons]

by duane » Fri Nov 03, 2017 06:41

Sokomine wrote:Does it turn all cobble into stonebrick? It might be more intresting to plug into mapgen, get informed about dungeon generation (at least partly possible) and decorate the rooms from there on.


There's code in the new dungeon_loot mod in minetest_game for finding the boundaries of dungeon rooms using gennotify.
Believe in people and you don't need to believe anything else.
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.1.0] [stonebrick_dungeons]

by Hamlet » Fri Nov 03, 2017 12:30

Sokomine wrote:Does it turn all cobble into stonebrick? It might be more intresting to plug into mapgen, get informed about dungeon generation (at least partly possible) and decorate the rooms from there on.


Yes, it also turns cobble stairs into stonebrick stairs; this module was born to prevent dungeons crumbling when using fallen_nodes - i.e. placing a torch or a light point from BrunoMine's hardtorch triggered the node state update making the whole structure crumble. Definitively not acceptable for my subgame.

Of course one could just use it for cosmetic purposes, tuning it to add torches and other furniture - unfortunately this is beyond my skills.
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.2.0] [stonebrick_dungeons]

by Hamlet » Thu Mar 01, 2018 12:49

Release v0.2.0

- If Castle Masonry is installed, then "pavement bricks" are used instead of "dungeon bricks".

The former were way too dark, preventing to see anything even with tons of torches.
 

User avatar
texmex
Member
 
Posts: 1725
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

Re: deleted

by texmex » Mon Apr 09, 2018 17:39

Why delete this mod? :(
Mods | Support Mesehub: bc1qluuests9rxmlnvpjrhsnyjg9ucwy6z3r0y3srw
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: deleted

by Hamlet » Mon Apr 09, 2018 18:58

texmex wrote:Why delete this mod? :(


I'm in the process of reviewing and rewriting all of my contents, it will come back as soon as possible. :)
 

User avatar
texmex
Member
 
Posts: 1725
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

Re: deleted

by texmex » Tue Apr 10, 2018 07:56

Hamlet wrote:I'm in the process of reviewing and rewriting all of my contents, it will come back as soon as possible. :)


It's a bit bad open source etiquette to take repos down in the meanwhile however. But it's good to hear it will be back soon.
Mods | Support Mesehub: bc1qluuests9rxmlnvpjrhsnyjg9ucwy6z3r0y3srw
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: deleted

by Hamlet » Tue Apr 10, 2018 10:14

texmex wrote:It's a bit bad open source etiquette to take repos down in the meanwhile however. But it's good to hear it will be back soon.


*removed archive link*
Last edited by Hamlet on Wed Apr 11, 2018 09:11, edited 1 time in total.
 

User avatar
texmex
Member
 
Posts: 1725
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

Re: [Mod] Stonebrick Dungeons [0.2.0] [stonebrick_dungeons]

by texmex » Tue Apr 10, 2018 11:33

Thanks alot, Hamlet! <3
Mods | Support Mesehub: bc1qluuests9rxmlnvpjrhsnyjg9ucwy6z3r0y3srw
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Fri Dec 20, 2019 17:55

Released v0.3.0

Added:
- Replacement will occur only on dungeon generation notification, and only in that area.

Changed:
- License changed to EUPL v1.2.
- Code rewritten from scratch.
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Fri Dec 20, 2019 19:37

Sidenotes...

v0.2.x scanned on map generation for any cobblestone nodes.
This was fine for vanilla map generators, which only use cobblestone in dungeons but it was not fine for map generators that use cobblestone in their biomes - for example, "Dwarf Fortress Style Caverns".
Imagine a cavern's floor dotted with stonebricks...

v0.3.0 uses "dungeon notify generation", that is a notify issued by the mapgen.
This restricts the scan to a defined area, allowing for compatibility with map generators using cobblestone in their biomes; it also prevents unnecessary scans.

However, this method has its limits: the "dungeon generation notify" does not specifies, for example, the area occupied by a dungeon's room or a tunnel: it only tells you where the room's generation starts. Let's say, the room's center coordinates.

To better understand this point, an image.
The mese lamps are placed at the coordinates given by the notify.
By the way, since I forgot to remove a debug feature, you can see those coordinates in the console: "Dungeon position: (190,-102,320)"

Image

Therefore we know where the "room's center" is, nothing else.
To change its walls and stairs, the code scans the area surrounding the given coordinates - the offset in all directions is 22 nodes - and replaces the cobblestone nodes to obtain this:

Image

This method's limit is the offset: 22 nodes, which has been chosen because mapgen_v6 dungeons' "room_size_large_max" Y value (height) is 21 (others' is 16).
If between "room A" and "room B" there is a tunnel going out of the reach, it will stay as it is: cobblestone-made.

To sum up, I consider this mod good enough to achieve its goal while maintaining the widest possible compatibility; but I'm aware of its limits.

Currently the best way to completely remove cobblestone from dungeons is unregistering and re-registering the biomes, changing these values:

Code: Select all
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",


If you would like a better way to achieve this, you might be interested int this: Ability to (partially) override definitions of existing biomes after they have been registered which is a request for "overriders" that should allow to achieve what this mod does - and possibly other things - in a cleaner, more performant and safe way... last but not least, more user-friendly.
Attachments
Dungeon_MeseLamps2.png
(262.61 KiB) Not downloaded yet
Dungeon_MeseLamps.png
(412.01 KiB) Not downloaded yet
 

User avatar
paramat
Developer
 
Posts: 3580
Joined: Sun Oct 28, 2012 00:05
Location: UK
GitHub: paramat
IRC: paramat

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by paramat » Sat Dec 21, 2019 22:39

> Currently the best way to completely remove cobblestone from dungeons is unregistering and re-registering the biomes

Why not use this method in this mod? I recommended this in the issue and v-rob posted the simple overriding code.
That will be much simpler and not affect mapgen speed at all, whereas this mod, that uses set_node, will be slow and intensive.
 

kestral
Member
 
Posts: 88
Joined: Mon Mar 27, 2017 21:56
GitHub: kestral246

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by kestral » Sun Dec 22, 2019 00:58

I've been playing with v-rob's override_biome today, and it does seem to be working—changing the dungeons from cobblestone to stonebrick. (I overrode all the biomes that had node_dungeon* in them, except the floatland ones.)

However, It seems to be causing big problems with biome decorations—the grassland biome is being covered with deciduous trees, and the snowy_grassland biome is covered with coniferous trees.

I was also experimenting with this method to see if I could add a couple more dirt_with_snow nodes. With just overriding node_top for taiga or snowy_grassland, the grassland biome was also filled with deciduous trees, (but not the snowy_grassland). Copying over all the register_decoration statements and rerunning them after the biome overrides did seem to clean up all the biomes again, but that's more than I want to do.

As a side question, how do I get dungeons on the surface again? I realized I haven't seen them in a while and I had to go flying through the ground pretty deep with noclip to even be able to find a dungeon. (I'm using 5.2dev.)
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Sun Dec 22, 2019 15:15

paramat wrote:
Hamlet wrote:Currently the best way to completely remove cobblestone from dungeons is unregistering and re-registering the biomes


Why not use this method in this mod? I recommended this in the issue and v-rob posted the simple overriding code.
That will be much simpler and not affect mapgen speed at all, whereas this mod, that uses set_node, will be slow and intensive.


I thought about doing it, but after checking DFCaverns' code I decided not to do it because of this:
Unfortunately there's no easy way to override a single biome, so do it by wiping everything and re-registering
Not only that, but the decorations also need to be wiped and re-registered - it appears they keep
track of the biome they belong to via an internal ID that gets changed when the biomes
are re-registered, resulting in them being left assigned to the wrong biomes.

Source: link

Shortly said: since I'm a total noob with mapgens and decorations related matters, I preferred not to play the "sorcerer's apprentice"; kestral's post is an example of the situation that I wanted to avoid: once that the "genie is out of the bottle" (or, "the s*it hit the fan") I would have no idea on how to put it back in. :/

Moreover and most importantly, I don't know what could happen using two mods using that method: Stonebrick Dungeons + DFCaverns = ???
In my game I could add to DFCaverns an "optional_depends = stonebrick_dungeons" to prevent precedence conflicts, but that's a single case: what if someone else uses it with similar potential conflicts (Stonebrick Dungeons + custom mapgen + another decoration mod + whatever + etc)? ?_?

Thus, I took no chance: indeed this method is slower and less efficient, but at least it won't ruin someone's map - I think that this is the most important thing: in the worst scenario there will be a weird looking dungeon, not a whole map messed up. :)
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Sun Dec 22, 2019 15:20

kestral wrote:As a side question, how do I get dungeons on the surface again? I realized I haven't seen them in a while and I had to go flying through the ground pretty deep with noclip to even be able to find a dungeon. (I'm using 5.2dev.)


I can't find the setting but I'm pretty sure it's there somewhere, anyway look at this:
link
 

User avatar
paramat
Developer
 
Posts: 3580
Joined: Sun Oct 28, 2012 00:05
Location: UK
GitHub: paramat
IRC: paramat

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by paramat » Tue Dec 31, 2019 20:07

> Not only that, but the decorations also need to be wiped and re-registered - it appears they keep
track of the biome they belong to via an internal ID that gets changed when the biomes
are re-registered, resulting in them being left assigned to the wrong biomes.

Ahh interesting.
So yes i can understand being careful here.
 

User avatar
paramat
Developer
 
Posts: 3580
Joined: Sun Oct 28, 2012 00:05
Location: UK
GitHub: paramat
IRC: paramat

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by paramat » Tue Jan 07, 2020 02:31

kestral wrote:As a side question, how do I get dungeons on the surface again? I realized I haven't seen them in a while and I had to go flying through the ground pretty deep with noclip to even be able to find a dungeon. (I'm using 5.2dev.)

Dungeons should always appear on the surface, unless this mod does something weird.

The 'projecting dungeons' setting has been removed as it no longer seems to have any effect. The only difference it made was allowing dungeons that occasionally appeared with complete rooms and projecting out from the terrain surface.

Dungeons should still appear on the surface but with 'cut open' rooms.
 

User avatar
Linuxdirk
Member
 
Posts: 2424
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Linuxdirk » Tue Jan 07, 2020 12:17

I wonder how complicated/complex it would be having dungeons with cobblestone ground (this is what cobblestone is for, imo) and stone brick walls.
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Tue Jan 07, 2020 13:33

Interesting.
First you write:

paramat wrote:That will be much simpler and not affect mapgen speed at all, whereas this mod, that uses set_node, will be slow and intensive.


Which of course means that you have looked at my "20 lines of code"
init.lua
I take for granted that you can understand in a blink what those "20 lines" do.

Then you write:
paramat wrote:Dungeons should always appear on the surface, unless this mod does something weird.


Which, since you are a Core Developer, means that if there is something going wrong in Minetest is due to my mod, not your Engine.

Well.
If I were you, instead of going around "blaming" other people, I would ask myself if there is actually something wrong in the Engine.

For example, the fact that floating islands are broken since at least two years; no matter how you turn them off, be it either via GUI settings or minetest.conf - the mapgen V7 will keep spawning floating pieces of land.
The fact that they might be just a pile of 3 floating nodes - instead than a full scale island - does not make the bug less noticeable.

End Note: when using this mod alongside DFCaverns, OFTEN cobble stairs don't get converted into stonebrick, or only some of them; this proves that no matter which "performant" (voxelmanipulation, biome de-registration and re-registration) method one uses: conflicts do happen, and as has already been stated and proved beyond any reasonable doubt, they can screw up a whole map.
Last edited by Hamlet on Tue Jan 07, 2020 13:43, edited 1 time in total.
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Tue Jan 07, 2020 13:36

Linuxdirk wrote:I wonder how complicated/complex it would be having dungeons with cobblestone ground (this is what cobblestone is for, imo) and stone brick walls.


I thought about that shortly after releasing the latest version, then I decided not to even try implementing that feature.
I'd say that it could be enough to add another check: if there is air above that node, it means it's a floor node, then leave it made of cobblestone or turn it into paving node, e.g. dirt or stone slabs.

[sarcasm]
+ Spoiler
[/sarcasm]

Honestly?
At the moment I believe that it would be easier to turn off vanilla dungeons and add your own dungeon generator; faster and cleaner than messing with hardcoded features.
 

User avatar
Linuxdirk
Member
 
Posts: 2424
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Linuxdirk » Tue Jan 07, 2020 15:03

Hamlet wrote:I'd say that it could be enough to add another check: if there is air above that node, it means it's a floor node, then leave it made of cobblestone or turn it into paving node, e.g. dirt or stone slabs.

Aren't there aliases/placeholders for dungeon stones already in the code? Couldn't it be possible to just configure the generator/schematics to ue aliases for walls, ceilings, and floors and then have those configured by the biome?

Hamlet wrote:At the moment I believe that it would be easier to turn off vanilla dungeons and add your own dungeon generator; faster and cleaner than messing with hardcoded features.

Yes, after years of nagging I decided to exclusively go this route because I learned that nothing will ever really addressed and takes dozens of releases or will simply be ignored forever. Everything that annoys me and that is ignored by the devs I fix by myself using a mod.

Seems like I need to dig into dungeon generation now.
 

User avatar
Hamlet
Member
 
Posts: 700
Joined: Sat Jul 29, 2017 21:09
Location: Lombardy, Italy
GitHub: h4ml3t
IRC: H4mlet

Re: [Mod] Stonebrick Dungeons [0.3.0] [stonebrick_dungeons]

by Hamlet » Tue Jan 07, 2020 17:20

Linuxdirk wrote:Aren't there aliases/placeholders for dungeon stones already in the code? Couldn't it be possible to just configure the generator/schematics to ue aliases for walls, ceilings, and floors and then have those configured by the biome?


I did not understood that you were talking about the mapgen/biome itself; that is "Black Magic" for me, I would not try to touch that code even with a 50mt pole - that is, from a safe distance.

Linuxdirk wrote:Seems like I need to dig into dungeon generation now.


I thought about that as well.

Then I thought about the most probable scenario:

1 - Learn from Rogue (https://www.coredumpcentral.org/) how a nice dungeon generator works.

2 - Implement it into LUA as a mod for Minetest.

3 - Release it as standalone mod.

Three steps that, needless to say, would require hours of planning, development, testing, bugfixing - that is, days and weeks, at least for an hobbyist programmer as me.

Then, the scenario would probably evolve into:

4 - People using such a complex mod without even writing "cool ty" (that's 7 characters, space included) in the mod's thread.

5 - Server owners would add it to the other hundreds of mods, without even giving proper credit either on the server itself or on the server's forum thread; example "This server has been possible thanks to the work of A, B, C, which actually developed X, Y, Z".

6 - People would reply to the mod's thread only to complain about this or that glitch, and to ask for this or that additional feature - as if the whole is a due thing.


End of the story: I'll gladly spare myself all of the above.

However if you are fine with the above, I would surely add such a feature in my game.
 

Next

Return to Mod Releases



Who is online

Users browsing this forum: No registered users and 2 guests