13
0
geforkt von Mirrors/Paper

274 Commits

Autor SHA1 Nachricht Datum
Bukkit/Spigot
ac203b1dbf [SPIGOT-950] Make handlerList requirement really obvious.
By: md_5 <git@md-5.net>
2015-06-01 16:43:22 +10:00
Bukkit/Spigot
745401c988 SPIGOT-893: Fix bridge method registering generic listeners twice
By: Jonas Konrad <me@yawk.at>
2015-05-18 11:14:47 +02:00
Bukkit/Spigot
a5d9aa56d8 SPIGOT-547: Increase the max plugin message channel name to 20
This matches up with the protocol

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2015-02-12 14:19:34 +00: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
8344aacc6e Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/

By: md_5 <git@md-5.net>
2014-11-26 08:15:59 +11: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
aecd846814 [Bleeding] Fix getCommand for conflicting plugin commands.
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-02-09 12:27:08 -05: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
038c99a7f4 Fix some messages
Addresses BUKKIT-5272, BUKKIT-5282, and BUKKIT-5283

By: Wesley Wolfe <weswolf@aol.com>
2014-01-06 14:08:05 -06:00
Bukkit/Spigot
216df9a3d5 Add method to get plugin by its class. Adds BUKKIT-5240
Currently, the only way to get a plugin is by name or using a static
variable. This adds two methods to get a plugin based on its classes,
utilizing the plugin classloader.

By: Wesley Wolfe <weswolf@aol.com>
2013-12-24 22:20:20 -06: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
bb50f1a774 Pulling all pending Bukkit-JavaDoc changes
A special thanks goes to @aerouk for almost all of the changes found here.

By: Wesley Wolfe <weswolf@aol.com>
2013-12-15 01:07:43 -05:00
Bukkit/Spigot
d8cfc3fa42 [BREAKING] Use event class instead of event for timings. Fixes BUKKIT-4664
TimedRegisteredListener uses a reference to the first event fired. This
causes a memory leak in the server for any references that event has. This
changes TimedRegisteredListener to only store a reference to the class of
the event.

This change is intentionally a breaking change, as it is an obscure part
of the API. A non-breaking change would require the leak to be maintained
or an immediate update for any plugins using the method, as it would be an
indirect break.

A unit test is also included to check behavior of shared superclass
functionality.

By: Score_Under <seejay.11@gmail.com>
2012-07-05 23:51:12 +01:00
Bukkit/Spigot
599ec05858 Pulling all pending Bukkit-JavaDoc changes
By: Edmond Poon <sagaciouszzzz@gmail.com>
2013-08-03 21:46:30 -04: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
ebc98f04ed Move world generator warning to CraftBukkit. Fixes BUKKIT-2565
By: Score_Under <seejay.11@gmail.com>
2012-03-20 16:51:01 +00:00
Bukkit/Spigot
761a84cb1b Pulling all pending Bukkit-JavaDoc changes
By: Edmond Poon <sagaciouszzzz@gmail.com>
2013-04-02 00:11:22 -04:00
Bukkit/Spigot
50f297d941 Validate method parameters when registering events. Fixes BUKKIT-3779
By: feildmaster <admin@feildmaster.com>
2013-03-16 17:17:09 -05:00
Bukkit/Spigot
63dc4b52b3 Convert name to lower case for removePermission; Fixes BUKKIT-3726
Permissions are stored as lower case names and referenced as such in all
appropriate methods but removePermission. This changes removePermission
to also convert names to lower case to be consistent with the rest of
the API.

By: Max A <maximilian.ammann@googlemail.com>
2013-01-13 12:25:50 +01: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
ac2908b781 Use correct warning in JavaPluginLoader. Fixes BUKKIT-3315
The warning message printed with the stack traces on the deprecated
methods mistakingly use the wrong method signature in the description.

By: Wesley Wolfe <weswolf@aol.com>
2012-12-27 10:36:10 -06:00
Bukkit/Spigot
fb2cf30fbe Deprecate methods in JavaPluginLoader and PluginClassLoader
These methods are unnecessarily exposed. They are specific to a type of
implementation for the class loaders, and should have no external use.
Because these methods are exposed, it limits the versatility to change
how the internal class loading system works, including an inherent class
loader leak for some situations.

They are now replaced with internal, package-private methods. The public
facing methods will print a stack trace the first time one is activated.

Extending the classes also produces a stack trace, to indicate that
extension is not actively supported.

By: Wesley Wolfe <weswolf@aol.com>
2012-12-18 00:15:40 -06:00
Bukkit/Spigot
49c3dee8f8 Make some JavaPlugin methods final. Fixes BUKKIT-2916
These methods were never intended to be overwritten, and bukkit relies
on their internal functionality. Additionally, the methods were inlined
in JavaPlugin, but the finality maintains intention.

By: Wesley Wolfe <weswolf@aol.com>
2012-11-13 15:38:46 -06:00
Bukkit/Spigot
14c7734fb1 Add tab-completion API. Fixes BUKKIT-2181. Adds BUKKIT-2602
CommandMap contains a method that will auto-complete commands
appropriately. Before the first space, it searches for commands of which
the sender has permission. After the first space, it delegates to the
individual command.

Vanilla commands contain implementations to mimic vanilla
implementation. Exception would be give, that allows for name matching;
a feature we already allowed as part of the command is now supported for
auto-complete as well.

Plugin commands can get a tab completer set to delegate the completion
for. If no tab completer is set, it can check the executor to see if it
implements the tab completion interface. It will also attempt to chain
calls if null gets returned from these interfaces. Plugins also
implement the new TabCompleter interface, to add ease-of-use for plugin
developers, similar to the onCommand() method.

The default command implementation simply searches for player names.

To help facilitate command completion, a utility class was added with
two functions. One checks two strings, to see if the specified string
starts with (ignoring case) the second. The other method uses the first
to selectively copy elements from one collection to another.

By: Score_Under <seejay.11@gmail.com>
2012-10-09 14:54:12 -05:00
Bukkit/Spigot
e747728b35 Clarify some of the verbose in SimplePluginManager.
When an exception occurs, the version of the plugin is not included.
Having this information would be beneficial to plugin authors performing
debug.

The list of authors for NagAuthorException verbose (although unused)
would be more appropriate to simply include all authors, as opposed to
the first appearing.

By: Wesley Wolfe <weswolf@aol.com>
2012-09-30 03:35:06 -05:00
Bukkit/Spigot
29a5295348 Allow inherited methods to be event handlers. Addresses BUKKIT-2299
This change lets JavaPluginLoader use a temporary HashSet to store
methods that could possibly have the EventHandler annotation. Duplicates
are prevented by the nature of a Set.

Registering parent listeners is a breaking change for any listener
extending another listener and expecting parent listeners to not be
called. Changing this is justified by the ease-of-use and proper object
inheritance design. If this is undesired behavior, the method may be
overridden without reapplying the method with the EventHandler notation.

By: Wesley Wolfe <weswolf@aol.com>
2012-08-26 21:14:28 -05:00
Bukkit/Spigot
f7b46ffa10 Provide better verbose for registering listeners. Addresses BUKKIT-2391
By: Wesley Wolfe <weswolf@aol.com>
2012-08-25 17:48:53 -05:00
Bukkit/Spigot
9b80392085 Fully restrict the org.bukkit and net.minecraft namespace
By: Wesley Wolfe <weswolf@aol.com>
2012-08-19 05:53:30 -05:00
Bukkit/Spigot
cef9873c0c Add Warning API and settings for Deprecated events
By: Wesley Wolfe <weswolf@aol.com>
2012-08-07 00:16:57 -05:00
Bukkit/Spigot
6aae0dcd35 Warn server owners of plugins using deprecated events. Fixes BUKKIT-2027
By: Wesley Wolfe <weswolf@aol.com>
2012-08-02 23:21:02 -05:00
Bukkit/Spigot
d4f4e9f5d1 Add check for existing config file. Addresses BUKKIT-1851
By: Wesley Wolfe <weswolf@aol.com>
2012-06-23 21:31:57 -05:00
Bukkit/Spigot
8b6f1612a1 Revert "Shift plugin initialization; Addresses BUKKIT-1788"
This reverts commit 27cb5e7c9c6b2cfc5419262df75d89bc6bfe7879. Issues
were discovered with shared class loaders.

By: Wesley Wolfe <weswolf@aol.com>
2012-06-16 00:48:47 -05:00
Bukkit/Spigot
5d9e74a637 Shift plugin initialization; Addresses BUKKIT-1788
By: Wesley Wolfe <weswolf@aol.com>
2012-06-11 01:45:41 -05:00
Bukkit/Spigot
ad7045596d Support asynchronous events; Addresses BUKKIT-1212
By: Wesley Wolfe <weswolf@aol.com>
2012-06-13 21:28:13 -05:00
Bukkit/Spigot
03af91781c Javadoc updates
Fixes BUKKIT-1653, Fixes BUKKIT-1383 and Fixes BUKKIT-1644

By: feildmaster <admin@feildmaster.com>
2012-06-03 05:40:54 -05:00
Bukkit/Spigot
3b35e0472d Change logger references to explicitly use plugin logger
By: Wesley Wolfe <weswolf@aol.com>
2012-05-26 14:33:27 -05:00
Bukkit/Spigot
a8a9d75bcd Reverse disable order; Addresses BUKKIT-1389
By: Wesley Wolfe <weswolf@aol.com>
2012-05-25 15:56:33 -05:00
Bukkit/Spigot
242582acc7 Make class loader preference predictable; Fixes BUKKIT-1591
By: Wesley Wolfe <weswolf@aol.com>
2012-05-25 15:47:39 -05: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
795a61bbeb Fix javadoc errors/warnings
By: Celtic Minstrel <celtic.minstrel.ca@some.place>
2012-02-26 10:35:17 -05:00
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