maruohon / environmentalcreepers

Small Minecraft mod to tweak some explosion properties
GNU General Public License v3.0
7 stars 6 forks source link

Another mod taking priority? #24

Open gwynhefar opened 5 months ago

gwynhefar commented 5 months ago

I'm hoping you can help, I admit I'm not much up on the technical aspects. I have been using this mod with Minecraft 1.12.2 for awhile and I love it. I've used the config to disable creeper explosions entirely and it was working great on my old world, but I have now created a new world with a different set of mods and even though I have set the config correctly, my creepers are still exploding. I assume that one of the other mods in this new collection is taking priority but I'm not sure which one - I don't have any others specifically set to modify creeper behavior but I have a lot of different mods that tweak a multitude of settings, and creeper behavior may be one of them.

My question is this - is there any way to force minecraft to prioritize this mod over others? Obviously I could go through and test them all one by one to figure out which mod is the problem, but my new modlist is very long and I'm hoping there's an easier way.

Thanks for your help!

maruohon commented 5 months ago

You can narrow down mod issues fairly quickly by using a "bisecting" method, which means removing half of the mods at a time and keep halving the affected set of mods until you narrow it down to one. Assuming you start the game once for each half of mods in a given set, you could narrow down even a 1000 mod pack's issues in ~20 game starts. But ofc in large mod packs the really annoying part of this is trying to keep all the dependencies for all mods in the set...

The Forge event handlers have priorities, so it should be possible to increase the priority of the EnvC event handlers... assuming that the incompatible mod doesn't just use max priority or directly modify the vanilla code in a way that the event handler doesn't even run at all. But I guess that would be the easiest thing to try first, just max out the event handler priorities in this mod and see if it works. But also even before that you could double check if you only leave EnvC enabled and move out all other mods, does it work then with the current config you have? And is it vanilla creepers you are testing with or some modded creepers? Also... you are still talking about Forge 1.12.2, right?

gwynhefar commented 5 months ago

Thank you so much for replying so quickly! Yes, I’m still working with 1.12.2. I tried the bisecting method you mentioned and managed to figure out that the issue is with the “Special Mobs” mod, which apparently not only adds its own variations but also replaced the vanilla mobs with their own version.

I’m assuming there’s probably nothing you can do to alter the behavior of another mod’s mobs, so I suppose I’ll have to learn to live with it.

Thanks for your help!

maruohon commented 5 months ago

In general this is "supposed to" work even with modded mobs, as long as they use the Forge events "as intended" which would allow this mod to receive the explosion event even for modded explosions/mobs. However if that mod actually completely replaces the creeper entity with their own version, then my check for "is this entity a creeper?" probably fails.

You can try if instead of using the creeper specific configs in this mod you instead use the other explosions config just to see if that prevents those creepers from doing damage. But ofc that is not an actual replacement for the no-creeper-explosions feature, as it would then affect all other explosions, and there is no config for preventing the explosion entirely, that feature is creeper-specific.