Spammy structure generation; structures possibly ignore each other's spacing and separation settings
SplendidAlakey opened this issue · 5 comments
MC 1.19.2
FAPI 0.60.0
MVS 2.5.8
Hi! I'm having an odd issue with structures specifically from your mod. You have amazing default spacing and separation values, making structures rare and not spammy... after at least one of a kind has been generated. I'm not sure about the technicalities of the issue, so it's more of a speculation on my part, but it seems like structures only take structures of the same kind into consideration when calculating spacing/separation from other structures.
For example, an abandoned library generates at coordinates X200 Z500, which means that now if another abandoned library was to spawn, it would have to be at least 400 chunks away. But if, say, a crystal wanted to spawn right next to the abandoned library, it totally could.
I've noticed this behavior only with structures from MVS, I'm using a couple of other mods that generate structures, but the worst I've came across was one of them generating directly in the middle of a random village. E.g. The Graveyard mod adds multiple types of graveyard structures and from my testing, none of them spawn close to each other (note: default values for them are way too low, I manually increased them via the config by at least x100). It didn't matter whether it was a single grave or a massive crypt, they simply didn't spawn next to each other. Another example is Repurposed structures, which adds many new versions of vanilla structures, like villages, ruined portals etc, all of which respect another structure's spacing.
Initially, I suspected some kind of mod interference, since default values for spacing and separation in MVS are very high, but I've gone ahead and tested 20 worlds with no other mods installed.
Here are the results (click to expand)
-
Seed:
652540275449381318
, 2 big structures generated basically right at spawn. X: 10, Z: -3
-
Seed:
757783286943109150
, looks good, no structures for hundreds of blocks! X: -198, Z: -700
-
Seed:
7110449246181609552
, 5 structures generated next to each other, not counting the ruined portal, within the spawn area. X: 13, Z: 12
-
Seed:
2504197529629243257
, tumbleweed... Sorry, looks good :D X: 120, Z: -350
-
Seed:
7666639132010226505
, 5 structures generated next to each other at spawn. X: -4, Z: 4
-
Seed:
1785025892740334576
, 2 structures at spawn, too close to each other for my taste, but not the biggest deal; although this damn chicken is my personal nightmare, as it spawns very often and contains diamond blocks. X: -52, Z: 32
-
Seed:
8801262436848432123
, all good, just some finicky generation. X: -46, Z: -78
-
Seed:
-4920469581643900081
, 3 structures practically next to each other. X: 197, Z: -1
-
Seed:
-6320972255716229774
, 6 structures next to each other, directly at spawn. X: -16, Z: 28
-
Seed:
-2752390096271778367
, 4 structures next to each other, at spawn. X: 138, Z: 0
-
Seed:
-5213964339245291702
, 4 structures pretty close to each other, within the spawn area. X: 210, Z: 161
-
Seed:
6061000946855805090
, 5 structures very close to each other at spawn, not counting the village. X: 98, Z: 146
-
Seed:
-1491702770783723624
, 3 structures straight at spawn. X: 101, Z: 146
Additional observations:
- Structures seem to get spammed more often if the world spawn is close to X: 0, Z: 0
- If the spawn is not spammed with structures, that does not mean they won't get spammed elsewhere
- Creating a new world does not warn you about any experimental world generation settings, however, after leaving and re-joining, it does
- Birch forests, Dark oak forests, Spruce forests and Oak forests seem to be the most susceptible biomes to structure spam
- Close proximity to water biomes, on the other hand, almost guarantees no spam; and deserts/mesas almost never have any structures at all
- You either find no structures at all or multiple at once in a sort of cluster
- That damn chicken seems to (occasionally?) ignore even it's own spacing/separation settings, as I've definitely came across 2 within less than 50 chunks from each other
- Structures seem to become rare as intended after at least one of its kind was generated
Overall, out of 20 worlds that I've tested, 9 were good, no structures around that I could see, 11 had on average 4 structures directly at spawn. However, as I mentioned above, even though those 9 worlds had no clusters of structures at spawn, doesn't mean you won't find them if you explore enough.
Nice, I've started work on the next update. I'll tackle 1 first then, I've got an idea on how to prevent this. And maybe as a quick fix for 2, I'll make the spacings much more random. They are all different atm but most of the values are within 50-100 chunks of each other. Hard when there are so many structures that you want to have a similar rarity. I will also look into my original solution where I block spawns. I'll also look jnto the armour stands, my guess is that the original structure accidentally had two and it'll be as easy as braking one.
no worries with discord either, I might look into a bot to help me watch github actually but idk.
Thanks
First of all, thank you so much for the detailed issue report. These are definitely things I am, or will, look into for the next big release.
- I think I will add something to just stop all structures spawning within lets say ~25-30 chunks from spawn.
- I will add something to stop any structure spawning within 10 chunks of another structure (this has lots of technical issues with which structures it can't spawn next to, as for example in a swamp or soul_sand_valley biome, there are fossil structures everywhere which would basically disable any of my structures spawning. Hopefully I will be able to filter which structures I choose not to spawn next to).
- I have not come across this in my testing, I think I will add shut up experimental settings (https://www.curseforge.com/minecraft/mc-mods/shutup-experimental-settings) to the recommended dependencies list as the message is just annoying. Alternatively, I might add it in natively, or make my own version of the mod. Basically, I want to get rid of that message entirely.
- This is because those are the biomes where most structures can spawn. Hopefully point 2 will eliminate structure spam.
- Again, this is because currently there aren't many structures that I want to spawn in those biomes. I will flag this as something we need to focus on, I think the entire team are prone to building more of the foresty, spruce type builds.
- Yeah, I'd noticed this. For some reason the random generation tends to clump them together, no idea why, but ill have a look into it. Again, hopefully point 2 will at least limit it to one structure.
- OK, not entirely sure why, at least in the 1.18.2 forge version, the min spacing is 600 chunks. I'll look into it, maybe 2.5.8 has different parameters, so ill check this later.
- That's a really useful point, makes sense with how it's coded. I’ll look into it.
Thanks again for this really detailed issue, and sorry for the late reply, I've been setting up a modded community server so haven't been working on mvs for a few days.
I'm currently setting up data gen in all version which will make adding new structures way easier, so expect lots more, and with custom loot tables for the chests. Then I will go about stopping the structures from spawning too close to each other and too close to spawn. That will hopefully be enough for a new version with tonnes more structures. And then in the next version I will work on point 8 and hopefully just refine the rarity and other bits. I will also add a config to switch between 3 different rarities, common, sparse, and rare. with common being like what most other mods tend to be, sparse being how I like it (slightly less rare than current), and rare being you hardly ever see them.
Thanks,
FinnDog
p.s. I recommend joining the discord if I'm being slow replying in future, way easier to get hold of me and you can just point me here.
- That one alone would solve the biggest issue with this. Currently, it's highly likely that you will spawn next to a bunch of structures, some of which contain full gear, diamond blocks, etc.
- Due to 1, I'd say this step isn't that important, as encountering structures next to each other far enough away from spawn is not problematic imo.
- I am using BCLib, which disables it, in my actual modpack, so the message itself is not an issue. What is an issue is that the message appeared only after joining an already existing world, whereas it should warn you upon creating one as well.
- and 5. Ah, thought about it, but decided not to speculate. Good to know.
- My best guess is that they all have roughly the same spacing/separating settings, so when 10 structures are all seeking to spawn after 300 chunks, they do so all together. Maybe making each structure have a more unique value would help?
- I didn't test the chicken structure nearly as extensively, but if I find a seed where the issue occurs, I'll let you know.
Unrelated to this issue, but since then I also found out that some houses that generate with armor stands inside have 2 armor stands in 1, not sure if it's intended? Looks like a bug since you get double the amount of items.
And no worries at all about the delayed response, the mod isn't unusable by any means. And it's been only a couple of days.
I'm thinking of getting a discord, because a lot of projects use it, but the problem is that I myself won't be nearly as responsive on it. Forums like github notify me about every message, and I can always go back to them at any time, whereas on discord if I missed something it's gone pretty much.
Thanks for looking into it!
hey man, sorry it took a month, I've been busy irl. The new update is finally on its last few stages. Im going to be testing the 1.18.2 forge version and once im sure its doing everything we wanted ill update to all the other versions!
if you want me to send you an early release of the new mod for your testing then let me know, otherwise it should be on curseforge within a week : ) Thanks again for the feedback