Controllable Mobs API v1

Details

  • Filename
    ControllableMobsAPI.jar
  • Uploaded by
  • Uploaded
    Nov 22, 2012
  • Size
    99.54 KB
  • Downloads
    969
  • MD5
    a4e07fca555d5001ca6b021781c08be4

Supported Bukkit Versions

  • CB 1.4.5-R0.2

Changelog

Important! Publishing changed! Reading the new publish guideline is recommended.

  • compatible with Minecraft 1.4.5
  • refactored the API to a standalone plugin
  • added some log messages
  • native interfaces are catching all errors correctly now
  • improved the AI behavior management significantly!
    • when removing behaviors, they are being shut down gracefully if they have been active.
    • clearing the AI should not longer interrupt actions like moveTo()
    • AI modifying processes are now using native interfaces
    • resolving entity classes Monster, Creature, Animals, LivingEntity properly
  • changes for ControllableMob
    • action methods move(Location), ... will work for distances greater than 100 blocks now
    • added method getDefaultQueueFlag()
    • added method setDefaultQueueFlag(boolean defaultQueue)
    • methods addAIBehavior and addAIBehaviors will throw an IllegalArgumentException if the behavior is null or already added
    • method removeAIBehavior will throw an IllegalArgumentException if the behavior is null or not added
    • method clearActionQueue will mark all actions in the queue as CANCELLED
    • method callback(Runnable runnable) will return a ControllableMobAction instance
    • added action methods look(Entity) and look(Location) - the entity will look at the specified position
    • added action methods follow(Entity), ... - the entity will follow another entity
    • calling methods when the ControllableMob has been unassigned will throw an IllegalStateException
    • added method isActionRunning(ActionType)
  • changes for ControllableMobs
    • trying to instantiate this class will throw an AssertionError
    • all .assign() methods will throw an IllegalArgumentException or IllegalStateException when invoked with wrong parameters
    • added method unassign(ControllableMob<?> controllabelMob) - free memory and reset entity
  • changes for ControllableMobAction
    • added method getType()
    • implemented ActionState.BLOCKED for moveTo(), when the target location is in another world or not reachable by the entity
    • implemented ActionState.BLOCKED for target(), when the target is in another world
    • implemented ActionState.BLOCKED for lookAt(), when the target is in another world
    • implemented ActionState.BLOCKED for follow(), when the target is in another world
  • added API enum ActionType
    • added LOOK, FOLLOW
  • changes for ActionState
    • added PREPARING, IDLE
  • removed all static methods getPFGClass() from AIBehaviors