298 Commits

Author SHA1 Message Date
feildmaster
7631c22aea Add FurnaceExtractEvent. Addresses BUKKIT-2114
Added a "BlockExpEvent" to hold experience and the handlers for the events
2012-12-09 00:31:23 -06:00
Wesley Wolfe
addfe146de [BREAKING] EntityChangeBlockEvent can be non-living. Adds BUKKIT-3078
Non-living entities can change blocks, specifically falling blocks. This change is a small source break, but mainly a byte-code break (requires plugins to recompile).
2012-12-04 22:17:03 -06:00
Wesley Wolfe
58c8f0ae30 Add data values for entity change block event. Adds BUKKIT-3077, BUKKIT-3076 2012-11-30 12:07:10 -06:00
feildmaster
e72fb666d8 Add DamageCause for FallingBlocks. Adds BUKKIT-2781 2012-11-20 17:09:25 -06:00
EvilSeph
414f949379 Add EXPLOSION and DEFAULT RemoveCauses to the HangingBreakEvent.
EXPLOSION is used when a hanging entity is removed by an explosion.
DEFAULT is used when a hanging entity is removed by an uncategorised
cause.
2012-10-31 14:23:56 -04:00
Travis Watkins
3d4100a327 Add inventory types for new containers. Fixes BUKKIT-2741 2012-10-31 13:25:26 -04:00
h31ix
4bd2bddc90 [Bleeding] Add new events for Hanging entities, deprecate old Painting
events. Adds BUKKIT-2754
2012-10-31 00:21:04 -04:00
Travis Watkins
a446bb7e8f Update Bukkit for Minecraft 1.4(.2) changes. 2012-10-27 22:15:59 -04:00
Wesley Wolfe
6c2c2c19a2 Add a tab completion API for chat messages. Adds BUKKIT-2607
This implementation provides access to a (mutable) list and the base
message. Also provided is a convenience method for getting the last
'token' in the provided string.
2012-10-17 04:56:11 -05:00
Wesley Wolfe
3dc80e1563 Deprecate PlayerPreLoginEvent. Addresses BUKKIT-2600
PlayerPreLoginEvent was originally implemented with the intention that
putting synchronized blocks on the plugin manager made it thread safe.
Unintentionally, this causes the event to be executed when a plugin
would otherwise expect no events to be firing. It is now deprecated.
2012-10-14 03:36:08 -05:00
feildmaster
a54fdd96e8 Add API for getting and setting experience for BlockBreakEvent. Addresses BUKKIT-2033 2012-08-08 19:48:50 -05:00
Wesley Wolfe
1acd7401c7 Add Warning API and settings for Deprecated events 2012-08-07 00:16:57 -05:00
Wesley Wolfe
0249a23179 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
0b304a288e Update Bukkit for 1.3.1 changes 2012-08-02 04:54:21 -05:00
feildmaster
3b42b1d170 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
9cb65fd1cd Add plugin channel events. Addresses BUKKIT-1844 2012-06-21 02:39:35 -05:00
Travis Ralston
e7396e74c4 Add PlayerItemBreakEvent. Addresses BUKKIT-1600 2012-06-21 02:08:31 -05:00
obnoxint
d7ff46b10c Add NotePlayEvent. Fixes BUKKIT-1779 2012-06-14 20:58:19 -05:00
Wesley Wolfe
8c68913506 Add asynchronous pre-login event; Addresses BUKKIT-1213 2012-06-13 23:01:03 -05:00
Wesley Wolfe
9e73a8887c Support asynchronous events; Addresses BUKKIT-1212 2012-06-13 23:01:03 -05:00
H31IX
ef1748ef68 Add PlayerToggleFlightEvent. Fixes BUKKIT-1696 2012-06-13 22:19:51 -05:00
feildmaster
062a3df78d Javadoc updates
Fixes BUKKIT-1653, Fixes BUKKIT-1383 and Fixes BUKKIT-1644
2012-06-03 05:40:54 -05:00
Travis Watkins
5a7f09f1a7 Add IgniteCause.FIREBALL for BUKKIT-1566 2012-05-09 01:41:47 -05:00
feildmaster
55c12d5dd5 Add SpawnReason.DEFAULT, to make SpawnReason.CUSTOM solely for plugins 2012-04-14 01:31:59 -05:00
feildmaster
92821498f0 Added SpawnReason.SLIME_SPLIT. Addresses BUKKIT-790 2012-04-14 00:59:29 -05:00
Wesley Wolfe
9030ba5f99 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
979d54e78d [Bleeding] Added SpawnReason.BREEDING. Addresses BUKKIT-1356 2012-03-27 20:27:41 -04:00
Warren Loo
f520069aa6 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 2d17b0c24e2de982c09ad6050a95db0fac70c3ad.
2012-03-27 19:54:54 -04:00
EvilSeph
2854528ba5 Added new MELTING DamageCause. Addresses BUKKIT-1244 2012-03-22 17:33:32 -04:00
Celtic Minstrel
066ccf6062 [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
e4ca064cdc [Bleeding] Add ExpBottleEvent; Addresses BUKKIT-888 2012-03-20 03:24:37 -04:00
Celtic Minstrel
f528e62a84 [Bleeding] CraftItemEvent.getInventory() now returns CraftingInventory for convenience. 2012-03-15 22:24:01 -04:00
Celtic Minstrel
74ff160f58 [Bleeding] Added ProjectileLaunchEvent. Addresses BUKKIT-284 2012-03-15 07:12:23 -04:00
feildmaster
d22352013f [Bleeding] Added EntityBreakDoorEvent. Fixes BUKKIT-1134 2012-03-11 16:28:40 -04:00
feildmaster
06e507f3c6 [Bleeding] Add new sub-event for target goals, and DEFEND_VILLAGE TargetReason. Fixes BUKKIT-935 2012-03-10 02:02:08 -05:00
SpaceManiac
bc60e182cd [Bleeding] Added getting the hostname a player used to log in. Addresses BUKKIT-984 2012-03-09 11:48:04 -05:00
EvilSeph
cb46f4b8fe Made zombie invasions fire CreatureSpawn event. Fixes BUKKIT-1090 2012-03-08 22:10:17 -05:00
EvilSeph
220d1bb453 Made iron golems fire CreatureSpawn event. Fixes BUKKIT-1089 2012-03-08 22:00:08 -05:00
Celtic Minstrel
d839b6d639 Fix javadoc errors/warnings 2012-02-29 21:31:28 -05:00
Celtic Minstrel
8a458ca273 [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
925bf6498c Fixed PlayerPortalEvent constructor. 2012-02-29 14:27:05 -05:00
James Clarke
42d8d07051 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
ca7aab6f4f [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
3440a1f2ee [Bleeding] Fixes deadlock issue and generic usage. Fixes BUKKIT-844 and fixes BUKKIT-854 2012-02-29 09:50:03 -05:00
TomyLobo
1876c12a79 Narrowed down the return type of most EntityEvent subclasses for convenience. Addresses BUKKIT-809 2012-02-28 21:57:17 -05:00
TomyLobo
93521af608 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
ffb24d94b0 Add a CreateReason to PortalCreateEvent. Addresses BUKKIT-833 2012-02-26 15:19:29 -05:00
zml2008
56d628be91 Added service register and unregister events. Addresses BUKKIT-816 2012-02-26 12:15:36 -05:00
Celtic Minstrel
eb8632fca7 [Bleeding] Add constructor to BlockFromToEvent for dragon egg teleportation. Addresses BUKKIT-828 2012-02-25 19:10:28 -05:00
Celtic Minstrel
ce4a390b00 [Bleeding] Added EntityType to replace CreatureType. 2012-02-22 22:06:19 -05:00