Commit Graph

104 Commits

Author SHA1 Message Date
bd79e20c66 [ci skip] PluginManager#getPlugin and PluginManager#isPluginEnabled are case-insensitive (#12723) 2025-06-26 21:17:20 +02:00
7c31d0a39b Add exception reporting event 2016-02-29 20:24:35 -06:00
e183355647 Add command line option to load extra plugin jars not in the plugins folder
ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar
2021-05-18 14:42:26 -07:00
d4d8262f6e Timings v2
TODO: Add #isStopping to FullServerTickHandler#stopTiming in patch 191
expose isRunning
2016-02-29 18:48:17 -06:00
23095683d0 Paper Plugins 2022-07-06 23:00:36 -04:00
c2123d2080 Spigot Timings
Adds performance tracking timings all around the Minecraft Server, and improves the usability of the /timings command

Plugins can track their own timings with CustomTimingsHandler

By: Aikar <aikar@aikar.co>
2013-06-02 10:42:57 +10:00
0023e5549a #1082: Add "since" to Deprecation annotations
By: DerFrZocker <derrieple@gmail.com>
2024-11-25 07:52:33 +11:00
a3fb15bc23 SPIGOT-7676: Enforce locale parameter in toLowerCase and toUpperCase method calls and always use root locale
By: DerFrZocker <derrieple@gmail.com>
2024-06-03 07:18:14 +10:00
afe543345e #991: Add PluginManager#loadPlugins(File[])
By: MikChan <georgeendo0@gmail.com>
2024-04-13 17:01:48 +10:00
8c38fbb68a #771: Throw IllegalAccessException with non-static getHandlerList
Also add specifier for which event causes the issue

By: Martoph <sager1018@gmail.com>
2022-07-12 21:32:00 +10:00
ec575f5252 Update to Minecraft 1.19
By: md_5 <git@md-5.net>
2022-06-08 02:00:00 +10:00
24bab712b3 #615: Calculate the reachable nodes only once per transitive dependency check.
By: blablubbabc <lukas@wirsindwir.de>
2021-06-05 08:09:50 +10:00
09c7575189 SPIGOT-5783: Add helpful info to UnknownDependencyException
By: md_5 <git@md-5.net>
2020-06-17 18:50:45 +10:00
aec6ad036b #474: Add ability to set other plugin names as provided API so others can still depend on it
By: Phoenix616 <mail@moep.tv>
2020-03-15 18:59:32 +11:00
e18807dc04 No longer necessary to synchronize sync events
By: md_5 <git@md-5.net>
2020-01-29 09:23:40 +11:00
d962970177 Improve dependency tracker
By: md_5 <git@md-5.net>
2020-01-28 13:36:39 +11:00
99378a8c91 Add support for transitive depends in load access warning
By: md_5 <git@md-5.net>
2020-01-28 12:43:25 +11:00
7bfc0554c2 Add Plugin Chunk Ticket API
Allows plugins to force certain chunks to be kept loaded for as long as they are enabled.

By: Spottedleaf <Spottedleaf@users.noreply.github.com>
2019-07-08 12:14:29 +10:00
82854b7bd7 Add Override annotations where appropriate
By: md_5 <git@md-5.net>
2019-04-28 11:37:52 +10:00
e9ae9842f0 Apply and enforce import ordering rules
By: md_5 <git@md-5.net>
2019-04-23 14:33:57 +10:00
30a442aef7 Update to Minecraft 1.14-pre5
By: md_5 <git@md-5.net>
2019-04-23 12:00:00 +10:00
416c865476 SPIGOT-2540: Add nullability annotations to entire Bukkit API
By: Darkyenus <darkyenus@gmail.com>
2019-03-13 17:42:57 +11:00
90b6068b6b Apply default permissions by registration order.
When permissibles recalculate their permissions they set the default permission values in the order as the default permissions are provided by the plugin manager.

This order is currently arbitrary and can even change depending on the number of buckets of the underlying hashset which stores those default permissions.

When a plugin defines default permissions inside its plugin.yml (eg. permission 'A' with default value 'true') and a server admin defines different default values for these permissions inside the permissions.yml (eg. permission 'myDefaultPerms' with default value 'true' and with child 'A' set to 'false'), then the outcome will depend on the order in which those default permissions (and their childs) get evaluated inside PermissableBase#recalculatePermissions().
The permission which gets processed last will overwrite the permission value of 'A' according to its definition. Since this order is arbitrary and inconsistent, the server admin will experience weird behavior with his defined default permissions sometimes working and sometimes not.

By: blablubbabc <lukas@wirsindwir.de>
2019-02-17 17:06:31 +01:00
417599c2ab Some minor improvements from static analysis
By: md_5 <git@md-5.net>
2017-11-07 17:28:28 +11:00
e3d4acc303 Assorted whitespace fixes
By: md_5 <git@md-5.net>
2017-08-06 09:08:05 +10:00
46c820e747 SPIGOT-3409: Improve performance of registering stupid amounts of permissions in plugin.yml
By: md_5 <git@md-5.net>
2017-07-10 21:05:39 +10:00
05d2efaa86 Remove ability to load plugins with spaces in their name.
By: md_5 <git@md-5.net>
2017-05-14 12:00:00 +10:00
816701f233 Warn about removal of ability to load plugins with spaces in Minecraft 1.12
By: md_5 <git@md-5.net>
2017-04-21 17:23:49 +10:00
7f7f1608e8 BUILDTOOLS-251: Make much of Bukkit locale independent
By: md_5 <git@md-5.net>
2016-06-26 19:31:59 +10:00
ef91dacfe8 Speed up permission recalculation.
Based on ideas in PR #102, but rewritten for correctness.

By: md_5 <git@md-5.net>
2015-09-18 10:33:56 +10:00
ac203b1dbf [SPIGOT-950] Make handlerList requirement really obvious.
By: md_5 <git@md-5.net>
2015-06-01 16:43:22 +10:00
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
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
e833c88a72 [Bleeding] Blacklist certain plugin names
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-02-07 20:30:34 -05:00
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
761a84cb1b Pulling all pending Bukkit-JavaDoc changes
By: Edmond Poon <sagaciouszzzz@gmail.com>
2013-04-02 00:11:22 -04:00
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
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
ad7045596d Support asynchronous events; Addresses BUKKIT-1212
By: Wesley Wolfe <weswolf@aol.com>
2012-06-13 21:28:13 -05:00
a8a9d75bcd Reverse disable order; Addresses BUKKIT-1389
By: Wesley Wolfe <weswolf@aol.com>
2012-05-25 15:56:33 -05:00
8874c4e872 [Bleeding] Added loadbefore property; Addresses BUKKIT-843
By: Wesley Wolfe <weswolf@aol.com>
2012-03-20 03:54:51 -05:00
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
345f24b35c Event system optimizations. Addresses BUKKIT-813
- Made the handlers field a simple array instead of an array of arrays.
- Got rid of the "baked" field.

By: TomyLobo <tomylobo@nurfuerspam.de>
2012-02-28 19:37:27 -06:00
b58168b112 [Bleeding] Exception cleanup. Addresses BUKKIT-774
By: Wesley Wolfe <weswolf@aol.com>
2012-02-18 17:15:59 -06:00
75fd934339 Deprecation cleanup.
By: Erik Broes <erikbroes@grum.nl>
2012-01-30 21:32:48 +01:00
4e48b4725f [Bleeding] Added ability to register and listen to SubEvents. Addresses
BUKKIT-585

By: Feildmaster <admin@feildmaster.com>
2012-01-25 09:49:12 -06:00
cb2fe27653 [Bleeding] Add the ability for plugins to ignore cancelled events when
using the new event system.

By: md_5 <md_5@bigpond.com>
2012-01-21 15:34:22 +11:00
3dadfe5e85 Properly unregister plugin channels when a plugin gets disabled.
By: Meaglin <meaglin.wasabi@gmail.com>
2012-01-28 03:45:49 +01:00
5541a29f2d Fixed plugin loader. Thanks Wolvereness!
By: EvilSeph <evilseph@gmail.com>
2012-01-25 04:11:37 -05:00
05b6ad92d1 Updated timing code for new event system
By: Tahg <tahgtahv@gmail.com>
2012-01-16 15:03:41 -05:00