Query - Weighting issue?
Golrith opened this issue ยท 2 comments
When a mob is Staged and becomes unlocked, myself and mypack players are finding that the mob just unlocked becomes heavily weighted with mob spawns. So for example, if spiders have just been unlocked, 90% of all spawning are now spiders, until the next mob is unlocked, then that becomes the main spawn.
Does MobStages work by dynamically adjusting the mob spawn weights? If so, could there be a typo on the weight being used to put the mobs back into the spawn pool?
There's nothing else in the pack that would adjust mob weights (as far as I'm aware) and I'm trying to work out where the issue originates (might be an obscure cross mod interaction going on).
Is there any way I can find out the mob spawn weights ingame?
MobStages actually doesn't mess with spawning logic too much. Basically it detects when a mob spawns, checks if that mob is stages, and if there is a player nearby with the stage. If it's staged and there is no player it fails to spawn. It's basically the same as the light level spawn condition. I don't modify the weights or spawn entries themselves in any way.
This approach does lead to some potentially unintended side effects, for example if all mobs except for spiders are staged then only spiders can spawn. How are you setting up the stages for your mobs?
Hmm. Interesting, nice to know how the mod works! Basically at the start of the pack virtually all mobs are disabled, and as the first few quests are completed, more are unlocked and added to the spawn pool. This is so that players have a "breathing space" to understand the basics of the pack before getting griefed by mobs, without doing something "hacky" like forcing peaceful, then normal difficulty.
This is the entire script:
mods.MobStages.addStage("M001", "minecraft:zombie_villager");
mods.MobStages.addStage("R001", "minecraft:spider");
mods.MobStages.addStage("M991", "minecraft:zombie");
mods.MobStages.addStage("M991", "minecraft:husk");
mods.MobStages.toggleSpawner("minecraft:zombie", true);
mods.MobStages.addStage("P011", "minecraft:creeper");
mods.MobStages.addStage("A032", "drones:drone");
mods.MobStages.addStage("P027", "minecraft:enderman");
mods.MobStages.addStage("M001", "minecraft:skeleton");
mods.MobStages.toggleSpawner("minecraft:skeleton", true);
mods.MobStages.addStage("P013", "minecraft:witch");
A032 is basically the very last mob to be unlocked, and as a result, the world is Drone infested. The quests are not linear, so players experience can be different based on the path they take, but all paths will eventually unlock drones.
I can see why spiders and skeletons are common, being one of the first to unlock, and both provide different challenges when they appear.
I'm going to look at the Drones mod settings, maybe that has some weird weighting I'm not aware off now I know that MobStages is not working on weights.
Thanks for the info!