Bukkit/CraftBukkit — pull request #1128 by tomsik68 (2013-04-06 15:47:20+00:00)
Title: [B+C] API for Pathfinders. Adds BUKKIT-1710

### The Issue
As all of us know, minecraft introduced a new API for mob Pathfinding. It was quite a long time ago and Bukkit is still missing support for Pathfinders.
### Justification for this PR
We need an API for Pathfinders for a lots of awesome things.
Like you can set Zombies not to break doors or you can have bunch of mobs following you, change how monsters attack, change how fast mobs move, make mobs look at you.
### PR Breakdown
* Interface __Intelligent__
* Provides methods for looking at object, jumping and moving using vanilla jumpController, lookController and navigator from net.minecraft.server.Entity
* Methods to alter path finding like setAvoidWater, setBreakDoors, setAvoidSun which call vanilla methods from Navigator class. These work with vanilla path finders too.
* Pathfinder manipulation methods including clearPathfinders, which clears list a and b from goalSelector and targetSelector of EntityLiving and attachPathfinder, which uses PathfinderWrapper in org.bukkit.craftbukkit.ai to add to Entity's task list. Either goalSelector or targetSelector depending on what's specified in Pathfinder class.
* __This interface is implemented by CraftLivingEntity__
* Interface __Pathfinder__
* Pathfinder interface with few functions. This is whole new thing which plugin devs can use to change behavior of Entities.
* Used by PathfinderWrapper
* Class __PathfinderWrapper__
* Wrapper for Pathfinders
* Extends minecraft's internal PathfinderGoal class and its field impl can store implemenetation of Pathfinder interface
* When minecraft calls methods from it, methods from impl will be called
### Relevant PRs
* Bukkit PR is going to appear here once both get submitted

### Testing material
* PathfinderTest - If you right-click a living entity it will start following you
* Plugin JAR - https://dl.dropbox.com/u/29628587/PathfinderTest.jar
* Source - https://github.com/tomsik68/PathfinderTest

### JIRA Ticket
* https://bukkit.atlassian.net/browse/BUKKIT-1710 - I'm not creator of the ticket, but there's a link to this PR in comments