TelepathicGrunt / TACT

Tiny Alex's Caves Tweaks
MIT License
1 stars 0 forks source link

Underground Cabins spawning in AC biomes #17

Open emihead opened 2 hours ago

emihead commented 2 hours ago

Hi, I already mentioned this in my previous issue about mob spawns but I wanted to come back and ask about it again since it was never really resolved. With this mod installed, I'm getting Underground Cabin spawns in AC's cave biomes. I'm not entirely sure if this is related to TACT - AC has a has_no_underground_cabins tag which includes all of the cave biomes, but it's possible that it's somehow being overridden by has_underground_cabins? This would be a fault of AC's tbh. I assume they must have made the tag before deciding to remove is_overworld from the cave biomes and didn't bother making sure it cancelled out has_underground_cabins, since removing is_overworld had the same effect. That's just speculation, though. What I'm trying to say is I'm curious if this issue could be related to TACT, and if it is, if there's a method using a datapack or other mod to prevent the cabins from spawning in these biomes.

emihead commented 1 hour ago

I just took a look at the actual structure json for the underground cabin and it seems it's only checking for has_underground_cabins. I believe this may actually be a vanilla Minecraft limitation rather than an AC issue then, since it doesn't seem like there's any way to exclude specific biomes from structure generation from what I can tell - so the only way around this without other mods, to my understanding, would be to edit the has_underground_cabins tag to include every biome but the Alex's Caves biomes. I wonder if it'd be possible for TACT to do this automatically? Something like Biome Spawn Point does, where it makes a list of every registered biome at some point and adds them all to the tag excluding the AC ones. There might be a simpler way, I dunno. At the same time though, if this is something you expect modpack authors to do manually, I understand. In that case, it could be nice to include a disclaimer about it, though.

TelepathicGrunt commented 32 minutes ago

You can use KubeJS or CraftTweaker iirc to remove entries from tags easily. This is what packmakers do to fine tune their modpacks. You can also use a datapack and override has_underground_cabins tag with setting replace to true and then specifying all biomes you want the cabin in so it only spawns in those exact biomes for your pack.