Commit Graph

32 Commits

Author SHA1 Message Date
EvilSeph
bb7b91b4d4 Added support for an update on load feature for plugins. Thanks Raphfrk!
Any files placed in the new (optional) update folder are automatically copied into the plugins directory the next time a reload happens. This allows safe updating of the plugin .jar files.
2011-05-05 20:18:12 -04:00
sk89q
67f1d7b041 Added services manager framework. Services are interfaces that specifies capabilities to be implemented by providers. Example services include economy, <insert example 2>, etc. 2011-05-02 11:31:30 -07:00
Raphfrk
4475e0f160 Added support for soft dependencies.
Soft dependencies allow plugins to request to be loaded after another plugin, but they will not throw an UnknownDependency exception if the other plugin is not present.
2011-05-02 03:33:46 -04:00
sk89q
a7724a5138 Added pre-login event for catching logins right after name verification has completed. This happens in a different thread from the server (and thus can also block). 2011-04-16 03:08:05 -07:00
Erik Broes
9b1c7348bd Plugin's datafolders are now named after the plugin's name (from config.yml)
The code will automagically rename the old data folder to the new format (if it can)
or else throw a fatal error you better solve :D
2011-04-03 16:12:44 +02:00
Erik Broes
d9c309d82c Fix IIOB error when dealing with an incomplete YAML && Nagging 2011-04-01 10:24:48 +02:00
Dinnerbone
fe2c6c7b1c We weren't supposed to break things *that* hard. Plugins still need to update but here's a TEMPORARY fix. 2011-03-31 22:51:26 +01:00
Erik Broes
d208614fcc Just NAG once, to be nice 2011-03-30 00:38:46 +02:00
Erik Broes
f9767d4025 Add 'NagException' to disclose plugin fail 2011-03-30 00:25:11 +02:00
Dinnerbone
9c63b27755 RegisterInterface reload bug fix 2011-03-29 21:29:46 +01:00
Erik Broes
158906c132 Some more backwards incompatible changes (minor though), also a ton of small cleanup.
onPluginEnable(PluginEvent event)   -> onPluginEnable(PluginEnableEvent event)
onPluginDisable(PluginEvent event)  -> onPluginDisable(PluginDisableEvent event)
onVehicleUpdate(VehicleEvent event) -> onVehicleUpdate(VehicleUpdateEvent event)
onWorldSave(WorldEvent event)       -> onWorldSave(WorldSaveEvent event)
onWorldLoad(WorldEvent event)       -> onWorldLoad(WorldLoadEvent event)
2011-03-26 22:32:14 +01:00
Dinnerbone
3d750c5440 Plugins can no longer register events while disabled 2011-03-14 15:11:43 +00:00
Dinnerbone
1f0d89be27 Adds basic plugin dependencies, courtesy of Raphfrk 2011-03-07 14:04:00 +00:00
VictorD
cd490d826b Added a few null pointer checks and performed minor touchups (tried improving a few equals, clone and hashCode methods). 2011-03-05 12:27:51 +01:00
Dinnerbone
18e2a4de26 Updating plugin nags to use logger 2011-02-20 02:29:12 +00:00
Dinnerbone
f115161578 Added Server.getLogger, changed a few anonymous loggers to use it 2011-02-20 02:27:31 +00:00
Dinnerbone
0a722adaa2 And this is so that we don't have to support misbehaving plugins. 2011-02-20 00:47:21 +00:00
Dinnerbone
115d1cb30e Fixed event priorities 2011-02-19 20:43:35 +00:00
Raphfrk
83d2d304ba Scheduler 2011-02-07 01:06:20 +01:00
stevenh
247e77579a Renamed IExecutor -> CommandExecutor and fixed SERVER_COMMAND doc 2011-01-29 21:17:36 +00:00
stevenh
0814239f31 merge with head 2011-01-29 17:18:32 +00:00
stevenh
cc404ced12 Refactored event calling so its front loading avoiding the lookup for each event call.
This now uses an annoymous class implementing IExecutor that facilitates direct event method handler calling

Changed commands from being executed exclusively by a player to by a CommandSender to facilitate external command callers such as rcon

Fixed CustomEventListener

Merged in additional events

Added getFullName to PluginDescriptionFile which returns the combination of Name and Version

There's also a few bits of reformatting as it seems someones been editing with either tabs or dos eol :(
2011-01-29 16:23:56 +00:00
Dinnerbone
d67110aecf clearPlugins() and clearCommands() for PluginManager and CommandMap respectively 2011-01-28 14:18:24 +00:00
Taylor Kelly
99d78d912c onDisable on stop - stephank 2011-01-27 16:15:24 -05:00
Dinnerbone
868aee0046 Fixed empty check in PluginCommand 2011-01-20 03:08:15 +00:00
mcasper
ba78a90a4f Event hooks were ordered in backwards order versus the expected way. To avoid sorting problems and manual sorting, changed priority to be handled by a PriorityQueue<>() rather than a manually sorted List().
Resolves issue 211 http://bugs.bukkit.org/issues/211
2011-01-20 07:52:55 +08:00
Dinnerbone
39922fb7ff Added PluginManager.getPlugins() 2011-01-11 20:58:01 +00:00
Dinnerbone
dd843748fa Tweaked some more exceptions, get messages passed 2011-01-05 22:56:12 +00:00
Dinnerbone
97dd74c4f2 Added enablePlugin and disablePlugin, triggers events 2011-01-03 02:20:11 +00:00
durron597
7845f58d1a Use parametrized reflection to remove warnings 2011-01-01 17:08:32 -05:00
durron597
de177404e3 Changed all tabs to 4 spaces 2011-01-01 08:01:07 -05:00
Erik Broes
f46d9ada1c Transition to Maven 2011-01-01 11:23:14 +01:00