
Neutral mobs always attack villagers if NEUTRALAGGRO is disabled
Alainx277 opened this issue ยท 5 comments
Modloader
Forge
Minecraft version
1.20.1
Modloader version
47.3.0
Mod version
1.20.1-1.13.2
TenshiLib version
1.20.1-1.7.6
Description
Because of a logic mistake neutral mobs will always aggro on villagers if NEUTRALAGGRO is disabled (globally or for that entity).
The incorrect check assumes that mobs are aggressive if that feature is disabled. It should instead only do this if it is a hostile mob.
Bug was introduced by efc1825
Steps to reproduce
- Spawn a villager
- Spawn a bee
- The bee will aggro on the villager
Mods that might affect the issue
No response
Logs
yes that is intended. if you want to disable villager targeting for a mob there is a villager target flag.
the special case with neutral mobs is that neutral mobs should only attack something if they are angered. otherwise the assumption is that the mob is always angered
the config by default only includes hostile mobs to be modified anyway so my guess it you changed the config.
So it is intended that neutral mobs (such as bees) ALWAYS attack villagers even though I disabled the entire neutral aggro feature? If the feature is enabled but the probability is set to 0.0 they are not aggressive, so I don't see why disabling the feature should make them always aggressive.
Also did you check the code I referenced & the commit that changed the behaviour?
yes. rather setting the prob to 0 and it NOT doing anything would be the unintended behaviour.
for simplicity lets just remove the whole neutral thing:
the villager flag would then decide solely if a mob goes after villagers (thus assumption would be aggressive = true always)
yes. rather setting the prob to 0 and it NOT doing anything would be the unintended behaviour.
Okay but that's how it currently works (and how I "fixed" it on my end). Setting it to probablity 0 makes it not do anything (which makes sense to me).
I still don't understand why NEUTRAL_AGGRO = false == all peaceful mobs attack all villagers.