Commit Graph

88 Commits

Author SHA1 Message Date
mbax
75427e084d Add banning API and resolve associated command issues. Adds BUKKIT-3535.
Fixes BUKKIT-5371 and BUKKIT-4285

Prior to this commit, ban reasons were not supported by banning commands.
Additionally, the player(s) affected by the ban-ip command would not have
been removed from the server via a kick.

The Bukkit API lacked support for modifying various attributes associated
with bans, such as the reason and expiration date. This caused various plugins
to use external or other means to store a ban reason, making the built-in
banning system on the server partially useless.

Now the ban commands will accept reasons for the bans as well as kick the
player from the server once banned. That means that if an IP is banned
that all players using that IP will be removed from the server.

The API provided now supports editing the ban reason, creation date,
expiration date and source. The ban list has also been created to
provide this information more easily. Editing the data requires an
implementing plugin to manually save the information with the provided
method in BanEntry or BanList once changes have been made.

The addition of this API has deprecated the use of OfflinePlayer#setBanned()
as it has been replaced by BanList#addBan().
2014-02-07 23:49:44 -07:00
Wesley Wolfe
ce94a3555c Modify give command to support 1.7 features. Fixes BUKKIT-5286
Necessary additions include an interface to add internal value conversions
that are inappropriate for proper API design. This acts as a substitute
for properly formed, user-friendly commands in an effort to maintain
relatively vanilla behavior.
2014-01-14 22:37:00 -06:00
t00thpick1
bff28d83d9 [Bleeding] Add 1.7 setworldspawn and setidletimeout commands. Addresses BUKKIT-4932 2014-01-14 19:05:14 -05:00
Wesley Wolfe
8a1dbc38da Pulling all pending Bukkit-JavaDoc changes
A special thanks goes to @aerouk for almost all of the changes found here.
2013-12-15 01:09:18 -05:00
mbax
1db19b62db Update Update Bukkit to 1.7.2 2013-11-30 19:01:48 -06:00
Wesley Wolfe
1f83111208 Deprecate magic values 2013-08-28 01:44:09 -05:00
Edmond Poon
466febbe41 Pulling all pending Bukkit-JavaDoc changes 2013-08-03 21:46:30 -04:00
mbax
6fb1647394 Add Scoreboard API and Command. Adds BUKKIT-3776, BUKKIT-3834
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.
2013-04-03 23:32:54 -05:00
Edmond Poon
409595c2a2 Pulling all pending Bukkit-JavaDoc changes 2013-04-02 00:11:22 -04:00
Wesley Wolfe
0b494f8896 Pulling all pending Bukkit-JavaDoc changes 2013-02-22 22:49:38 -06:00
feildmaster
bbc75c4a68 Improve javadoc in 26 files.
Addresses:
BUKKIT-1643, BUKKIT-1868, BUKKIT-1846, BUKKIT-2632, BUKKIT-3196,
BUKKIT-3187, BUKKIT-3198, BUKKIT-3200, BUKKIT-3201 and BUKKIT-3417.
2013-01-22 16:41:00 -06:00
Wesley Wolfe
a06f7b1b86 Add ItemMeta factory and interfaces. This adds BUKKIT-15
Included with ItemMeta is a new serializable class Color.

PotionEffects are now serializable.
2012-12-17 01:16:28 -06:00
feildmaster
74a6fb9834 Add getShutdownMessage() and stop command arguments. Adds BUKKIT-3031 2012-12-05 06:06:44 -06:00
Travis Watkins
aa4644cda3 Add API for ambient mob spawn limit. Adds BUKKIT-2765 2012-10-31 13:01:29 -04:00
EvilSeph
aedafb9acd Add isHardcore API to check if the server is in hardcore mode or not. Adds BUKKIT-2707 2012-10-29 01:45:08 -04:00
Wesley Wolfe
dc3fc6a702 Add Warning API and settings for Deprecated events 2012-08-07 00:16:57 -05:00
feildmaster
c3830e0d22 Implement server.getMotd() for BUKKIT-1799 2012-07-04 23:21:03 -05:00
Wesley Wolfe
4ebefa5b3a Support asynchronous events; Addresses BUKKIT-1212 2012-06-13 23:01:03 -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
90d2cedd56 Add API for managing mob spawn limits per-world. Fixes BUKKIT-1565 2012-04-23 21:53:52 -04:00
EvilSeph
e96b0b60d5 Added configurable Connection Throttle. Addresses BUKKIT-1274 2012-03-22 16:55:57 -04:00
Mike Primm
e0c3be1d9c [Bleeding] Add getWorldType() and getGenerateStructures() methods to Bukkit and Server. Fixes BUKKIT-855 2012-03-10 18:28:20 -05:00
rmichela
bba2e1cd2f [Bleeding] Added Help API. Addresses BUKKIT-863 2012-03-01 04:28:21 -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
Celtic Minstrel
3604da1f55 [Bleeding] Add ways to retrieve and delete crafting recipes and fixed some issues with the existing recipe API.
- New recipe iterator which enables deleting specific recipes
- Functions to delete all recipes or revert to vanilla recipe set
- Fixed the recipes API; you should now be able to define recipes that take brewed potions!
- Fetch all recipes that result in a specific item
2012-02-21 04:11:58 -05:00
Erik Broes
7a06777e19 Deprecation cleanup. 2012-02-18 13:05:58 -05:00
EvilSeph
43815ca003 Added configurable animal and monster ticks per spawn setting. 2012-02-10 12:52:41 -05:00
EvilSeph
7db4bd3336 Fixed comment from earlier commit. 2012-01-29 13:10:51 -05:00
EvilSeph
24f5cb0b5c Added useExactLoginLocation(). Closes BUKKIT-145
useExactLoginLocation() looks for settings.use-exact-login-location within bukkit.yml.

If true, we will bypass Vanilla's behaviour of checking for collisions and moving the player if needed when they login.

If false, we will continue to follow Vanilla's behaviour and move players that 'collide' with objects when they login.
2012-01-29 12:31:59 -05:00
Erik Broes
eb9dc64493 Generic cleaning 2012-01-15 14:37:43 +01:00
Nathan Adams
55cc8722c8 Implemented new Plugin Message API - see http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/ 2012-01-13 08:53:14 +00:00
Erik Broes
dce83b6ce4 Generic cleanup of warnings, whitespace and style. 2011-12-25 16:02:30 +01:00
Erik Broes
3e93f794d4 Add Bukkit.getAllowEnd(). Thanks codename-B! 2011-12-09 18:59:04 +01:00
Nathan Adams
548ee35ef6 Added method to retrieve all players on a server, online or offline 2011-12-04 17:56:41 +00:00
Nathan Adams
d6f29fc8f3 Added world.getWorldFolder, server.getWorldContainer 2011-11-25 03:46:47 +00:00
Nathan Adams
e345626f9e Added getBukkitVersion to Server 2011-10-31 04:02:30 +00:00
EvilSeph
ab1591b013 Added Difficulty API. 2011-10-03 10:11:46 -04:00
Dinnerbone
fcac5c694d Added Server.getOperators to return all server operators 2011-09-25 03:27:44 +01:00
Dinnerbone
e6c273e8b0 Many javadoc fixes thanks to Celtic Minstrel 2011-09-25 02:56:40 +01:00
raphfrk
204708ed7e Adds a method that returns the File representation of the update folder. The previous method just returns the filename and doesn't provide the path 2011-09-25 02:22:36 +01:00
Dinnerbone
24d3f8e04d Deprecated Server.createWorld() methods, use "WorldCreator.name(x).seed(1234).createWorld()" now 2011-09-25 01:04:43 +01:00
Dinnerbone
7306aa8d3d Added server.getConsoleSender, blocked access to create a ConsoleCommandSender 2011-09-24 23:11:01 +01:00
Dinnerbone
3524fde5ff Added GameMode methods to Server and HumanEntity 2011-09-09 01:15:37 +01:00
Dinnerbone
0914132467 Moved all vanilla commands into Bukkit 2011-09-03 15:56:35 +01:00
Dinnerbone
019b7a8d0e Added new methods to Server, Player and OfflinePlayer for banning and unbanning 2011-09-03 02:13:37 +01:00
Dinnerbone
e338601294 Added 3 methods to Server for IP banning and unbanning 2011-09-03 01:59:08 +01:00
Dinnerbone
0484a8bd84 Added the ability to access offline players & more reverse lookup fixes in Permissible. 2011-09-03 00:41:22 +01:00
Dinnerbone
1ff5dfeda3 Added new Server.broadcast method to broadcast to specific groups of users, including non-players 2011-09-02 22:24:39 +01:00
Dinnerbone
87e4d58e7d Added method to shutdown the server 2011-09-02 20:18:10 +01:00