summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
Commit message (Collapse)AuthorAgeLines
* Rework EntityExplodeEvent. Fixes BUKKIT-4140. Adds BUKKIT-4141Wesley Wolfe2013-04-24-17/+0
|
* Check connection status before setting scoreboard. Fixes BUKKIT-4064Wesley Wolfe2013-04-12-0/+8
| | | | | | | | | Two connection status checks were added to setting a scoreboard for a player. The first checks to see if a player has logged in yet, which implicates the ability to receive packets. The second checks to affirm that the CraftPlayer reference is still to a logged in player; setting it while not logged in would maintain a stale player reference in the scoreboard manager.
* Use correct method for getting player's team. Fixes BUKKIT-4050Wesley Wolfe2013-04-11-1/+1
| | | | | | | The method getTeam gets the team from name of, as opposed to getting the team a player belongs to. This also addresses BUKKIT-4002 and partially BUKKIT-4044
* Refactor EntityDamageEvents. Adds BUKKIT-1944 & BUKKIT-3684feildmaster2013-04-10-12/+85
|
* Make auxiliary worlds use the main scoreboard. Addresses BUKKIT-3984Wesley Wolfe2013-04-04-1/+2
| | | | | | | | | | | When a world is created using our API, it does not use secondary world server and will maintain a reference to its own scoreboard. In vanilla, this is not an issue as there is only ever one world. Similarly to maps, an overwrite to the scoreboard reference has been added for when another world has been created. This should also address BUKKIT-3982 and BUKKIT-3985
* We compile for 1.5Wesley Wolfe2013-04-04-3/+0
|
* Implement Scoreboard API. Adds BUKKIT-3776mbax2013-04-04-3/+697
| | | | | | | | | | | | | | | | | | This implementation facilitates the correspondence of the Bukkit Scoreboard API to the internal minecraft implementation. When the first scoreboard is loaded, the scoreboard manager will be created. It uses the newly added WeakCollection for handling plugin scoreboard references to update the respective objectives. When a scoreboard contains no more active references, it should be garbage collected. An active reference can be held by a still registered objective, team, and transitively a score for a still registered objective. An internal reference will also be kept if a player's specific scoreboard has been set, and will remain persistent until that player logs out. A player's specific scoreboard becomes the scoreboard used when determining team structure for the player's attacking damage and the player's vision.
* Add a WeakCollection utility class.Wesley Wolfe2013-04-04-0/+173
| | | | | | | | | | This class is designed to be an invisible layer between a normal collection, and one that silently loses entries because they are only weakly referencable. Some operations have additional overhead to be semantically correct, but it maintains the equals contract for all entries, as opposed to identity. It does not support the equals or hash code method as it cannot easily have the transitive and commutative properties.
* Properly return contents of Inventory. Fixes BUKKIT-3930h31ix2013-04-02-1/+2
| | | | | | When an array of an inventory's contents is requested, we loop through the contents of the NMS inventory's ItemStacks in order to return Bukkit ItemStacks that can be used through the API. However, the NMS ItemStack can, in some cases, be larger than the physical size of the inventory. Using the size of the NMS array as a limit on the loop that follows can result in an ArrayIndexOutOfBoundsException because the Bukkit array's length is the actual size of the inventory, and thus will be smaller. With this commit we use the smaller of the two arrays' length as the limit in the loop, thus eliminating the possibility that the smaller array will be asked for an index higher than its length.
* Don't update physics when block place is cancelled. Fixes BUKKIT-3939Travis Watkins2013-03-31-23/+27
| | | | | | | | | When a block placement happens we currently update physics on the attempted placement and update again if the placement is cancelled. To correct the first one we simply set the block without applying physics. To correct the second we have to add a new method to BlockState that lets us update without applying physics and use this method method when putting the block back.
* Correct slot types for brewing stand. Fixes BUKKIT-3937Travis Watkins2013-03-31-1/+1
|
* Throw exception for disabled plugin tasks. Fixes BUKKIT-3951Wesley Wolfe2013-03-31-0/+4
| | | | | | | | | | | Without this check, any non-null reference to a plugin is considered 'valid' for registering a task in the scheduler. This is obviously unintentional behavior and has been changed to throw an IllegalPluginAccessException. It is now consistent with the SimplePluginManager event registration contract. This in affect also addresses BUKKIT-3950 for uninitialized plugin references (ones without a description).
* Include anvil result in inventory size. Fixes BUKKIT-3741Travis Watkins2013-03-30-2/+18
|
* Add Beacon block state for hopper events. Fixes BUKKIT-3932Travis Watkins2013-03-29-0/+39
|
* Properly copy collection references in ItemMeta.clone(). Fixes BUKKIT-3913Wesley Wolfe2013-03-28-5/+12
| | | | | | | | | | | | When cloning an item, all references are copied to the new item. For collections, this makes internal changes become visible in both the old and new items. In CraftMetaItem, clone was not making copies of the appropriate collections and has been fixed for non-null values. In CraftMetaEnchantedBook and CraftMetaPotion, clone was using possible empty collection references and has been changed to explicitly null-check instead.
* Improve calling of ProjectileHitEvent. Fixes BUKKIT-3872Andre LeBlanc2013-03-26-0/+6
|
* Allow fishing success rate to be adjustable. Adds BUKKIT-3837Andre LeBlanc2013-03-25-0/+21
|
* Add methods to check conflicting enchantments. Adds BUKKIT-3830GJ2013-03-25-0/+22
|
* Cleanup comments, formatting, etcTravis Watkins2013-03-25-139/+111
|
* Add ability to change player item in hand. Adds BUKKIT-3318Patrick Seidel2013-03-24-0/+9
|
* Add check for Thorns damage - Fixes BUKKIT-3505riking2013-03-23-0/+2
|
* Include ThrownPotion in spawn methods. Adds BUKKIT-2542Carlos Cobo2013-03-23-0/+9
|
* Identify outside slot independent of inventory type. Fixes BUKKIT-2768EdGruberman2013-03-23-1/+1
|
* ANSI color codes now reset text attributes. Fixes BUKKIT-3508James Clarke2013-03-23-17/+17
| | | | The client resets all formatting after a color code is received, but currently the ANSI codes do not, and so the console does not accurately reflect the appearance of the formatted text. Instead, the ANSI color codes are now set to reset all text attributes.
* Implement Dropper interface. Adds BUKKIT-3750Xephi2013-03-21-0/+56
|
* Stationary lava is also a LAVA ignition cause.Travis Watkins2013-03-21-9/+10
|
* Add ability to modify ThrownPotion properties. Adds BUKKIT-3197Olof Larsson2013-03-21-7/+23
|
* Add method to get the source of a TNTPrimed. Adds BUKKIT-3815AlphaBlend2013-03-21-0/+15
|
* BlockState for Command Blocks. Adds BUKKIT-3805.Nate Mortensen2013-03-19-0/+50
|
* Validate Server method input. Addresses BUKKIT-3687Edmond Poon2013-03-18-6/+23
| | | | | | | | | | | | CraftServer methods that implement the Server interface will throw an IllegalArgumentException if a method cannot operate on a null input and given a null pointer. This causes methods to fail early and identify that a plugin is responsible for passing in an invalid argument. This will only change the exception thrown, if there originally was a thrown exception. This helps with hunting down legitimate problems with CraftBukkit.
* Implement per-player Weather API. Adds BUKKIT-812T00thpick12013-03-18-0/+13
|
* Implement new cause versions of BlockIgniteEvent. Addresses BUKKIT-3609, ↵Yariv Livay2013-03-18-0/+63
| | | | BUKKIT-3656, BUKKIT-3657
* Make CraftMinecartHopper work as InventoryHolder. Adds BUKKIT-3796Michael Limiero2013-03-18-7/+19
|
* Implement Entity.isOnGround(). Adds BUKKIT-3787Chad Waters2013-03-17-0/+4
|
* Use name given to command block instead of "@". Fixes BUKKIT-3803Travis Watkins2013-03-17-1/+1
|
* Implement Hopper block state and inventory methods. Adds BUKKIT-3749Michael Limiero2013-03-17-1/+47
|
* Handle double trapped chest inventory. Fixes BUKKIT-3772Travis Watkins2013-03-16-4/+13
|
* Use Chest block state for trapped chests. Fixes BUKKIT-3762Travis Watkins2013-03-16-0/+1
|
* Limit mob names to 64 chars to avoid client crash. Fixes BUKKIT-3753Travis Watkins2013-03-16-0/+5
|
* Handle the newly refactored minecarts.Wesley Wolfe2013-03-16-60/+99
|
* Use proper naming convention for boolean methods.Travis Watkins2013-03-15-1/+1
|
* Update CraftBukkit to Minecraft 1.5Travis Watkins2013-03-15-79/+159
|
* Close inventory on teleport. FIXES BUKKIT-3021.Andrzej Pomirski2013-02-10-4/+5
|
* Set CraftTravelAgent.DEFAULT to a non-null value. Fixes BUKKIT-3578James Clarke2013-02-06-1/+1
| | | | Currently, CraftTravelAgent will call s() on the passed-in WorldServer in order to set DEFAULT. However, s() will always return null at this point, because WorldServer.P will still be null, as it is set after the constructor is called. Instead, we set CraftTravelAgent.DEFAULT to the instance that is being constructed.
* Use entity UUID instead of EntityID for metadata. Fixes BUKKIT-3582feildmaster2013-02-06-2/+3
| | | | | | The entity id is a non-unique, non-persistent value, and will cause entities to lose their respective meta data on chunk unloading, and teleportation.
* Always return a TravelAgent; Fixes BUKKIT-3541EdGruberman2013-02-04-0/+5
| | | | | | | | | | | Recent changes caused PlayerPortalEvent to suddenly return null unexpectedly and could end up in NPEs resulting that did not before. This commit addresses that situation by always ensuring a TravelAgent instance is returned. The TravelAgent for world 0 is returned arbitrarily in an effort to compensate for plugins that are implementation dependent and expect some form of a TravelAgent to be accessible in the event at all times.
* Fix players spawning above portals. Fixes BUKKIT-3542.James Clarke2013-02-04-1/+1
| | | | | | | | | | | | Vanilla does not check for blocks in which the player could suffocate when changing dimension, so portals will happily spawn players in blocks when using a portal under certain circumstances. However, we currently check for these instances and move the player up until they will not suffocate. This means that players can sometimes be taken to above the target portal, making it seem as if a portal was not created. Instead, we now disable this suffocation check when moveToWorld is called from changeDimension, mirroring vanilla behavior more accurately.
* Fix NPE when getting bed spawn location.feildmaster2013-01-29-1/+1
|
* Fix contract with Player.getBedSpawnLocation. Fixes BUKKIT-3525feildmaster2013-01-29-2/+7
| | | | | Getting the bed spawn location is supposed to check if the bed is valid, however, it currently did not do so.
* Remove erroneous break statement in scheduler. Fixes BUKKIT-3395Wesley Wolfe2013-01-27-1/+0
|