Commit Graph

296 Commits

Author SHA1 Message Date
PiggyPiglet
6d502db694 Licensed all files
Added licensing plugin
2020-07-27 15:21:35 +08:00
Sxtanna
f61b6acfa8 updated placeholderexpansion to define its own unregister method 2020-07-26 23:01:12 -04:00
Sxtanna
8360511c50 rewrote discovery and registration code to be composable and higher level 2020-07-26 21:02:55 -04:00
Sxtanna
ee33de5ec8 removed final from deprecated methods, restored fallback for getRequiredPlugin 2020-07-26 21:01:12 -04:00
Sxtanna
a160f3abc9 updated to further phase out PlaceholderHook, added contracts to expansion methods 2020-07-26 18:46:00 -04:00
Sxtanna
b63f10f749 lets pretend no one saw this. 2020-07-26 18:36:50 -04:00
Sxtanna
86002f50e6 updated to phase out PlaceholderHook 2020-07-26 18:03:31 -04:00
Sxtanna
c3e0c1fb64 updated gson 2.8.5 -> 2.8.6 2020-07-26 17:32:28 -04:00
Sxtanna
b464590491 added dump command, closes #366 2020-07-26 16:26:42 -04:00
Sxtanna
65f04ba70e updated cloud expansion list to be sorted via a configuration option of values [name, author, latest]. closes #363 2020-07-26 13:39:33 -04:00
Sxtanna
07cd344123 updated local expansion to not catch potential linkage errors, and report them. closes #377 2020-07-25 23:57:19 -04:00
Sxtanna
30ead2ae4b fixed spacing 2020-07-25 23:54:09 -04:00
Sxtanna
9339192f88 updated ecloud list command to use new table utility, added message for when no expansions can be listed 2020-07-25 22:38:41 -04:00
Sxtanna
6eb1ecc212 Implemented general purpose table utility 2020-07-25 22:35:56 -04:00
Sxtanna
973484066a updated ecloud list command to not paginate by default in console, closes #375 2020-07-25 14:57:10 -04:00
Sxtanna
f177da8ef7 updated parse tab completer to consider the "cmdparse" alias 2020-07-25 13:08:26 -04:00
Sxtanna
d1b50c3db4 updated parse tab completer to call method inversely 2020-07-25 13:07:59 -04:00
Sxtanna
fb7a3ec99d added tab completion to the update command 2020-07-25 12:55:44 -04:00
Sxtanna
6caed4c23c updated plugin.yml to include permission for update command 2020-07-25 12:55:44 -04:00
Sxtanna
f7c2e72c1e added ecloud update command 2020-07-25 12:55:44 -04:00
Sxtanna
85b9fc36da updated local manager to allow for reregistering expansions 2020-07-25 12:55:44 -04:00
Sxtanna
5861f9fe6a updated register command to attempt registration on the main thread. (event bullshit I think) 2020-07-25 12:02:34 -04:00
Sxtanna
b6ec478dd6 updated ecloud list command to print to console in a table format. 2020-07-25 10:24:19 -04:00
Sxtanna
89061e6437 fixed ordering of methods 2020-07-24 19:45:28 -04:00
Sxtanna
50cee40531 updated LocalExpansionManager to accept a command sender to notify of load completion details 2020-07-24 19:02:17 -04:00
Sxtanna
00ced0495d I don't know how this happened, please don't flame me. ty. 2020-07-24 18:51:19 -04:00
Sxtanna
e57a0600f1
Managers Update (#368)
* added google codestyle plugin

* updated managers to make more sense, removed old

* updated cloud expansion manager to cache with index name
2020-07-24 18:49:18 -04:00
Andre_601
ffe7680795 Fix missing line break in expansion list command. 2020-07-24 14:40:58 -04:00
extendedclip
623fd68ccc eCloud list outputs expansion information on a single line instead of multiple. Fixes #367 2020-07-24 12:40:07 -04:00
Sxtanna
651de80a01 updated expansion list command to send messages using json 2020-07-24 11:04:12 -04:00
Sxtanna
4c586d1803 updated cloud manager to not be weird 2020-07-24 11:04:12 -04:00
PiggyPiglet
34a0bff760 removed apostrophe, apparently that particular rule doesn't apply to "its". 2020-07-24 17:37:33 +08:00
PiggyPiglet
51abc00e51 added a missing apostrophe 2020-07-24 17:35:21 +08:00
PiggyPiglet
3429d69f9d Fixed more casings 2020-07-24 17:32:39 +08:00
PiggyPiglet
79b8dd73a5 Fixed missed casings 2020-07-24 17:25:34 +08:00
Sxtanna
fccf0d5bb8 fixed ecloud casing 2020-07-24 05:21:43 -04:00
PiggyPiglet
8b3f37b61e
Merge branch 'master' into gradle 2020-07-24 15:50:17 +08:00
Sxtanna
6fade3fb93 removed obsolete EZPlaceholderHook 2020-07-24 01:39:17 -04:00
Sxtanna
b7d1c6969e
Commands rewrite (#357)
* began rewriting command system

* began rewriting command system

* updated formatting

* added new info command

* added new reload command

* updated new parse command to support all three parsing types

* added new commands to command router

* deleted old unused commands

* removed parserel

* added new expansion register and unregister commands

* deleted unused commands

* fixed annotation order

* added labels helper to command

* updated alias method to return an immutable view

* updated params param with unmodifiable annotation

* updated router to build an immutable map of the commands

* began rewriting command system

* updated formatting

* added new info command

* added new reload command

* updated new parse command to support all three parsing types

* added new commands to command router

* deleted old unused commands

* removed parserel

* added new expansion register and unregister commands

* deleted unused commands

* fixed annotation order

* added labels helper to command

* updated alias method to return an immutable view

* updated params param with unmodifiable annotation

* updated router to build an immutable map of the commands

* updated plugin class to use new command router

* updated switch to break on parse match

* updated register completions to suggest file names

* updated router to allow entering labels in any case

* updated parse command to send message to players as components

* added command dispatching parsing

* moved new commands into local package

* added helper functions for filtering and suggesting

* updated imports, updated tab completion to use helper functions

* added start of ecloud commands

* replace ecloud enable and disable commands with single toggle command evaluator

* deleted unused commands

* updated commands to use helper functions for suggesting

* updated downloading to use completablefuture, updated all methods to use streams exclusively

* updated to use the config instead of a null check

* deleted old commands system

* finished new command system

* updated to use new method from cloud manager

* fixed annotation ordering and added missing annotations

* updated ecloud subcommands to have a more specific permission

* updated plugin.yml with the new permissions, (and also fixed its formatting)

* fixed annotations intellij missed

* this should probably be there...
2020-07-24 01:29:11 -04:00
Sxtanna
21ca434e72 added unit test for hex code escaping 2020-07-23 12:02:04 -04:00
Sxtanna
d63d7dc5f8 updated char replacer to support hex colors, and escaping &x 2020-07-22 23:59:39 -04:00
Sxtanna
f47eef7442 updated plugin class to be less painful to look at, 2020-07-22 20:42:53 -04:00
Sxtanna
9631b087b3 updated server load listener to be final, and to automatically unregister itself when done 2020-07-22 20:41:27 -04:00
Sxtanna
d7b947ddad finalized config, added nullability annotations 2020-07-22 20:40:47 -04:00
Sxtanna
656f9ad03c updated expansion manager to actually... manage expansions 2020-07-22 20:40:15 -04:00
Sxtanna
0a4150d63e updated fileutil to ignore NCDFEs, and to print exceptions 2020-07-21 16:04:24 -04:00
Sxtanna
377d091ae2 added back deprecated online player method 2020-07-21 12:25:38 -04:00
Sxtanna
bdf8a1bcc1 reformatted event classes, added nullability annotations, made classes final. 2020-07-21 11:56:57 -04:00
Sxtanna
ee78fc1775 updated char replacer to better handle malformed input 2020-07-21 01:48:59 -04:00
Sxtanna
47e336c1fe Merge branch 'master' into gradle
# Conflicts:
#	pom.xml
2020-07-20 20:07:38 -04:00
Sxtanna
a2a736d909 undeprecated bracket placeholder methods, 2020-07-20 19:50:36 -04:00
Andre601
75004f08d0 Add deprecation notice to all methods
Was it so hard to do a Ctrl+C, Ctrl+V?
2020-07-21 01:20:26 +02:00
Andre_601
51f61f61af
Add missing deprecation notices. 2020-07-21 01:06:37 +02:00
Sxtanna
e7ce84e7fc cleaned up fileutil and expansion manager 2020-07-20 18:55:37 -04:00
Sxtanna
42992de312 updated with null contracts, immutability, and early returns. 2020-07-20 18:22:08 -04:00
Sxtanna
45b3ebfbc2 updated to use new char replacer, deprecated all older functions, defined null contracts, and immutability. 2020-07-20 18:16:46 -04:00
Sxtanna
3b3892e7d6 updated placeholder hook to define immutability and null contracts, deprecated online player function 2020-07-20 18:14:13 -04:00
Sxtanna
9060ea6bd3 updated to use new closure 2020-07-20 17:38:18 -04:00
extendedclip
49012dc6b2 here 2020-07-20 17:23:27 -04:00
Sxtanna
9d73893cc8
replacer api, unit tests, and benchmarks (#354)
* added abstracted replacer api, and both char and regex based implementations

* added test dependencies for jmh and junit

* added unit tests and benchmarks for the replacer implementations

* updated replacers to accept specific closure types, added test to verify malformed placeholder handling

* updated jmh to 1.23, updated junit to 5.6.2
2020-07-20 16:59:25 -04:00
extendedclip
4ce0b03852 Revert "Performance Improvements (#340)"
This reverts commit 54d5757d
2020-07-20 16:57:16 -04:00
Crypto Morin
54d5757d0a
Performance Improvements (#340)
* Performance Improvements

* More Optimizations

* Even More Optimizations & Cleanups

* Almost a recode I guess
2020-07-16 12:32:22 -04:00
PiggyPiglet
bc0535e2f4 Converted to gradle 2020-07-15 00:56:49 +08:00
extendedclip
f9f59f1f96 Merge the multiple static blocks 2020-07-14 10:24:01 -04:00
extendedclip
f205146c75 Rename ecloud commands to be prefixed with Ecloud to avoid confusion 2020-07-14 10:21:29 -04:00
darbyjack
0634a9cd9b
Switch back to the official JSONMessages 2020-07-14 08:18:06 -05:00
Frcsty
3e396a97b0
Changed command system (#304)
* Save Cacheable expansions data on shutdown

* Prepare for 1.16

* 1.16.1 is out apparently

* Further fixes, still not done

* Inline JSONMessages & fix for 1.16

* Done :O

* Done for real now, (hopefully)

* Changed to static instead of DI for plugin instance

* Cleanup

* Modified tab completions. Removed extra command.

* Apparently this is needed

* Started cleaning stuff up

basically just pushing so I can continue on laptop

* did more cleaning, probs like half way done

* more cleaning. reverted back to a min arg system somewhat similar to what frosty had, but less boilerplate.

* Started debugging and fixing runtime/compile errors

* Fixed bugs, still needs thorough testing

* Re-enable metrics

* relocated stuff again

* - Remove json message relocation
- uncomment other relocations
- reformat pom
- remove useless scope declaration
- Fix metrics constructor
- Switch commands to use inline json message

Co-authored-by: iGabyTM <contactgabytm@gmail.com>
Co-authored-by: darbyjack <admin@glaremasters.me>
Co-authored-by: PiggyPiglet <noreply@piggypiglet.me>
2020-07-13 15:27:59 -04:00
extendedclip
82fa8d7393 Added 1.15 2020-05-02 23:16:46 -04:00
darbyjack
43d134cbe3
Fixes the super old issue of not being able to parse on first join 2020-04-25 21:57:40 -05:00
aBooDyy
784d7dd273
Fixes ecloud placeholders command (#201)
* fix parsing placeholders on ecloud placeholders command

* try catch on registering expansions

Co-authored-by: aBo0oDyy <35378106+aBo0oDyy@users.noreply.github.com>
2020-04-09 11:43:21 -04:00
WCKDAWE
0666ac7b01
Minor spelling mistakes (#284)
Not a grammar nazi, just noticed them and though to commit dem changes.
2020-04-09 11:37:48 -04:00
Andre_601
2caf5f0232
Add missing setPlaceholder methods (#234)
* Add missing setPlaceholder methods
Also includes setBracketPlaceholders and setRelationPlaceholders

* Update PlaceholderAPI.java
2020-04-09 11:37:06 -04:00
darbyjack
bb639328a3
Push to 2.10.5 for release pt2 2020-03-25 23:27:56 -05:00
darbyjack
449c927c6c
Add user-friendly message when host can't connect to ecloud 2020-03-25 23:04:00 -05:00
darbyjack
e95f1b4850
Removed extra semi 2020-03-25 22:54:26 -05:00
PiggyPiglet
38d9185232 made it compile 2020-03-26 11:25:02 +08:00
PiggyPiglet
35738f59d9 covered up string's size insecurities with a fat bufferedreader 2020-03-26 11:15:16 +08:00
extendedclip
c1cff8ca74 javadoc 2020-01-06 14:29:07 -05:00
extendedclip
2dbf69a74e Allows the setPlaceholders method to specify if color codes should be translated in the output string 2020-01-06 14:27:39 -05:00
Max Berkelmans
5c6202a8ee
Merge branch 'master' into master 2019-10-16 22:28:19 +02:00
extendedclip
51599c4044 Allow cancelling expansion registration 2019-09-19 14:22:08 -04:00
extendedclip
9871efbadb Allow cancelling expansion registration 2019-09-19 14:16:35 -04:00
Evan Lindsay
6b9f22c7ec Fix case check in PlaceholderExpansion.isRegistered (#161) 2019-08-04 18:03:25 -04:00
Leomixer17
6c5cd0ed1f Update plugin.yml (#142)
1.13 set as api version won’t cause issues. I reverted adding 1.14 but we can merge this as it won’t have any conflicts. Thanks for the contribution.
2019-07-12 18:33:35 -04:00
Josh (Vicarious)
719172c185
Merge branch 'master' into master 2019-06-30 21:40:51 -07:00
darbyjack
763bb52d06
Changed some logic to suggest the right command. 2019-06-28 12:14:30 -05:00
darbyjack
d0d0c99505
Added message saying to reload papi to enable downloaded expansion. 2019-06-28 12:14:07 -05:00
extendedclip
b9881eb70b Fix page indexes when on pages greater than 1 2019-06-21 12:49:45 -04:00
extendedclip
a0ac08b838 Start at 1 2019-06-21 12:36:03 -04:00
extendedclip
2c0b768774 ITS 2019 2019-06-21 12:30:32 -04:00
Draycia
5b92dd5553
Shorten line in FileUtil 2019-06-10 11:22:05 -07:00
Draycia
4851655110
Make various things final 2019-06-10 11:10:39 -07:00
Draycia
64a6389ebf
Better use of StringBuilder 2019-06-10 11:10:14 -07:00
Draycia
4860e3f8bf
Remove unused casts 2019-06-10 11:04:01 -07:00
Draycia
dfbf1b95f6
Cleanup formatting / spacing 2019-06-10 11:03:48 -07:00
extendedclip
f367abbdfa Check if config values aren't null before attempting to set them. 2019-05-10 20:36:43 -04:00
extendedclip
9377129554 We don't even need an api version. It breaks stuff.. 2019-05-10 10:48:40 -04:00
extendedclip
f4409a6d92 Fix numerical order of expansions in papi ecloud list 2019-05-10 10:28:59 -04:00
extendedclip
c902485718 Remove clipsplaceholderapi since its no longer just clips placeholder api 2019-05-10 10:09:17 -04:00
extendedclip
09db82a840 Set API version to 1.14 even though it doesnt matter to us 2019-05-10 10:07:18 -04:00
darbyjack
00333f9a4e
Changed to use authors instead of hardcoded. 2019-05-09 18:47:16 -05:00
darbyjack
5472be631c
Added myself as an author to the plugin. 2019-05-09 17:09:21 -05:00
darbyjack
68fa793354
Added documentation / explanation for the ServerLoadEvent 2019-05-08 22:22:01 -05:00
darbyjack
111f5462fc
Cleaned up excess code in TimeUtils 2019-05-08 22:19:57 -05:00
darbyjack
62e282cc0e
Initial attempt at preventing EzPlaceholderHook from working. 2019-05-08 15:36:57 -05:00
darbyjack
5aaa9720c8
Changed to use easier way. 2019-05-08 15:05:30 -05:00
darbyjack
9a2fb89e43
Changed placeholders to register 1 tick after server startup. 2019-05-08 15:04:46 -05:00
Mitchell Cook
9b317c2210 Someone forgot how to use lambdas properly (#111) 2019-05-06 16:21:15 -04:00
darbyjack
927f942236
Print out console warnings for the plugins still using EzPlaceholderHook 2019-05-06 09:05:19 -05:00
extendedclip
75c3027e05 This will not be around for much longer. Plugin authors need to update to use PlaceholderExpansion rather than this class. 2019-05-05 13:59:40 -04:00
extendedclip
a2d408aea9 Possible solution for placeholders that register externally before PlaceholderAPI registers expansions 2019-05-05 13:21:28 -04:00
extendedclip
5386b7c23d Remove load option 2019-05-05 10:39:05 -04:00
extendedclip
a741f35139 Check if server supports ServerLoadEvent and if so register the listener, if not delay registration of placeholders for 15 seconds. 2019-05-05 10:38:42 -04:00
extendedclip
1e25f35aac Remove ServerLoadEvent listener 2019-05-05 10:37:54 -04:00
extendedclip
3042e49ddb Move ServerLoadEvent listener to its own class 2019-05-05 10:37:01 -04:00
extendedclip
6495a386a0 Remove EZPlaceholderHook which has been deprecated for over a year. TOODLES! 2019-05-04 21:25:44 -04:00
extendedclip
cee214cc98 Remove PluginEnableEvent listener. Not needed anymore. 2019-05-04 20:15:00 -04:00
extendedclip
41390d8ef4 Remove clean method calls 2019-05-04 20:13:04 -04:00
extendedclip
c0f6cf225f Remove useless "expansion cache" that I don't even know ever worked. Intention was to cache any expansion that isn't registered due to the dependency not being loaded yet when expansion registration initialized. Non issue now that registration happens in ServerLoadEvent. 2019-05-04 20:08:47 -04:00
extendedclip
16d0a4f690 Register expansions in the ServerLoadEvent which is called after the server startup process is complete.
Fixes #103
2019-05-04 19:56:59 -04:00
darbyjack
b943c6fd21
Added support for 1.14 NMS for expansions to hook into 2019-05-03 22:51:34 -05:00
extendedclip
15b142ed64 Remove unused imports 2019-05-03 23:48:00 -04:00
extendedclip
b2a488c694 Sort expansions alphabetically without errors Fixes #102 2019-05-03 23:44:51 -04:00
Funnycube
8447395c7b
As per request, daddy has been removed.
Rip Daddy,
2018 - 2019
"Bastards"
2019-04-29 16:36:08 +10:00
Mitchell Cook
29c61373b0 Implementing #93 (#94)
Testing required before PR.
2019-04-13 16:34:03 -04:00
Max Lee
cb7fbb7820
Load at startup
By default plugins are loaded later. (post world) This complicates hooking into PlaceholderAPI from other plugins that load directly at startup as PlaceholderAPI isn't available yet at that point.
2018-12-27 13:56:09 +01:00
darbyjack
639b7967e3 Refresh on download to fix the gold bug 2018-10-20 15:43:38 -05:00
darbyjack
90bc3c8da1 Fixed a bug in /papi installed 2018-10-20 15:30:10 -05:00
darbyjack
556faf4290 Changed the Discord Link 2018-10-18 23:06:52 -05:00
darbyjack
4af2a1c7be Update to 2.9.2-DEV and add in more info when typing /papi 2018-10-17 02:53:39 -05:00
Sxtanna
80c6a6d377 This class was trash 2018-10-12 12:43:57 -04:00
extendedclip
c205a9a1b9 Just make the damn directory 2018-08-27 00:05:51 -04:00
extendedclip
197aa5dfe0 Added 1.13 R2 NMS to the enum 2018-08-26 22:58:02 -04:00
extendedclip
589712f7e4 daddy 2018-08-10 23:32:07 -04:00
extendedclip
dd5ec37055 try with resources cuz haters 2018-07-22 16:52:36 -04:00
extendedclip
7ea2bd94a7 Do not deprecate legacy setPlaceholder methods for now 2018-07-21 22:00:33 -04:00
extendedclip
736b8ada3d Add v1_13_R1 to the NMSVersion enum 2018-07-21 21:59:02 -04:00
extendedclip
d08de32852 Add api-version entry for 1.13 2018-07-21 21:58:26 -04:00
Mitchell Cook
838f947a05
Resolve expansion loading bug. 2018-07-16 17:50:12 +10:00
Mitchell Cook
efc6a6337b
Added compareTo method for easier comparison in expasions. 2018-07-16 17:50:12 +10:00
Mitchell Cook
9cc5a9678f
Reformatted project to conform to google style guide. 2018-07-16 17:50:07 +10:00
extendedclip
bc915af13e Added subcommand to register an expansion by specifying the name of the file, or unregistering by specifying the name of the expansion. 2018-06-29 15:03:53 -04:00
extendedclip
43b8013c29 Added method to register expansion by specifying the file name 2018-06-29 15:02:05 -04:00
extendedclip
adca215ea7 Added method to get all class files of a certain type from a specific jar 2018-06-29 14:40:48 -04:00
extendedclip
d0445e231d Added register/unregister perm, removed injector perms 2018-06-29 14:34:25 -04:00
extendedclip
be96238800 Added ability to use parse subcommand from console when targeting a player, Added ability to broadcast a parse message with bcparse subcommand 2018-06-16 20:05:12 -04:00
extendedclip
0f51b4f2a5 Added broadcast method 2018-06-16 19:57:22 -04:00
extendedclip
e4a672e57e Require a player be specified when using /papi parse command 2018-06-14 15:17:46 -04:00
extendedclip
2894d525f2 Add deprecated setPlaceholders(Player) methods back to prevent exceptions with plugins parsing placeholders 2018-06-13 14:14:27 -04:00
extendedclip
86a1fe862f New method supporting offlinePlayer renamed to onRequest 2018-06-13 12:50:01 -04:00