Commit Graph

23 Commits

Author SHA1 Message Date
Bukkit/Spigot
5ebb8d2b3e Revert Plugin to Interface, added PluginBase
Fixed Tests, moved TestPlugin out of messaging

By: Feildmaster <admin@feildmaster.com>
2012-02-29 18:46:09 -06:00
Bukkit/Spigot
dd1bee786b [Bleeding] Added a Metadata framework for Entities, Blocks, and Worlds
This metadata implementation has the following features:

- All metadata is lazy. Metadata values are not actually computed until another plugin requests them. Memory and CPU are conserved by not computing and storing unnecessary metadata values.

- All metadata is cached. Once a metadata value is computed its value is cached in the metadata store to prevent further unnecessary computation. An invalidation mechanism is provided to flush the cache and force recompilation of metadata values.

- All metadata is stored in basic data types. Convenience methods in the MetadataValue class allow for the conversion of metadata data types when possible. Restricting metadata to basic data types prevents the accidental linking of large object graphs into metadata. Metadata is persistent across the lifetime of the application and adding large object graphs would damage garbage collector performance.

- Metadata access is thread safe. Care has been taken to protect the internal data structures and access them in a thread safe manner.

- Metadata is exposed for all objects that descend from Entity, Block, and World. All Entity and World metadata is stored at the Server  level and all Block metadata is stored at the World level.

- Metadata is NOT keyed on references to original objects - instead metadata is keyed off of unique fields within those objects. Doing this allows metadata to exist for blocks that are in chunks not currently in memory. Additionally, Player objects are keyed off of player name so that Player metadata remains consistent between logins.

- Metadata convenience methods have been added to all Entities, Players, Blocks, BlockStates, and World allowing direct access to an individual instance's metadata.

- Players and OfflinePlayers share a single metadata store, allowing player metadata to be manipulated regardless of the player's current online status.

By: rmichela <deltahat@gmail.com>
2011-12-08 00:33:33 -05:00
Bukkit/Spigot
75fd934339 Deprecation cleanup.
By: Erik Broes <erikbroes@grum.nl>
2012-01-30 21:32:48 +01:00
Bukkit/Spigot
05b6ad92d1 Updated timing code for new event system
By: Tahg <tahgtahv@gmail.com>
2012-01-16 15:03:41 -05:00
Bukkit/Spigot
c02d8155ad [Bleeding] Added Plugin.getLogger() which returns a java.util.Logger that prefixes messages with the plugin name.
Note: the server when enabling or disabling a plugin will now by default log this.

By: rmichela <deltahat@gmail.com>
2011-12-15 00:31:13 -05:00
Bukkit/Spigot
387d09faa1 Added timings command.
By: Tahg <tahgtahv@gmail.com>
2012-01-09 01:09:10 -05:00
Bukkit/Spigot
aaab1cba23 Generic cleanup of warnings, whitespace and style.
By: Erik Broes <erikbroes@grum.nl>
2011-12-25 16:02:30 +01:00
Bukkit/Spigot
98960fd73e Added plugin saveResources + saveDefaultConfig methods. This completes a bleeding branch by deltahat at http://forums.bukkit.org/threads/branch-complete-savedefaultconfig.48721/
By: Nathan Adams <dinnerbone@dinnerbone.com>
2011-12-22 21:18:36 +00:00
Bukkit/Spigot
b94e100930 Added reloadConfig() plugin method
By: Nathan Adams <dinnerbone@dinnerbone.com>
2011-10-11 15:50:59 +01:00
Bukkit/Spigot
6c7412d365 Added new Configuration classes
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-09-19 20:36:44 +01:00
Bukkit/Spigot
a8e72bdb91 Many javadoc fixes thanks to Celtic Minstrel
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-09-25 02:56:40 +01:00
Bukkit/Spigot
22bfa512a9 Added new getDefaultWorldGenerator method to Plugin
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-06-22 18:26:32 +01:00
Bukkit/Spigot
855f4133b6 Whitespace + general cleanup
By: Erik Broes <erikbroes@grum.nl>
2011-05-14 23:22:54 +02:00
Bukkit/Spigot
0373e53844 Implemented ebeans
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-04-01 16:04:43 +01:00
Bukkit/Spigot
69973b8617 Just NAG once, to be nice
By: Erik Broes <erikbroes@grum.nl>
2011-03-30 00:38:46 +02:00
Bukkit/Spigot
e377a96a02 Adds an onLoad method to Plugin. The onLoad method is called for all plugins before the onEnable calls
By: Raphfrk <raphfrk@gmail.com>
2011-03-12 17:39:51 +00:00
Bukkit/Spigot
0a0e475f83 Tweaks to command system to allow setting executors via plugins (no more ambiguous onCommand in plugins)
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-02-28 00:30:59 +00:00
Bukkit/Spigot
df05c36540 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 :(

By: stevenh <steven.hartland@multiplay.co.uk>
2011-01-29 16:23:56 +00:00
Bukkit/Spigot
ab6f5d4bc2 Updated commands to have optional aliases, and to fallback to /pluginName:cmdName on name conflict.
By: VictorD <victor.danell@gmail.com>
2011-01-18 01:12:50 +01:00
Bukkit/Spigot
a17e7470e8 Added command registration to plugin config file. Registered commands are sent to the corresponding plugin.onCommand method when executed.
By: VictorD <victor.danell@gmail.com>
2011-01-16 16:30:34 +01:00
Bukkit/Spigot
2439031c40 Plugin data folders are now no longer created by default.
By: sk89q <the.sk89q@gmail.com>
2011-01-15 00:34:01 -08:00
Bukkit/Spigot
33e5645054 Added configuration and plugin data directory support to plugins.
By: sk89q <the.sk89q@gmail.com>
2011-01-14 23:33:45 -08:00
Bukkit/Spigot
a0fc0979f7 Transition to Maven
By: Erik Broes <erikbroes@grum.nl>
2011-01-01 11:23:14 +01:00