summaryrefslogtreecommitdiffstats
path: root/src/main
Commit message (Collapse)AuthorAgeLines
* Update CraftBukkit to Minecraft 1.4.4.Travis Watkins2012-11-13-2713/+3234
|
* Migrate world data with world when switching from vanilla Minecraft toEvilSeph2012-11-02-0/+9
| | | | Bukkit. Fixes BUKKIT-2816 and BUKKIT-2760
* [Bleeding] Fix mistranslation affecting time of the server vs time of day.md_52012-11-02-5/+5
| | | | Fixes BUKKIT-2797
* Fix compile issue with chunk generation.Travis Watkins2012-11-02-0/+2
|
* Delegate recreateStructures to nms provider. Fixes BUKKIT-2760feildmaster2012-11-01-1/+6
| | | | This was a miss when updating to 1.4.2
* Add CraftArt mappings for Wither. Fixes BUKKIT-2667.Wesley Wolfe2012-11-01-7/+7
| | | | | | | | | | | | The static assertions are not normally evaluated in the JVM, and failed to fail when the enums went from size 25 to size 26. This meant missing values would not be detected at runtime and instead return null, compounding problems later. The switches should never evaluate to null so will instead throw runtime assertion errors. Additional unit tests were added to detect new paintings and assure they have proper, unique mappings. The test checks both that a mapping exists, is not null, and does not duplicate another mapping.
* Change ItemFrame to actually provide a defensive copy. Fixes BUKKIT-2784Wesley Wolfe2012-11-01-1/+14
| | | | | | | If a defensive copy is not used in the API, changes to the item are reflected in memory, but never updated to the client. It also goes against the general contract provided in Bukkit, where setItem should be the only way to change the underlying item frame.
* Fire HangingBreakEvent when explosions remove hanging entities. Fixes ↵EvilSeph2012-10-31-6/+6
| | | | BUKKIT-2764
* Add inventory and slot types for new containers. Fixes BUKKIT-2741Travis Watkins2012-10-31-0/+22
|
* Fix NPE when blowing up an item frame. Fixes BUKKIT-2763Travis Watkins2012-10-31-1/+1
|
* Implement API for ambient mob spawn limit. Add spawn-limit.ambient toTravis Watkins2012-10-31-1/+26
| | | | bukkit.yml. Adds BUKKIT-2765
* Use BlockCommandSender for dispatching Command block commandsTravis Watkins2012-10-31-10/+55
| | | | Also allow commands that don't start with a / to match vanilla behavior
* Expose API for managing and using GameRules. Adds BUKKIT-2757feildmaster2012-10-31-14/+42
|
* Hook command block up to ConsoleCommandSender. Fixes BUKKIT-2684Travis Watkins2012-10-31-4/+64
| | | | | This will need to have its own CommandSender but this makes command blocks work for now with any command console can run.
* Implement the API for ItemFrames. Adds BUKKIT-2668h31ix2012-10-31-1/+62
|
* [Bleeding] Fire damage is no longer a valid reason for hanging entity removalh31ix2012-10-31-13/+2
|
* [Bleeding] Implement new Hanging events. Adds BUKKIT-2754h31ix2012-10-31-40/+64
|
* Remove Anvil debug. Fixes BUKKIT-2732EvilSeph2012-10-30-1/+1
|
* [Bleeding] Prevent players from appearing to be sneaking after they change ↵md_52012-10-30-1/+1
| | | | dimensions whilst doing so.
* Disable portal support for entities for now. Restore allowNether check.EvilSeph2012-10-30-3/+3
| | | | | Relates to: BUKKIT-2695 BUKKIT-2675
* Expose API for clearing a player's inventory with a successful countEvilSeph2012-10-30-0/+27
| | | | return. Adds BUKKIT-2745
* Update map cursors to reflect 1.4 changes. Fixes BUKKIT-2740feildmaster2012-10-29-2/+1
|
* Expose API for giving and taking experience levels for use with ExpCommand's ↵EvilSeph2012-10-29-0/+4
| | | | new behaviour with Minecraft 1.4. Adds BUKKIT-2739
* Revert changing EntityType.FIREBALL to LARGE_FIREBALLfeildmaster2012-10-29-1/+1
|
* Get skull data before destroying block. Fixes BUKKIT-2723Travis Watkins2012-10-29-6/+28
| | | | | | | | | Skull blocks store their type in a tile entity and use their block data as rotation. When breaking a block the block data is used for determining what item to drop. Simply changing this to use the skull method for getting their drop data is not enough because their tile entity is already gone. Therefore we have to special case skulls to get the correct data _and_ get that data before breaking the block.
* Fix bug preventing non bed-reliant spawns from being successfully set. Fixes ↵EvilSeph2012-10-29-1/+1
| | | | BUKKIT-2708
* Drop skulls like every other block. Fixes BUKKIT-2678Travis Watkins2012-10-29-1/+4
| | | | | Instead of having a special case for skulls just use the normal logic for breaking a block. This avoids issues when interacting with API.
* Add isHardcore API to check if the server is in hardcore mode or not. Adds ↵EvilSeph2012-10-29-0/+4
| | | | BUKKIT-2707
* Prevent health from wrapping around.EvilSeph2012-10-28-4/+6
|
* Update PotionEffects on player death. Fixes BUKKIT-2673h31ix2012-10-28-0/+3
| | | | | | | On player death player PotionEffects need to be updated so that a player's invisibility and other effects are removed, otherwise they will persist after a respawn. This is a carry-over from our use of persistent player entities.
* Clamp difficulty levels to prevent invalid valuesTravis Watkins2012-10-28-1/+1
| | | | | | | Some features added in 1.4.2 use the difficulty value as an index to an array so while before having it set to an invalid value would do nothing or maybe cause an odd side effect somewhere it now crashes the server. This patch ensures difficulty values are clamped between 0 and 3, inclusive.
* Don't filter item data for anvils. Fixes BUKKIT-2640Travis Watkins2012-10-28-1/+1
| | | | | | | Filtering item data is usually a good idea to make sure we don't have invalid data or data on items that shouldn't have it. However, anvils use item data in slightly different way and so running its code for filtering here causes the data to be corrupted.
* Use correct variable for squid Y motion. Fixes BUKKIT-2648Travis Watkins2012-10-28-1/+1
|
* Fix missed rename for ore exp dropping. Fixes BUKKIT-2662Travis Watkins2012-10-28-1/+1
|
* Add new entities to World.spawn method. Fixes BUKKIT-2658Travis Watkins2012-10-28-3/+19
|
* Fix incorrect method names missed during update. Fixes BUKKIT-2653h31ix2012-10-28-2/+2
| | | | | | A couple method names were changed between 1.3.2 and 1.4.2 but were missed in the update. One of these affects being able to enchant bows and the other is used for updating player animations while firing.
* These books are too powerful!EvilSeph2012-10-28-1/+1
|
* Remove spawn-radius setting in bukkit.yml in favour of spawn-protection inEvilSeph2012-10-28-5/+14
| | | | server.properties. Fixes BUKKIT-2657
* Fixed generator-settings not being set. Fixes BUKKIT-2652EvilSeph2012-10-28-0/+1
|
* Don't pass vanilla plugin channels to plugins. Fixes BUKKIT-2638Travis Watkins2012-10-27-23/+22
| | | | | | | | Vanilla has its own handlers for plugin channel messages for things like texture packs, books, and anvils. When vanilla handles one of these messages we should not also pass it to plugins because they will be duplicating work and potentially running in to situations our plugin system isn't setup to handle. This is how 1.3.2 worked but was lost in the 1.4.2 update.
* Update CraftBukkit to Minecraft 1.4(.2).Travis Watkins2012-10-27-4808/+10049
|
* Made books less powerful, though you should still read them!EvilSeph2012-10-27-1/+15
|
* Implement chat tab completion API. Fixes BUKKIT-2608. Adds BUKKIT-2607.Wesley Wolfe2012-10-17-4/+19
| | | | | The chat tab completion implementation also includes a sanity check to assure type-safety in the list.
* Delegate tab-completion. Fixes BUKKIT-2181. Adds BUKKIT-2602Score_Under2012-10-15-0/+43
| | | | | | CommandMap now contains the functionality for tab completion. This commit replaces the vanilla implementation and simply delegates it to the Bukkit API.
* Queue tasks from secondary threads. Fixes BUKKIT-2546 and BUKKIT-2600Wesley Wolfe2012-10-14-42/+136
| | | | | | | | | | | | | | | | | | | | | This change affects the old chat compatibility layer from an implementation only standpoint. It does not queue the 'event' to fire, but rather queues a runnable that allows the calling thread to wait for execution to finish. The other effect of this change is that rcon connects now have their commands queued to be run on next server tick using the same implementation. The internal implementation is in org.bukkit.craftbukkit.util.Waitable. It is very similar to a Future<T> task, but only contains minimal implementation with object.wait() and object.notify() calls under the hood of waitable.get() and waitable.run(). PlayerPreLoginEvent now properly implements thread-safe event execution by queuing the events similar to chat and rcon. This is still a poor way albeit proper way to implement thread-safety; PlayerPreLoginEvent will stay deprecated.
* Implement new scheduler API. Adds BUKKIT-836Wesley Wolfe2012-10-14-2/+31
| | | | | | The implementation for the new methods mimics the old methods. The final call for the old methods now maps to the new methods with an additional call to get id.
* Ensure entity isn't destroyed when trying to show it. Fixes BUKKIT-2038Travis Watkins2012-10-13-3/+4
| | | | | | | | | If two players (or a player and any other entity) are teleported to the same location in the same tick they will both get added to the other's destroy queue then have a new entity spawn packet sent. Next tick the destroy queue will be processed and they will then be invisible to each other. To prevent this situation we remove the entity from the destroy queue when sending out a spawn packet for them.
* Update entity target data to reflect current AI status. Fixes BUKKIT-2280EdGruberman2012-09-28-0/+2
| | | | | | | The new AI system introduced by Minecraft 1.2 no longer relies on the target field in the entity so it is frequently out of sync with what the entity is actually doing. This modifies the AI goal to update the target so our API can return the correct information.
* Allow data values on mushroom and mob spawner blocks. Fixes BUKKIT-2346Travis Watkins2012-09-28-3/+5
| | | | | | | | | In 1.2.5 and older versions of CraftBukkit we allowed the use of data values on bug mushroom and mob spawner blocks for use with plugins. For the 1.3 update the mechanism for doing this was changed and I accidentally used the wrong value when adding these, indicating that they should not have data instead of our actual intent. This change corrects this regression.
* Remove player from destroy queue when they go visible. Fixes BUKKIT-2071Travis Watkins2012-09-28-0/+1
| | | | | | | | | If a plugin calls player.hidePlayer(other); then player.showPlayer(other); in the same tick the other player will be added to the entity destroy queue then a spawn packet will be sent. On the next tick the queue will be processed and a destroy packet will be sent that renders the other player invisible. To correct this we ensure the destroy queue is in sync with use of the vanish API.