summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeLines
...
* Consider arguments to team leave properly. Fixes BUKKIT-3994Wesley Wolfe2013-04-05-2/+2
| | | | | Two checks to argument length were changed to properly consider if the sender is a player instead of an off-by-one logical error.
* Use utility method for team-join display. Fixes BUKKIT-3997Wesley Wolfe2013-04-05-24/+2
| | | | | The method to make a string from a collection of strings already exists and should be used when adding multiple players to a team.
* Prevent classloader leak in metadata system. Fixes BUKKIT-3854crast2013-04-04-33/+26
| | | | | | | Metadata values keep strong reference to plugins and they are not cleared out when plugins are unloaded. This system adds weak reference logic to allow these values to fall out of scope. In addition we get some operations turning to O(1) "for free."
* Don't cache metadata store disambiguations. Fixes BUKKIT-3841crast2013-04-04-28/+4
| | | | | | | | | | | | | | | The metadata system generates unique keys for metadata entries based on the subject metadata is being applied to and the name of the metadata being applied. It was assumed this would be an expensive operation so a cache was put in place to ensure this was done as little as possible. In reality this cache only has a benefit when you have a hit rate above ~90% and is otherwise much slower. As the implementation of the cache is a hashmap of hashmaps it also uses a significant amount of memory which is not worth it even for the performance increase with a high hit rate. This commit simply removes the cache which results in speedups for most cases and large memory savings.
* Improve speed and memory use of FixedMetadataValue. Fixes BUKKIT-1460crast2013-04-04-21/+51
| | | | | | | | | | | | FixedMetadataValue currently just extends LazyMetadataValue with a value that never changes. While this works it is a lot of unneeded overhead that causes FixedMetadataValue to be a lot slower and use a lot more memory than one would expect. To correct this we store the value directly in FixedMetadataValue and override the the appropriate methods to use it. Ideally we would modify FixedMetadataValue to no longer extend LazyMetadataValue as this would give a very large memory savings. However, this is not currently done for backwards compatibility reasons.
* Refactor common metadata code into base class. Fixes BUKKIT-3624crast2013-04-04-59/+176
| | | | | | Implementing the MetadataValue interface is significant work due to having to provide a large amount of conversion stub methods. This commit adds a new optional abstract base class to aid in implementation.
* Add Scoreboard API and Command. Adds BUKKIT-3776, BUKKIT-3834mbax2013-04-03-0/+1171
| | | | | | | | | | | | The implementation is designed around having both a main scoreboard and numberous plugin managed scoreboards that can be displayed to specific players. Plugin managed scoreboards are active so long as a reference is kept by a plugin, or it has been registered as a player's active scoreboard. Objects specific to a scoreboard remain active until unregistered (which remove a reference to the owning scoreboard), but quickly fail if accessed post-unregistration.
* Pulling all pending Bukkit-JavaDoc changesEdmond Poon2013-04-02-505/+539
|
* Add Effect command. Adds BUKKIT-3763feildmaster2013-03-31-1/+113
|
* Add method to update state without physics update. Addresses BUKKIT-3939Travis Watkins2013-03-31-1/+17
|
* Add Beacon BlockState for hopper events. Fixes BUKKIT-3932Travis Watkins2013-03-29-0/+9
|
* Pulling all pending Bukkit-JavaDoc changesEdmond Poon2013-03-27-3/+23
|
* Allow fishing success rate to be adjustable. Adds BUKKIT-3837Andre LeBlanc2013-03-25-1/+23
|
* Add methods to check for conflicting enchantments. Adds BUKKIT-3830GJ2013-03-25-0/+16
|
* Add ability to change player item in hand. Adds BUKKIT-3318Patrick Seidel2013-03-24-1/+21
|
* Add Thorns to DamageCause - Related to BUKKIT-3505riking2013-03-23-0/+6
|
* Add InventoryMoveItemEvent. Adds BUKKIT-3765Dennis Bliefernicht2013-03-23-0/+109
| | | | | | This event is being called whenever a block or entity (e.g. hopper) tries to move an item from one inventory to another inventory (one inventory may be the hopper itself).
* Add Dropper BlockState. Adds BUKKIT-3750Xephi2013-03-21-1/+31
|
* Map old wildcard recipe data to new 1.5 value. Fixes BUKKIT-3849Travis Watkins2013-03-21-0/+11
|
* Add ability to modify ThrownPotion properties. Adds BUKKIT-3197Olof Larsson2013-03-21-0/+21
|
* Add method to get the source of a TNTPrimed. Adds BUKKIT-3815AlphaBlend2013-03-21-1/+19
|
* Add Fish (Hook) entity to PlayerFishEvent. Adds BUKKIT-1025Andre LeBlanc2013-03-20-0/+23
|
* Added the hasGravity method to Blocks. Adds BUKKIT-3832nitnelave2013-03-20-0/+17
|
* Pulling all pending Bukkit-JavaDoc changesEdmond Poon2013-03-20-15/+22
|
* BlockState for Command Blocks. Adds BUKKIT-3805.Nate Mortensen2013-03-19-0/+40
|
* Add an enum for Nether Wart growth stages. Adds BUKKIT-1599GJ2013-03-19-1/+106
|
* Add dummy /testfor command in Bukkit. Addresses BUKKIT-3813Travis Watkins2013-03-18-0/+27
| | | | | This command only functions in command blocks so the bukkit command for it simply spits out an error message.
* Add per-player Weather API. Adds BUKKIT-812T00thpick12013-03-18-0/+40
|
* Add block or entity causes to BlockIgniteEvent. Addresses BUKKIT-3609, ↵Yariv Livay2013-03-18-5/+54
| | | | BUKKIT-3656, BUKKIT-3657
* Add InventoryPickupItemEvent. Adds BUKKIT-3798Michael Limiero2013-03-18-0/+58
|
* Make HopperMinecart implement InventoryHolder. Adds BUKKIT-3796Michael Limiero2013-03-18-1/+2
|
* No @Override here in Java 1.5.Travis Watkins2013-03-17-1/+0
|
* Add Entity.isOnGround(). Adds BUKKIT-3787Chad Waters2013-03-17-0/+19
|
* Don't use deprecated interface.Travis Watkins2013-03-17-1/+3
|
* Add Hopper block state and inventory type. Adds BUKKIT-3749Michael Limiero2013-03-17-0/+12
|
* Validate method parameters when registering events. Fixes BUKKIT-3779feildmaster2013-03-16-2/+2
|
* Moved all specific minecart entities to sub-package.Wesley Wolfe2013-03-16-33/+107
| | | | | | | | | | | | | | | | | | | This change is breaking for the new API for 1.5, including the interfaces for the three new Minecart types and the name of the previously TNT_MINECART material. This change also deprecates the two previous specific minecart types located in the org.bukkit.entity package. This deprecation is not a breaking change and will still be internally supported. Each minecart type has new javadoc to be slightly more descriptive. Included with this are specific references to the interface for each respective EntityType entry. Another package-info.java file has been included as well. All specific minecart types extend minecart, each with a more descriptive name. The naming will also follow the old convention. In addition, the minecart with no specific designation is now more closely referred to as a rideable minecart.
* Use proper naming convention for boolean methods.Travis Watkins2013-03-15-1/+1
|
* Update Bukkit for Minecraft 1.5Travis Watkins2013-03-15-4/+107
|
* Removed superfluous recalculation call; Fixes BUKKIT-3728Jeffrey Wardian2013-03-12-2/+0
| | | | | | | | | The permission attachment interface provides two methods each for setting and unsetting permissions. Each one also provides an extra call to the recalculatePermissions() method on the permissible, which degrades performance. This commit removes the duplicate call to recalculate permissions.
* Convert name to lower case for removePermission; Fixes BUKKIT-3726Max A2013-03-11-2/+2
| | | | | | | Permissions are stored as lower case names and referenced as such in all appropriate methods but removePermission. This changes removePermission to also convert names to lower case to be consistent with the rest of the API.
* Test PluginManager.removePermissionEdGruberman2013-03-11-25/+129
| | | | | | | | | | | | | | | Static methods are death to testability. However, irrelevant static methods can be negotiated with until a later time in which they can be removed. When instantiating a new Permission object, static calls are made to the Bukkit class during a recalculatePermissibles logic path. This recalculatePermissibles call should probably be moved appropriately, but until the time such testing can be accomplished itself, these tests work around that situation by simply verifying the static Bukkit server references are satisfied since what is called as a result is irrelevant currently. This commit also updates a few other tests for PluginManagerTest to work towards the standard of using the Hamcrest unit testing library.
* Add PlayerItemConsumeEvent. Adds BUKKIT-2349Travis Watkins2013-03-02-0/+75
|
* Pulling all pending Bukkit-JavaDoc changesWesley Wolfe2013-02-22-14/+292
|
* Fix ClassCastException for malformed plugin.yml. Fixes BUKKIT-3563Wesley Wolfe2013-02-03-2/+9
| | | | | | If the plugin.yml gets loaded but wasn't in the form of a map, the server would crash. This safely checks to see if it can be cast, throwing invalid description if it cannot.
* Fix invalid integers in spawnpoint command. Fixes BUKKIT-3509feildmaster2013-01-26-5/+19
| | | | | getInteger returns min value on illegal number formats, so we change behavior to throw an exception when requested.
* Only use TravelAgent if supplied; Addresses BUKKIT-3466EdGruberman2013-01-24-1/+1
| | | | If there is no TravelAgent assigned, it can not be used.
* Don't try listing something that may not exist. Fixes BUKKIT-3471feildmaster2013-01-23-0/+2
| | | | | The player name may not be provided, in which case the command will fail hard.
* Improve javadoc in 26 files.feildmaster2013-01-22-144/+253
| | | | | | Addresses: BUKKIT-1643, BUKKIT-1868, BUKKIT-1846, BUKKIT-2632, BUKKIT-3196, BUKKIT-3187, BUKKIT-3198, BUKKIT-3200, BUKKIT-3201 and BUKKIT-3417.
* [Bleeding] Add experimental support for entity portal travelingEdGruberman2013-01-19-2/+107
| | | | | | | | | EntityPortalEvent is called when an entity is about to portal to a new location. This event is cancellable on top of being able to change the exit location. EntityPortalExitEvent is called when exiting the portal, allowing for adjustment of the exit velocity.