gkazan / ZAWA

The Zoo & Wild Animals Mod
10 stars 3 forks source link

[Bug] No aquatic mobs spawn after leaving spawn and travelling to bodies of water (oceans, lakes, rivers) #188

Open SafsoufaS opened 3 years ago

SafsoufaS commented 3 years ago

Describe the bug This is with the latest versions of ZAWA and Bookworm and nothing else (on 1.12.2). I noticed in my modded play-through that no aquatic mobs were spawning in rivers, lakes, oceans, you name it. So I tested it alone and the issue persisted. No squids either. Mobs (no squids) do initially spawn in once you make a new world, but leaving and coming back there are none.

To Reproduce Steps to reproduce the behavior. (What were you doing when this happened) :

  1. Make a new world
  2. Leave spawn
  3. Travel around bodies of water with night vision looking for aquatic mobs

Expected behavior Aquatic mobs to spawn, including squids, whenever I travel to a body of water.

Screenshots 2020-12-25_14 19 52 2020-12-25_14 20 08 2020-12-25_14 19 56

Please complete the following information):

Additional context While aquatic mobs not spawning doesn't bother me much, squids don't spawn as well.

jmlwhittington commented 3 years ago

I am having the same issue on version 2.0.35. I have noticed others too when Googling it, namely #47. I see that issue was closed saying it was not reproducible, but I have done fresh installs with only ZAWA and Bookworm, and I still have the issue.

UPDATE: I noticed actually, the version in #47 that seemed to cause this was 2.0.1. In that changelog, the config option "ZAWA Water Entity Despawn Time" was introduced. When I turned that to 0 or 1 (after attempting 2-5 and -1) rather than the default 2000 on an install with only ZAWA and Bookworm, aquatic mobs appear again away from spawn, and at a very high cap I might add (I was seeing 400+ entities at one point in deep ocean). That makes no sense to me, but it's definitely related.

There are still no squids however, and even though their default spawn weight is lower, it's only 10 as compared to 20 in other aquatic mobs from ZAWA. I would expect to see at least one.

I also loaded up versions 1.7.0 and 2.0.0 out of curiosity, and there was still a lack of aquatic mobs away from spawn on 2.0.0, but on 1.7.0 they were appearing just fine away from spawn (albeit, mostly orcas) and squids were appearing. In the 1.7.0 config, I noticed the option ""ZAWA water despawning" which defaulted to 2500. My conclusion? Something about the option as implemented in 2.0.0 (assuming it was invisible to the end user until put into the config in 2.0.1) was broken.

UPDATE II: After spending a bit removing mods from my modpack to figure out what was going on, I now know ZAWA is not just not spawning its own mobs properly, but also those of Better Animals Plus as well as squids (the only vanilla aquatic mob). Removing ZAWA from the modpack corrects the problem. It is still occurring even after doing the above config changes.

UPDATE III: I turned the "ZAWA spawning allowed" and "ZAWA overworld only spawns" config options to false and now aquatic mobs are working again in general in my modpack. It's literally just ZAWA, and strangely the second config option is required to be false also or else this will not work. Looks like I'm going to have to use In Control!, BiomeTweaker, or something to insert every mob (aquatic and otherwise) manually.

UPDATE IV: Even using BiomeTweaker to add them in breaks spawns for everything else. I believe the same to be true for In Control! based off past behavior, but I haven't explicitly tested it. Literally just the presence of them in anything natural spawn related breaks other aquatic mobs.

UPDATE V: I know, lots of updates, but I've been doing a lot of testing because I'm determined to find a workaround for myself at least. Turning off every aquatic mob and removing every biome from their entry in the config fixed it. At least I can have land mobs. I'll just have to make another way to obtain aquatic ones.

linkovich2 commented 3 years ago

Just wanna chime in here and say I'm also running into this issue. Tried setting up In Control, and as you suspected, same result. I also tried isolating the issue to any one specific ZAWA mob and it seems that enabling any one of them causes the issue again.

I'm at your update 5 point, turned off aquatic mobs and things look ok with other aquatic mobs. But man I'd love to have the ZAWA aquatic mobs be able to spawn normally.

I'm going to also keep investigating for a potential solution - hopefully we can find some way to have it all work together.

UPDATE 1: Tried downgrading Quark as was hinted at in another one of these issue threads. Verified that Quark is not the problem. Also I was looking around at spawn issues with other mods, and found this - I changed the foamfix settings as he did and saw no change.

To provide just another detail, I noticed that certain entities still spawn in water for me. With ZAWA aquatic mobs enabled, on world spawn I get ZAWA mobs almost exclusively, although sometimes I'll catch other mod's mobs early on. But after some time flying around aquatic mobs stop spawning, except Fossils and Archaeology mobs, and Ice and Fire mobs. I suspect that their aquatic mobs don't inherit from the same class squids do, but I haven't verified that.

UPDATE 2: Not that I can do much about it since I don't have access to the source code for ZAWA, but I've investigated the source for the other mobs and can confirm: Ice and Fire and Archaeology's aquatic mobs that are spawning extend EntityTameable: https://github.com/FossilsArcheologyRevival/FossilsArcheologyRevival/blob/1.12.2/src/main/java/fossilsarcheology/server/entity/EntityFishBase.java#L41 and https://github.com/Alex-the-666/Ice_and_Fire/blob/1.12.2/src/main/java/com/github/alexthe666/iceandfire/entity/EntityHippocampus.java#L51

Makes sense since they were written by the same person. However Future-MC (whose fish aren't spawning in my case) extend EntityCreature - https://github.com/thedarkcolour/Future-MC/blob/master/src/main/java/thedarkcolour/futuremc/entity/fish/EntityFish.kt#L30 - and Better Animals Plus uses EntityWaterMob - https://github.com/itsmeow/betteranimalsplus/blob/1.12/src/main/java/its_meow/betteranimalsplus/common/entity/EntityWaterMobPathing.java#L12

Not sure if this is super helpful, just doing some digging because I'm not sure where to look.

UPDATE 3: I have potentially good news. This might be a little premature to say because I've only done minimal testing, but I'm finding that I get aquatic spawns pretty consistently if I set this option to false: B:"ZAWA care stats"=false - if anyone else is checking this out, give that a shot and see if it has any measurable effect.

UPDATE 4: After some additional testing, I'm not so sure. But I've noticed that if I am having this problem, if I leave the game and come back (of course this only applies to single player), the issue is fixed. It's not ideal, but I'm okay with this for now.

jmlwhittington commented 3 years ago

UPDATE 2: Not that I can do much about it since I don't have access to the source code for ZAWA, but I've investigated the source for the other mobs and can confirm: Ice and Fire and Archaeology's aquatic mobs that are spawning extend EntityTameable: https://github.com/FossilsArcheologyRevival/FossilsArcheologyRevival/blob/1.12.2/src/main/java/fossilsarcheology/server/entity/EntityFishBase.java#L41 and https://github.com/Alex-the-666/Ice_and_Fire/blob/1.12.2/src/main/java/com/github/alexthe666/iceandfire/entity/EntityHippocampus.java#L51

Makes sense since they were written by the same person. However Future-MC (whose fish aren't spawning in my case) extend EntityCreature - https://github.com/thedarkcolour/Future-MC/blob/master/src/main/java/thedarkcolour/futuremc/entity/fish/EntityFish.kt#L30 - and Better Animals Plus uses EntityWaterMob - https://github.com/itsmeow/betteranimalsplus/blob/1.12/src/main/java/its_meow/betteranimalsplus/common/entity/EntityWaterMobPathing.java#L12

It's worth noting that I still see sea serpents from Ice and Fire but they do not extend any of those. It appears to be an animal (like chickens and cows) which is a sub of a sub of EntityCreature but a parent of EntityTameable.

MartijnHolterman commented 3 years ago

UPDATE 3: I have potentially good news. This might be a little premature to say because I've only done minimal testing, but I'm finding that I get aquatic spawns pretty consistently if I set this option to false: B:"ZAWA care stats"=false - if anyone else is checking this out, give that a shot and see if it has any measurable effect.

UPDATE 4: After some additional testing, I'm not so sure. But I've noticed that if I am having this problem, if I leave the game and come back (of course this only applies to single player), the issue is fixed. It's not ideal, but I'm okay with this for now.

This also did the trick for me, in combination with setting "ZAWA overworld only spawns" to false. It only seems to work for newly generated worlds though, any worlds generated before changing these settings continue to be devoid of aquatic life.

For what it's worth, I'm playing with Vintagebeef's Zoo Modpack and no other mods.

d-v-n-t commented 3 years ago

I'm having the same issue on ZAWA 2.1.3 for 1.12.2 and Forge 2768. No aquatic mob seems to be able to spawn. Forcing the spawn mechanic with InControl or even CMS doesn't seem to work either.

UPDATE 3: I have potentially good news. This might be a little premature to say because I've only done minimal testing, but I'm finding that I get aquatic spawns pretty consistently if I set this option to false: B:"ZAWA care stats"=false - if anyone else is checking this out, give that a shot and see if it has any measurable effect. UPDATE 4: After some additional testing, I'm not so sure. But I've noticed that if I am having this problem, if I leave the game and come back (of course this only applies to single player), the issue is fixed. It's not ideal, but I'm okay with this for now.

This also did the trick for me, in combination with setting "ZAWA overworld only spawns" to false. It only seems to work for newly generated worlds though, any worlds generated before changing these settings continue to be devoid of aquatic life.

Not for me, sadly. I wonder how such a plaguing bug can happen for some and be impossible to reproduce for others.