Commit Graph

48 Commits

Author SHA1 Message Date
Bukkit/Spigot
0bea165ff0 SPIGOT-3988: Error on manually constructed PluginDescriptionFile
By: md_5 <git@md-5.net>
2018-07-07 09:21:17 +10:00
Bukkit/Spigot
e3d4acc303 Assorted whitespace fixes
By: md_5 <git@md-5.net>
2017-08-06 09:08:05 +10:00
Bukkit/Spigot
331d059798 Remove outdated Javadoc / examples concerning database support
By: md_5 <git@md-5.net>
2017-05-15 21:42:28 +10:00
Bukkit/Spigot
158afaffeb Remove Ebean ORM
By: md_5 <git@md-5.net>
2017-05-14 12:00:00 +10:00
Bukkit/Spigot
7f7f1608e8 BUILDTOOLS-251: Make much of Bukkit locale independent
By: md_5 <git@md-5.net>
2016-06-26 19:31:59 +10:00
Bukkit/Spigot
b2d54f59bb Clean up the javadoc to pass java 8's doclint
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 21:09:01 +00:00
Bukkit/Spigot
300e61658e Change YamlConfiguration encoding styles.
On JVMs with UTF-8 default encoding, this commit has no change in behavior.

On JVMs with ascii default encoding (like some minimal linux installa-
tions), this commit now uses UTF-8 for YamlConfiguration operations.
Because all ascii is valid UTF-8, there is no feature degradation or data
loss during the transition.

On JVMs with any non-unicode but ascii-compliant encoding, this commit now
forces YamlConfiguration to escape special characters when writing to
files, effectively rendering the encoding to be plain ascii. Any affected
file will now be able to migrate to UTF-8 in the future without data-loss
or explicit conversion. When reading files, YamlConfiguration will use the
system default encoding to handle any incoming non-utf8 data, with the
expectation that any newly written file is still compliant with the
system's default encoding.

On JVMs with any non-unicode, but ascii-incompliant encoding (this may be
the case for some Eastern character sets on Windows systems), this change
is breaking, but is justified in claim that these systems would otherwise
be unable to read YamlConfiguration for implementation dependent settings
or from plugins themselves. For these systems, all uses of the encoding
will be forced to use UTF-8 in all cases, and is effectively treated as if
it was configured to be UTF-8 by default.

On JVMs with unicode encoding of UTF-16 or UTF-32, the ability to load any
configurations from almost any source prior to this change would have been
unfeasible, if not impossible. As of this change, however, these systems
now behave as expected when writing or reading files. However, when
reading from any plugin jar, UTF-8 will be used, matching a super-majority
of plugin developer base and requirements for the plugin.yml.

Plugin developers may now mark their plugin as UTF-8 compliant, as
documented in the PluginDescriptionFile class. This change will cause the
appropriate APIs in JavaPlugin to ignore any system default encoding,
instead using a Reader with the UTF-8 encoding, effectively rendering the
jar system independent. This does not affect the aformentioned JVM
settings for reading and writing files.

To coincide with these changes, YamlConfiguration methods that utilize a
stream are now deprecated to encourage use of a more strict denotation.
File methods carry system-specific behaviors to prevent unncessary data
loss during the transitional phase, while Reader methods are now provided
that have a very well-defined encoder behavior. For the transition from
InputStream methods to Reader methods, an API has been added to JavaPlugin
to provide a Reader that matches the previous behavior as well as
compliance to the UTF-8 flag in the PluginDescriptionFile.

Addresses BUKKIT-314, BUKKIT-1466, BUKKIT-3377

By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-03-25 00:05:21 -05:00
Bukkit/Spigot
181110e567 Update data folder migration for spaces in plugin names. Fixes BUKKIT-5417
This change drops the previous plugin data folder migration based on the
plugin's file name, and adapts the migration to now instead consider
plugins that have spaces in their original name.

By: Wesley Wolfe <weswolf@aol.com>
2014-02-15 12:05:20 -06:00
Bukkit/Spigot
bc562b3f5b Provide warnings for spaces in plugin names. Addresses BUKKIT-5419
By: Wesley Wolfe <weswolf@aol.com>
2014-02-15 11:37:33 -06:00
Bukkit/Spigot
edd5dc6155 Fix loadbefore, soft, and normal dependencies with spaces. Fixes BUKKIT-5418
This change makes the lists of loadbefore, softdependency, and dependency
replace the spaces in the names with underscored to reflect the behavior
used with names.

By: Wesley Wolfe <weswolf@aol.com>
2014-02-15 11:17:14 -06:00
Bukkit/Spigot
2c68d4b554 [Bleeding] Also blacklist ":" in plugin command aliases.
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-02-08 15:50:30 -05:00
Bukkit/Spigot
04d5aec52c Pulling all pending Bukkit-JavaDoc changes
By: Wesley Wolfe <weswolf@aol.com>
2014-02-08 06:05:41 -05:00
Bukkit/Spigot
e833c88a72 [Bleeding] Blacklist certain plugin names
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-02-07 20:30:34 -05:00
Bukkit/Spigot
ea7c13e03d [BREAKING] Shift plugin initialization; Addresses BUKKIT-1788
This reverts commit ae4f1c05d825e232d7fc0483639ba65ad54d2db4, restoring
commit 27cb5e7c9c6b2cfc5419262df75d89bc6bfe7879 (mostly).

Shared class loading was removed as an explicit feature in the plugin.yml,
as all plugins implicitly share class loaders already.

Some deprecated, internal functionality is now (package) private, namely
some sections pointed out in 203de4180b40f069d2c175d763476bd4ce338c76.

By: Wesley Wolfe <weswolf@aol.com>
2013-12-10 18:50:58 -06:00
Bukkit/Spigot
1366d7b502 Pulling all pending Bukkit-JavaDoc changes
By: Wesley Wolfe <weswolf@aol.com>
2013-05-16 04:41:09 -05:00
Bukkit/Spigot
c23f9be8d3 Fix ClassCastException for malformed plugin.yml. Fixes BUKKIT-3563
If the plugin.yml gets loaded but wasn't in the form of a map, the
server would crash. This safely checks to see if it can be cast,
throwing invalid description if it cannot.

By: Wesley Wolfe <weswolf@aol.com>
2013-02-03 04:08:10 -06:00
Bukkit/Spigot
1290db91bf [Bleeding] Fixed soft-dependencies broken by previous commit.
By: Wesley Wolfe <weswolf@aol.com>
2012-03-22 01:56:44 -05:00
Bukkit/Spigot
8874c4e872 [Bleeding] Added loadbefore property; Addresses BUKKIT-843
By: Wesley Wolfe <weswolf@aol.com>
2012-03-20 03:54:51 -05:00
Bukkit/Spigot
1cbbdebfe3 [Bleeding] Lazily calculate permissions. Addresses BUKKIT-1122
By: Wesley Wolfe <weswolf@aol.com>
2012-03-10 15:05:59 -06:00
Bukkit/Spigot
71a60b4c11 [Bleeding] More lenient command creation from plugin.yml. Fixes BUKKIT-1093
By: Wesley Wolfe <weswolf@aol.com>
2012-03-10 13:11:21 -06:00
Bukkit/Spigot
18c825222a [Bleeding] Fixed naughty plugins crashing server.
By: Wesley Wolfe <weswolf@aol.com>
2012-03-01 09:19:23 -06:00
Bukkit/Spigot
43002d0cbb Add optional prefix value to plugin.yml. Addresses BUKKIT-838
By: Aidan Matzko <amatzko48@gmail.com>
2012-02-26 18:36:03 -05:00
Bukkit/Spigot
5906da7948 [Bleeding] Cleaned up unsafe casts. Addresses BUKKIT-844
Removed internal collection leaks from PluginDescriptionFile
BREAKING: PluginDescriptionFile.getAuthors() now returns List instead of
ArrayList

Various places with unsafe generics, notably List<Object> getList() in
Configurations are now referenced as <?>. This is nonbreaking, but
sourcecode will need to be revised when compiled.

By: Wesley Wolfe <weswolf@aol.com>
2012-02-29 08:32:25 -06:00
Bukkit/Spigot
8377ee22f8 Added "class-loader-of" field to plugin.yml. Big thanks to CmdrDats for the PR.
By: Nathan Adams <dinnerbone@dinnerbone.com>
2012-01-15 12:54:06 +00: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
96063a2b4d Updated snakeyaml to 1.9 (up from 1.7)
By: Nathan Adams <dinnerbone@dinnerbone.com>
2011-10-10 21:39:27 +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
acd8d918f1 Permission registration in plugin.yml can now be easier, see https://gist.github.com/32dca3e937c1c42a4ed2 - also added "default-permission" option.
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-09-20 18:42:28 +01:00
Bukkit/Spigot
67a52cca79 Added new permission system
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-07-17 17:17:47 +01:00
Bukkit/Spigot
ba32a78b3b Added new plugin.yml option 'load', possible values are 'startup' and 'postworld' (default postworld)
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-06-22 17:45:53 +01:00
Bukkit/Spigot
855f4133b6 Whitespace + general cleanup
By: Erik Broes <erikbroes@grum.nl>
2011-05-14 23:22:54 +02:00
Bukkit/Spigot
5ef26c647b 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.

By: Raphfrk <raphfrk@gmail.com>
2011-04-27 20:35:08 +01:00
Bukkit/Spigot
39ceba6c4f Pluginnames can also space out now
By: Erik Broes <erikbroes@grum.nl>
2011-04-03 19:17:18 +02:00
Bukkit/Spigot
07b4fca3ae Forgot we have windows to support as well
By: Erik Broes <erikbroes@grum.nl>
2011-04-03 16:42:33 +02:00
Bukkit/Spigot
434f054e38 A plugin's name can now only contain: [A-Za-z0-9()\[\]{}_.-]
By: Erik Broes <erikbroes@grum.nl>
2011-04-03 16:26:27 +02:00
Bukkit/Spigot
0373e53844 Implemented ebeans
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-04-01 16:04:43 +01:00
Bukkit/Spigot
5ac485db46 Seal-fail workaround
By: lukegb <github@lukegb.com>
2011-03-31 14:16:13 +00:00
Bukkit/Spigot
020da84ad2 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)

By: Erik Broes <erikbroes@grum.nl>
2011-03-26 22:21:20 +01:00
Bukkit/Spigot
6dc6946312 Adds basic plugin dependencies, courtesy of Raphfrk
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-03-07 13:56:34 +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
1862bd1f09 Added extra plugin description fields
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-01-20 05:19:19 +00: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
88c998f4a2 Tweaked some more exceptions, get messages passed
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-01-05 22:56:12 +00:00
Bukkit/Spigot
0cb7170b41 Slightly better "invalid plugin.yml" errors
By: Dinnerbone <dinnerbone@dinnerbone.com>
2011-01-05 22:40:45 +00:00
Bukkit/Spigot
b9885402a6 Fix for plugin description file cast error
By: stevenh <steven.hartland@multiplay.co.uk>
2011-01-04 23:30:44 +00:00
Bukkit/Spigot
7f5bbdf764 all the fillr stuff
By: Taylor Kelly <tkelly910@gmail.com>
2011-01-03 11:01:36 +08:00
Bukkit/Spigot
4937cffabb Fixed generics warning.
By: Lymia <lymiahugs@gmail.com>
2011-01-02 00:38:51 -06:00
Bukkit/Spigot
a0fc0979f7 Transition to Maven
By: Erik Broes <erikbroes@grum.nl>
2011-01-01 11:23:14 +01:00