-Spawner, Transport, Healer, Guard, Bard jobs received more functions.
-Added more functions to the transporter role.
-IRole: Added getNpc() function.
-IAnimal, IEntityLiving, and IEntityLivingBase received more functions from their MC counterparts.
-Nearly every function with that takes position/vector parameters now has an equivalent with IPos as a parameter instead.
-Allows for the changing of several sound attributes, including volume, pitch, repeating, etc.
NpcAPI, IPlayer, IWorld:
-Added more sound functions, with sounds that can be stopped and started based on an ID.
-Added rayTraceEntities() functions, and added an offset parameter.
IEntityLivingBase:
-Made getLookingAtEntities() function use IWorld's rayTraceEntities() function, and added an offset parameter.
-Added stopOnBlock, stopOnLiquid, and stopOnCollision options for getLookingAtEntities()
IWorld:
-Added stopOnBlock, stopOnLiquid, and stopOnCollision options for rayCastBlock & rayCastPos
-Added ScriptOpsOnly config, which controls if only ops can see and edit scripts.
-Added ScriptDevs config, a list of the UUIDs of players who should be able to see and edit scripts. If left empty and ScriptOpsOnly is false, everyone can see and edit scripts with a scripter.
IPlayer:
-Added isScriptDev() function to check if the player can see and edit scripts.
-Added getLookPos, which uses the rayCastPos function in IWorld.
IWorld:
-Added getEntitiesNear function with 3 double or one IPos parameter, and a range parameter for checking what entities are near a position.
-Added rayCastPos, for cases where rayCastBlock returns null.
-Implemented interfaces for all jobs & roles.
ScriptPlayer:
-Added getData() function, which returns player data objects.
IPlayerData: New class that holds all player data for modification.
-Holds dialog, bank, quest, transport, faction, item giver, and mail data.
-Also holds companion data, with functions has/set/getCompanion, and a getCompanionID function to differentiate companions.
IDialog:
-Added several new functions for dialogs' new visual attributes, as well as a way to add, get, create, remove, and clear dialog images.
Global NPC events:
-Added fields and variables from the old ScriptEvent events, in preparation to replace the old events with NpcEvent instances on local NPC scripts.
-Fixed issue where some event hooks would run on remote worlds.
Global NPC killed event:
-Added droppedItems and expDropped fields.
IWorld and NpcAPI:
-Now always uses a non-remove WorldServer object to create ScriptWorld objects and add them to the world cache.
Luis C.M. will add API.getFactions() which returns the FactionController. All these functions use the faction controller anyway.
Also Luis PR already has entity.getDimension and world.spawnEntity