Commit Graph

287 Commits

Author SHA1 Message Date
Wesley Wolfe
dc3fc6a702 Add Warning API and settings for Deprecated events 2012-08-07 00:16:57 -05:00
Wesley Wolfe
e49a640760 BREAKING: replace defunct PlayerChatEvent with async chat. Addresses BUKKIT-2064
PlayerChatEvent is now Deprecated. It should be fired asynchronously, but
has not been so traditionally. To do so would massively break plugins that
rely on it.

AsyncPlayerChatEvent now replaces PlayerChatEvent. It uses comparable
functionality, but can be fired without synchronizing to the event manager.
The event will sometimes fire synchronously if triggered by a plugin.

Because PlayerChatEvent is now deprecated, PlayerCommandPreprocessEvent will
no longer extend PlayerChatEvent. This is almost completely source and
binary compatible, bar plugins that downcast to PlayerChatEvent.
Additionally, some methods that are non-functional have been marked
deprecated and indicate such.

Additionally, new constructors are now provided to allow for lazier
initialization of the receiving player set. A note has been added stating
plugins should be prepared for UnsupportedOperationExceptions if the caller
provides an unmodifiable collection.
2012-08-03 20:31:01 -05:00
feildmaster
110ad8c196 Update Bukkit for 1.3.1 changes 2012-08-02 04:54:21 -05:00
feildmaster
c65422de4b Don't "setLastDamageCause" in the DamageEvent constructor. Addresses BUKKIT-1881
This is now done after the event to allow you to be able to get previous damageCauses, and is now only applied if the event is not canceled.
2012-07-03 14:09:51 -05:00
Wesley Wolfe
c4fe5bfdf6 Add plugin channel events. Addresses BUKKIT-1844 2012-06-21 02:39:35 -05:00
Travis Ralston
ae3b5cc615 Add PlayerItemBreakEvent. Addresses BUKKIT-1600 2012-06-21 02:08:31 -05:00
obnoxint
218fa3197f Add NotePlayEvent. Fixes BUKKIT-1779 2012-06-14 20:58:19 -05:00
Wesley Wolfe
63669e8d3d Add asynchronous pre-login event; Addresses BUKKIT-1213 2012-06-13 23:01:03 -05:00
Wesley Wolfe
4ebefa5b3a Support asynchronous events; Addresses BUKKIT-1212 2012-06-13 23:01:03 -05:00
H31IX
40ca05a5c7 Add PlayerToggleFlightEvent. Fixes BUKKIT-1696 2012-06-13 22:19:51 -05:00
feildmaster
537138e9b2 Javadoc updates
Fixes BUKKIT-1653, Fixes BUKKIT-1383 and Fixes BUKKIT-1644
2012-06-03 05:40:54 -05:00
Travis Watkins
5c4d329d9f Add IgniteCause.FIREBALL for BUKKIT-1566 2012-05-09 01:41:47 -05:00
feildmaster
0884988785 Add SpawnReason.DEFAULT, to make SpawnReason.CUSTOM solely for plugins 2012-04-14 01:31:59 -05:00
feildmaster
988bd87040 Added SpawnReason.SLIME_SPLIT. Addresses BUKKIT-790 2012-04-14 00:59:29 -05:00
Wesley Wolfe
23a48d57e6 Adds address to PlayerLoginEvent; Addresses BUKKIT-431
This also deprecates old constructors left for compatibility. Address
will default to null in these cases.
2012-04-03 17:00:05 -05:00
feildmaster
6bb8198dfa [Bleeding] Added SpawnReason.BREEDING. Addresses BUKKIT-1356 2012-03-27 20:27:41 -04:00
Warren Loo
aa9f64522f Reverting the Drop API for now, we need to re-evalute this as it is causing too many issues and blocking releases.
This reverts commit 2d17b0c24e.
2012-03-27 19:54:54 -04:00
EvilSeph
9f249e4269 Added new MELTING DamageCause. Addresses BUKKIT-1244 2012-03-22 17:33:32 -04:00
Celtic Minstrel
2d17b0c24e [Bleeding] Added getting and setting drops to all appropriate events. Fixes BUKKIT-397 and fixes BUKKIT-1252 2012-03-21 12:31:22 -04:00
Wesley Wolfe
ed92e3f942 [Bleeding] Add ExpBottleEvent; Addresses BUKKIT-888 2012-03-20 03:24:37 -04:00
Celtic Minstrel
1aa8cb41a1 [Bleeding] CraftItemEvent.getInventory() now returns CraftingInventory for convenience. 2012-03-15 22:24:01 -04:00
Celtic Minstrel
79384e65c2 [Bleeding] Added ProjectileLaunchEvent. Addresses BUKKIT-284 2012-03-15 07:12:23 -04:00
feildmaster
1f91dc694a [Bleeding] Added EntityBreakDoorEvent. Fixes BUKKIT-1134 2012-03-11 16:28:40 -04:00
feildmaster
37f1ab2052 [Bleeding] Add new sub-event for target goals, and DEFEND_VILLAGE TargetReason. Fixes BUKKIT-935 2012-03-10 02:02:08 -05:00
SpaceManiac
6c1f2489ad [Bleeding] Added getting the hostname a player used to log in. Addresses BUKKIT-984 2012-03-09 11:48:04 -05:00
EvilSeph
3e3a05000d Made zombie invasions fire CreatureSpawn event. Fixes BUKKIT-1090 2012-03-08 22:10:17 -05:00
EvilSeph
5f7c0aec5f Made iron golems fire CreatureSpawn event. Fixes BUKKIT-1089 2012-03-08 22:00:08 -05:00
Celtic Minstrel
17403d617a Fix javadoc errors/warnings 2012-02-29 21:31:28 -05:00
Celtic Minstrel
0b77483c2f [Bleeding] Inventory framework and events. Addresses BUKKIT-856
New events:
- InventoryOpenEvent
- InventoryClickEvent - detects any clicks on a slot or outside the window
  - In the creative inventory view, only clicks on the quickbar are detected
- InventoryCloseEvent
- BrewEvent - when a potion finishes brewing
- CraftItemEvent (a subevent of InventoryClickEvent) - fired when taking the crafted item
- PrepareItemCraftEvent - fired just before updating the result slot
Changes to existing events:
- EnchantItemEvent extends InventoryEvent and also has a new whichButton() method
- PrepareItemEnchantEvent also extends InventoryEvent
- FurnaceBurnEvent and FurnaceSmeltEvent now extend BlockEvent (as does BrewEvent)
- PlayerInventoryEvent is deprecated (though it never did anything anyway)
New subclasses of Inventory:
- BrewerInventory
- CraftingInventory
- DoubleChestInventory
- EnchantingInventory
- FurnaceInventory
New methods in Inventory:
- getViewers()
- getTitle()
- getType()
- getHolder()
- iterator() - Yes, inventories are now iterable!
  - The iterator is a ListIterator that does not support add or remove
New methods in Player:
- getOpenInventory()
- openInventory()
- openWorkbench()
- openEnchanting()
- closeInventory()
- setWindowProperty()
- getItemOnCursor()
- setItemOnCursor()
Other changes:
- createInventory() methods in Server to make inventories not linked to an object
- ContainerBlock is deprecated in favour of InventoryHolder
- New InventoryView class gives direct access to an inventory window!
- Removed the Slot class which did nothing and was used nowhere

Some small credit goes to Afforess (initial conception of openInventory() methods) and Drakia (initial conception of InventoryOpenEvent and InventoryCloseEvent).
2012-02-29 15:18:56 -05:00
EvilSeph
50bd232814 Fixed PlayerPortalEvent constructor. 2012-02-29 14:27:05 -05:00
James Clarke
09fa3a4c59 Added NETHER_PORTAL and END_PORTAL to the TeleportCause enum. Addresses BUKKIT-265
Added new NETHER_PORTAL and END_PORTAL values to the TeleportCause enum
and relevant constructor for PlayerPortalEvent.
2012-02-29 14:00:34 -05:00
Wesley Wolfe
7db0e50da7 [Bleeding] Cleaned up unsafe casts. Addresses BUKKIT-844
Removed internal collection leaks from PluginDescriptionFile
BREAKING: PluginDescriptionFile.getAuthors() now returns List instead of
ArrayList

Various places with unsafe generics, notably List<Object> getList() in
Configurations are now referenced as <?>. This is nonbreaking, but
sourcecode will need to be revised when compiled.
2012-02-29 10:23:16 -05:00
Wesley Wolfe
a60a7b6bf7 [Bleeding] Fixes deadlock issue and generic usage. Fixes BUKKIT-844 and fixes BUKKIT-854 2012-02-29 09:50:03 -05:00
TomyLobo
2e12e3ec8a Narrowed down the return type of most EntityEvent subclasses for convenience. Addresses BUKKIT-809 2012-02-28 21:57:17 -05:00
TomyLobo
6c7fb871c5 Event system optimizations. Addresses BUKKIT-813
- Made the handlers field a simple array instead of an array of arrays.
- Got rid of the "baked" field.
2012-02-28 21:57:16 -05:00
Sam Wilson
884a2fe4c8 Add a CreateReason to PortalCreateEvent. Addresses BUKKIT-833 2012-02-26 15:19:29 -05:00
zml2008
e891176aa7 Added service register and unregister events. Addresses BUKKIT-816 2012-02-26 12:15:36 -05:00
Celtic Minstrel
c7508cd097 [Bleeding] Add constructor to BlockFromToEvent for dragon egg teleportation. Addresses BUKKIT-828 2012-02-25 19:10:28 -05:00
Celtic Minstrel
cbb9bc0fa3 [Bleeding] Added EntityType to replace CreatureType. 2012-02-22 22:06:19 -05:00
Feildmaster
4b9f306913 [Bleeding] Added BlockGrowEvent. Addresses BUKKIT-104 2012-02-22 21:46:15 -05:00
Feildmaster
c568f49c24 [Bleeding] getHandlers() is now abstract. 2012-02-21 14:26:14 -05:00
Feildmaster
ca71be0228 [Bleeding] Event no longer implements Serializable. 2012-02-19 04:10:07 -05:00
Feildmaster
219d005e1d [Bleeding] Remove deprecated events (EndermanPickup/Place). 2012-02-19 04:10:06 -05:00
Feildmaster
b09c56d57d [Bleeding] Specify event name in exception. Addresses BUKKIT-778 2012-02-19 04:10:06 -05:00
Wesley Wolfe
08eed206b1 [Bleeding] Added Enchantment and misc tests to ItemStack (de)serialization 2012-02-19 04:10:05 -05:00
SpaceManiac
45833c282d [Bleeding] Added ability to unregister listeners, updated javadoc and
renamed allLists. Addresses BUKKIT-773
2012-02-18 21:36:06 -05:00
EvilSeph
9a80e7630a Fixed Validate message. 2012-02-18 15:28:33 -05:00
EvilSeph
2b137c5a9b Updated EntityTeleportEvent in line with deprecation cleanup. 2012-02-18 13:13:50 -05:00
Erik Broes
7a06777e19 Deprecation cleanup. 2012-02-18 13:05:58 -05:00
Erik Broes
52822729b0 Added RemoteServerCommandEvent. 2012-02-18 12:53:30 -05:00