I've noticed passive mobs have a tendency to get "stuck" in water. When really they shouldn't be heading into water in the first place unless they are intending to cross to the other side of a river. It's particularly annoying when a sheep wanders away from the small patch of grass it spawned on after I sheared it and then it gets never finds it's way back onshore so it can eat grass and regrow it's wool again.
Proposed AI:
In the event an animal ends up in water it pathfinds a way out the water, this pathfinding is overridden when luring an animal with wheat/seeds/carrots/etc or when pulling an animal along with a lead. Obviously this would exclude squids.
Now this might break current farms where animals get moved around via water streams, however with proper construction, those streams will actually move the animals faster, since the animals will already be pathfinding a way out of the water. They'll be swimming with the current or against it depending on where the closest path back to dry land is.
Water streams, channels, rivers, and oceans, could also effectively work as fences for keeping animals contained.
Why not also extend this to living (not undead) hostile mobs as well? Support.
Excellent point. Realistically any creature who can drown would want to stay get out of the water instead of pointlessly bobbing up and down forever, even if there isn't a player to attack at the moment.
So it makes sense to extend this to Neutral and Hostile Mobs, excluding Endermen who already act appropriately when they touch water.
This would also extend to Nether mobs and getting out of lava, while they can't be burned they can still drown. And having their drops fall in lava is a big inconvenience.
This behavior would naturally be overwritten where it would interfere with existing behavior:
Zombies and Skeletons seeking shelter from the burning sun in water.
Mobs following a player for whatever reason (attacking, holding wheat/seeds/carrots/etc, tamed animal)
Mobs following another mob (wolves hunting, hostile or neutral mob aggro'd by another hostile or neutral mob)
Mobs running away from a mob or player(a passive mob panicking when attacked, creepers running from ocelots, ocelots running from players, etc)
Mobs on a lead
Pig, horse, or donkey being ridden by a player (default behavior takes place).
Really the only behavior this would override would be random wandering and only when a mob somehow ends up in water, either through random wandering, falling or being pushed into water, or one of the above behaviors ending
Examples:
Zombies, when the sun has gone down, will exit their shelter pools.
A pig, horse, or donkey having their rider dismount in water, will seek dry land.
A wolf, having chased a sheep into a source of water will leaver the water after killing the sheep.
TL/DR:
Any mob that doesn't live in water (or lava) will pathfind and go to the nearest dry land when if they step into water, fall into water, or end up in water after other behavior stops happening. This would basically only override random wandering and not other default mob behaviors
Benefits:
Prevents mobs being stuck in water where getting their drops may involve diving to the bottom.
Use of water as an alternative to fences.
Potentially increasing the speed of mob transportation via water streams.
Support,although hostiles should not receive this new AI. Zombies and Skeletons seek shelter in water on purpose. It is intended for them to be swimming during the day.
That's one of the things I consider a "higher priority pathfinding algorithm." Similar to how holding wheat would cause a cow to follow the player through water, or how a creeper chasing a player would go through the water or escaping an ocelot would run through water 'without a second thought.'
Should be as simple enough a check for the current sunlight level at the zombie's position if it's at whatever level it takes for zombies to burn, they'll stay in the water instead of trying to leave it.
When it's nighttime however skeletons and zombies should be walking out of the water.
Support. It is annoying when on day 1 on an island all the animals are normal and on day 2 every one of them is swimming on the coast.
Now if they would do this and make them treat fences like whole blocks and not try to occupy the same voxel it would be amazing, but that is another idea for another thread.
Rollback Post to RevisionRollBack
Want some advice on how to thrive in the Suggestions section? Check this handy list of guidelines and tips for posting your ideas and responding to the ideas of others!
There has been some reports in the mojang bug tracker about slow mobs (passive, neutral and hostile) in 1.8x versions. For example https://bugs.mojang.com/browse/MC-48616
Proposed AI:
In the event an animal ends up in water it pathfinds a way out the water, this pathfinding is overridden when luring an animal with wheat/seeds/carrots/etc or when pulling an animal along with a lead. Obviously this would exclude squids.
Now this might break current farms where animals get moved around via water streams, however with proper construction, those streams will actually move the animals faster, since the animals will already be pathfinding a way out of the water. They'll be swimming with the current or against it depending on where the closest path back to dry land is.
Water streams, channels, rivers, and oceans, could also effectively work as fences for keeping animals contained.
Excellent point. Realistically any creature who can drown would want to stay get out of the water instead of pointlessly bobbing up and down forever, even if there isn't a player to attack at the moment.
So it makes sense to extend this to Neutral and Hostile Mobs, excluding Endermen who already act appropriately when they touch water.
This would also extend to Nether mobs and getting out of lava, while they can't be burned they can still drown. And having their drops fall in lava is a big inconvenience.
This behavior would naturally be overwritten where it would interfere with existing behavior:
Examples:
TL/DR:
Any mob that doesn't live in water (or lava) will pathfind and go to the nearest dry land when if they step into water, fall into water, or end up in water after other behavior stops happening. This would basically only override random wandering and not other default mob behaviors
Benefits:
Support!
Putting the CENDENT back in transcendent!
Support
Good point. I'll add it in to the main post
Good point. Adding them into the main post.
That's one of the things I consider a "higher priority pathfinding algorithm." Similar to how holding wheat would cause a cow to follow the player through water, or how a creeper chasing a player would go through the water or escaping an ocelot would run through water 'without a second thought.'
Should be as simple enough a check for the current sunlight level at the zombie's position if it's at whatever level it takes for zombies to burn, they'll stay in the water instead of trying to leave it.
When it's nighttime however skeletons and zombies should be walking out of the water.
For the sake of clarity then I'll stop trying to generalize it and just list all the cases where the "hydrophobia AI" won't overwrite mob behavior.
Edit: Updated the main post. Changed the title.
Now if they would do this and make them treat fences like whole blocks and not try to occupy the same voxel it would be amazing, but that is another idea for another thread.
Want some advice on how to thrive in the Suggestions section? Check this handy list of guidelines and tips for posting your ideas and responding to the ideas of others!
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2775557-guidelines-for-the-suggestions-forum