![Chunk By Chunk](https://media.forgecdn.net/avatars/thumbnails/477/902/256/256/637773032814198799.png)
1.18.2 starting biome is not working with #biomesoplenty:pasture or #minecraft:is_desert
xFirefalconx opened this issue ยท 3 comments
Hi, I've been trying to find a way to start at a biome from modded generation. The biome I am testing is "#biomesoplenty:pasture". I copied this from the F3 info, I also tried "#biomesoplenty:is_pasture", but both don't spawn in the target biome.
Do I type these wrong or are modded ones not supported?
I also tried "#minecraft:is_desert" and spawned in a winter forest.
Something... is broken, I fear.
Forge version: 40.2.0
Mod version: 1.13.1
This never worked for me much so yeah. Hopefully I just did things the wrong way. (I wish one could dropdown or cycle throuch biomes but I totally understand if this is utopic and impossible to do)
latest.log
Let me know if you need specific infos. I'm trying to setup something for my Modpack's first officially submitted beta these days.
Looking at the the /locatebiome suggestions in 1.18.2, #minecraft:is_desert doesn't exist. For the biomesoplenty:pasture you probably want to drop the leading #, as it isn't a grouping, but a specific biome. (also make sure that spawn at village is set to false, as that overrides the starting biome - but I think you've got that).
Ah, thank you for that info. I assumed incorrectly there, but I also didn't know what the # is used for, now I do.
So you basically have an if/else in there that makes it impossible to generate a village in a certain biome you choose and get spawn at the village? Or say the biome very close to the village.
I'm thinking of giving the player a choice if that option is really just working that way. I'm thinking about creating a mod (some day) that takes care of a bunch of selected settings, if the user wishes to. So I can either let them pick "pasture spawn" or "village spawn anywhere". Though "village close to pasture" would be perfect. If it's impossible, I will not demand it but I wanted to ask what's the technical background, so I can understand better. Thanks for the time.
The code in question is here: https://github.com/immortius/chunkbychunk/blob/2729a290706832b112903f3e564821c984c85422/Common/src/main/java/xyz/immortius/chunkbychunk/server/ServerEventHandler.java#L289:L334
(it isn't a great function design, I probably should split it up further - rule of thumb I like to have methods that either do a thing or orchestrate a thing not both, and this does both).
To summarise the method, it first will find the general area for spawn, and then look for a specific chunk with decent starting condition. For the first half, it will either find the nearest village if spawn in village is selected, or else the nearest biome that matches the starting biome condition if that is specified. And there's some logic for handling biome tags vs straight biome references within that.
The reason you cannot both specify a biome and start in a village is because I'm simply searching for features, and there isn't a good way to combine a biome search with a village search (and there would be a decent chance of not finding a match). I could instead find a biome and then spawn a village I suppose, but there might be some timing issues with doing that during game start.