Commit Graph

762 Commits

Author SHA1 Message Date
Luck
10fbc24f43
Add option for Sponge style wildcards on other platforms (#1625) 2020-05-09 17:48:29 +01:00
Luck
ad6a11819d
Ignore null entries in Permission#children map on Bukkit/Nukkit (#2235) 2020-04-28 13:54:23 +01:00
Luck
eb0d758efc
Fix Bukkit command map access (#2229) 2020-04-28 12:57:40 +01:00
Tobi
f484e87828
Add other options to meta formatting config comment (#2222, #2090) 2020-04-24 19:57:50 +01:00
Luck
07b2df7c7e
Cleanup configuration files slightly 2020-04-23 13:05:39 +01:00
Luck
cab15d39c3
Make the injected LP permSubs replacement value maps thread safe 2020-04-21 20:06:52 +01:00
Luck
36335c10a4
Cleanup imports 2020-04-17 17:49:32 +01:00
Luck
642d14d003
Allow leading '/' in LP commands executed from the console
https://github.com/Turbotailz/LuckPermsWeb/issues/34
2020-04-17 17:46:48 +01:00
Luck
175808e251
Attempt to fix some PowerfulPerms migration issues (#2168) 2020-04-16 15:13:41 +01:00
Luck
4d7a6cb658
Add meta-value-selection config setting (#2167) 2020-04-16 14:44:38 +01:00
Luck
8cecfe5b7c
Avoid calls to the Bukkit singleton 2020-04-07 17:50:08 +01:00
Luck
fe139f8420
Replace 'none' option with 'auto' in messaging service config description 2020-04-05 16:04:38 +01:00
caramat
bb015d0c88
Fix the link to Storage types wiki page in config files (#2135) 2020-04-05 16:03:19 +01:00
Luck
94809c2a66
Defer legacy component handling on 1.7 servers to Kyori lib 2020-04-05 15:48:07 +01:00
Luck
141d3e26ea
Update dependencies 2020-04-04 22:47:43 +01:00
Luck
c3128dec0d
Generate actual classes for LP events at runtime instead of using proxies + InvocationHandlers 2020-03-30 19:19:27 +01:00
Luck
b65639cd76
Ignore empty string world names in Bukkit WorldCalculator (#2119) 2020-03-30 14:32:27 +01:00
Luck
42e9f43443
Store result of primary group calculation in CachedMetaData 2020-03-30 14:13:17 +01:00
Luck
0964762217
Avoid call to PermissionUser.initialize in PEX migration (#2102) 2020-03-26 23:09:09 +00:00
Luck
3553a0f9fe
Don't attempt to migrate empty users in PEX migration (#2102) 2020-03-26 22:32:53 +00:00
Luck
24304a61a7
Work around issue accessing PEX async in migration (#2102) 2020-03-26 17:18:00 +00:00
Luck
3a7fadb843
Perform uninject tasks synchronously on Bukkit player quit (#2080) 2020-03-24 09:43:32 +00:00
Luck
05b82cdbab
Slightly optimize Permissible#getEffectivePermissions 2020-03-19 11:04:52 +00:00
Luck
fbac03e372
Remove MinimalApiProvider & refactor usages away from static access 2020-03-13 18:13:12 +00:00
Luck
bbec0932fd
Fix typo 2020-03-10 23:55:47 +00:00
Luck
6fea194ef5
Don't attempt to refresh auto op if server is stopping (#1989) 2020-02-27 13:19:53 +00:00
povsister
2ed45c92a6
Enhance default config (#2005, #2006)
Co-authored-by: Luck <git@lucko.me>
2020-02-21 20:08:58 +00:00
Luck
d937c9ce06
Update commodore to 1.7 2020-02-10 00:45:47 +00:00
Luck
2eabe845d7
Update commodore to 1.6 (#1939) 2020-02-09 15:44:52 +00:00
Luck
446fa48d9a
Optimize LuckPermsPermissionMap putAll implementation 2020-02-05 20:59:10 +00:00
Luck
26de6cf86f
Refactor CraftBukkitImplementation utility 2020-01-25 16:43:53 +00:00
Luck
5fe7302965
Simplify vault hasPerm check for users 2020-01-25 16:43:31 +00:00
Luck
8fa629a243
Fix/catch IllegalArgumentException when estimating potential world contexts (#1951) 2020-01-25 12:59:41 +00:00
Luck
e9d72df890
Check for an empty buffer in async tab complete handler (#1949) 2020-01-25 12:25:00 +00:00
Luck
c39a44c3ac
Add reminder to remove other plugin jar after migration (#1923) 2020-01-25 12:17:23 +00:00
Luck
7e8402b542
Fix compile errors 2020-01-17 10:05:19 +00:00
Luck
a050a2604f
Fix error extracting command label in AsyncTabComplete handler 2020-01-16 17:55:03 +00:00
Luck
abad672bef
Implement support for Vanilla command target selectors (e.g. @p, @r) for Bukkit & Sponge 2020-01-16 17:49:28 +00:00
Luck
fe3d715f09
Implement Paper's AsyncTabCompleteEvent 2020-01-16 17:20:54 +00:00
Luck
e151fbe298
Build against 1.15 APIs 2020-01-16 16:05:19 +00:00
Luck
2ccb475aa0
Cleanup command abstraction classes 2020-01-15 23:54:43 +00:00
Luck
4c83d439af
Refactor Vault provider world rewriting 2020-01-14 15:18:45 +00:00
Luck
c454d17826
Refactor Vault Chat #setMeta impl 2020-01-07 15:07:21 +00:00
Luck
098f8d8231
Fix NPE when trying to set (chat)meta with a null would through Vault (#1920) 2020-01-07 14:24:04 +00:00
Luck
c1e3660551
Update commodore to 1.5 2020-01-04 23:26:53 +00:00
Luck
3ceb53aa4f
Improve n/bukkit SenderFactory getPermissionValue impls 2020-01-04 22:00:53 +00:00
Luck
83883aa7e6
Replace internal brigadier command structure with Commodore's file format 2019-12-29 22:01:38 +00:00
Luck
4e9b11f30a
Only apply DefaultsProcessor for users 2019-12-29 18:01:13 +00:00
Luck
9c8bdb1166
Fix support for setting vault npc op status 2019-12-29 17:53:39 +00:00
Luck
242993763c
Remove vault-debug option
This is now covered pretty much entirely by verbose data.
2019-12-29 17:37:08 +00:00
Luck
b84518e1f1
Lots of misc cleanup 2019-12-29 16:26:05 +00:00
Luck
ec2cb5007c
Move op handling into a permission processor 2019-12-28 23:41:02 +00:00
Luck
96c53091d0
Make use of Instant / Duration classes where possible for time handling 2019-12-24 23:10:26 +00:00
Luck
63b890d522
Rename EventFactory --> EventDispatcher 2019-12-24 13:05:48 +00:00
Luck
7474842b45
Cleanup the way contexts for transient permissions are determined 2019-12-14 17:06:26 +00:00
Luck
9093385de3
Fix NPE in Permissible#recalculatePermissions 2019-12-13 14:30:37 +00:00
Luck
37367fe91f
Invalidate QueryOptions cache when op status changes 2019-12-13 13:56:34 +00:00
Luck
dce792083b
Fix some issues with null world contexts in migration scripts 2019-12-13 11:51:42 +00:00
Luck
6fdd349654
Fix (un)setting nodes through Vault with null worlds (#1826) 2019-11-29 12:16:24 +00:00
Luck
01e17adf82
Cleanup imports 2019-11-25 22:52:37 +00:00
Luck
acdd5f3faa
Don't attempt to load permissions data for login events cancelled at the lowest priority
Makes LuckPerms more compatible with "anti-bot" plugins.
2019-11-25 22:51:11 +00:00
Luck
86aadf2cf8
A few more small API changes 2019-11-23 12:59:40 +00:00
Luck
95d2832884
A few more small API changes 2019-11-23 12:52:26 +00:00
Luck
c4bd657826
Changes to messaging service setup 2019-11-19 15:18:47 +00:00
Luck
a5e15b8a29
More work 2019-11-18 21:19:59 +00:00
Luck
81cbe02a9c
Move some things around a bit 2019-11-14 19:43:57 +00:00
Luck
79c10c986e
Web editor changes 2019-11-12 12:12:53 +00:00
Luck
c836cce59b
Moreeee stuff 2019-11-09 22:50:10 +00:00
Luck
287c0f7f7a
All the cleanup 2019-11-09 22:34:12 +00:00
Luck
916e3dbb0b
Revert bad text refactoring, bump version to 3.0.2 2019-10-15 13:58:20 +01:00
Luck
4b0574710e
Implement new compressed json import/export format
The old "command list" style is now only supported for import.
2019-10-14 17:25:37 +01:00
Luck
9438df787a
Changes to option keys 2019-10-12 00:27:53 +01:00
Luck
fd954d8293
More work 2019-10-06 21:34:24 +01:00
Luck
0251f2add9
Cleanup some stuff 2019-09-04 22:29:36 +01:00
Luck
f0e42c6db6
Allow context calculators to define "potential contexts", and use these for tab completions 2019-09-04 22:08:24 +01:00
Luck
4b793d1f14
More work 2019-09-04 20:58:46 +01:00
Luck
61e5da928a
Fix various runtime errors 2019-08-29 22:07:12 +01:00
Luck
b286faa1c5
Change API package to net.luckperms 2019-08-26 18:06:45 +01:00
Luck
4667ffc681
Allow data query order to be specified via the API 2019-08-26 14:04:49 +01:00
Luck
bafada4f17
Context & action log changes 2019-08-26 14:04:50 +01:00
Luck
5b97d01363
Permission holder refactoring 2019-08-26 14:02:39 +01:00
Luck
3474c66c1c
Big API refactor
- removed a bunch of ugly / badly designed methods and APIs
- refactored 'Contexts' --> 'QueryOptions'
- Removed the FullySatisfiedContexts hack and replaced it with a sane API
- Made PermissionHolder (in the API) less ugly and horrible
- removed lots of deprecated / duplicated API functionality
and much more...
2019-08-26 14:02:44 +01:00
Luck
ffe6c24b53
Properly remove "minecraft:" prefixed brigadier aliases 2019-06-03 20:15:29 +01:00
Luck
1ebed37297
Remove use-server-properties-name option
This was removed from Minecraft 1.14, and isn't something I feel was ever really necessary to support.
2019-05-11 23:17:59 +01:00
Luck
ff37ad176b
Update text adapters to latest version (#1525) 2019-05-11 23:12:55 +01:00
Luck
f49446011a
Update to text 3 2019-05-07 00:23:40 +01:00
Luck
d762a0aaa6
Reduce new instance creation further in TristateResult.Factory 2019-04-28 15:35:46 +01:00
Luck
2c62de9658
Refactor storage type config read 2019-04-23 21:57:43 +01:00
Luck
b81e8a40a4
Refactor VaultHookManager 2019-04-22 10:27:29 +01:00
Luck
2fd2f4fedb
Ignore exception if Brigadier is not supported by the server (#1506)
This error occurs when another plugin/the server shades the brigadier library without relocation on pre 1.13 MC versions.
2019-04-22 09:24:05 +01:00
Luck
241f13c8f1
Package renames 2019-04-20 18:10:31 +01:00
Luck
4fa6cd2577
Add configuration option to perform a post-traversal sort according to the inheritance (weight) rules 2019-04-06 18:20:30 +01:00
Luck
37d1f5efab
Improve behaviour of userInGroup and userHasPermission Vault calls 2019-04-03 10:12:24 +01:00
Luck
7cd8e8bf5b
Fix NPE in Vault contextForLookup method
Fixes CodeCrafter47/BungeeTabListPlus#415
2019-04-03 10:01:18 +01:00
Luck
62ca2d9c79
Implement special handling in the LP Vault implementation for NPC players (#1470) 2019-04-01 15:09:58 +01:00
Luck
8846932cb6
Refactor the HolderType enum 2019-03-08 20:19:08 +00:00
Luck
0a50df6557
Code style: move private constructors for singleton classes to the top of the file 2019-03-05 12:36:09 +00:00
Luck
3726f6de41
Use a separate fork join pool for cache loading operations 2019-03-05 12:35:29 +00:00
Luck
46072eb465
Attempt to detect and warn about CraftBukkit + offline mode problems (#1439) 2019-02-21 14:14:00 +00:00
Luck
43d04a97f5
Correctly implement Bukkit/Nukkit isPermissionSet method, inline with the behaviour in PermissibleBase (#1403) 2019-01-31 01:14:38 +00:00
Luck
307614e704
Cleanup import statements 2019-01-31 00:53:42 +00:00
Luck
f6c0794691
Return more detailed information about exactly how a permission check result was determined 2019-01-31 00:45:56 +00:00
Luck
d9912cb93f
Update some dependencies 2019-01-27 22:51:05 +00:00
Luck
5db999f995
Only form data buf once in Bukkit PluginMessage messenger 2019-01-23 12:12:33 +00:00
Luck
b744e35ad8
Fix typo in Vault exception message 2019-01-18 23:21:23 +00:00
Luck
3c0d1ba7a1
Ensure caches are invalidated when Bukkit/Nukkit's Permission#getChildren map is modified (#1378) 2019-01-13 16:58:31 +00:00
Luck
4b97c9419e
Finish updating commodore
woops
2019-01-07 21:29:28 +00:00
Luck
db830a0bef
Buildscript changes 2019-01-07 21:25:11 +00:00
Luck
797c195424
unInject -> uninject 2019-01-07 20:45:47 +00:00
Luck
4788290615
Rename Vault implementation classes 2019-01-07 20:44:52 +00:00
Luck
d0c016f6b7
Cleanup with way permissibles are monitored on Bukkit/Nukkit
- The removal of the call to recalculatePermissions should fix CMEs on startup, in particular with Vault.
- Monitored permissibles are now uninjected when the plugin disables.
2019-01-07 20:21:36 +00:00
Luck
ec7a5321a6
Some misc refactoring / code cleanup 2019-01-07 15:08:13 +00:00
Luck
6fc2321fad
Refactor PlayerLoginProcessEvent
This is technically a breaking change, but I'm fairly sure I'm the only person using this event. It's quite obscure ;p
2019-01-02 13:54:55 +00:00
Luck
8eed3131f2
Fix sending component messages on older CB/S releases (#1344) 2018-12-23 16:52:00 +00:00
Luck
e5c4b710f6
Fix CME in Bukkit refreshAutoOp
cc @Exloki
2018-12-22 17:04:32 +00:00
Luck
e3a6db5f97
Refactor ProgressLogger slightly 2018-12-19 10:39:48 +00:00
Luck
6d8077ffd0
Use text-adapter-bukkit for sending Components to Bukkit objects 2018-12-19 10:29:22 +00:00
Luck
8c57c2b46d
Remove static imports 2018-12-18 12:51:26 +00:00
Luck
4b1cf51530
replace LoadingCache with more simple LoadingMap alternative when no auto expiry is needed 2018-12-14 18:37:56 +00:00
Luck
ef31db1431
Improve /op and /deop command matching 2018-12-10 15:33:04 +00:00
Luck
b7ff0824b9
Optimize context set manipulation 2018-12-06 14:02:41 +00:00
Luck
2da6298c53
Update references to the project website 2018-11-22 15:25:39 +00:00
Luck
e111270aed
Add api-version option to Bukkit plugin.yml file
This doesn't make any functional change, LP doesn't use any of the remapped Material APIs. It only saves on the amount of remapping CB tries to perform when loading the plugin.
2018-11-22 15:19:12 +00:00
Luck
e07f8c0fbe
Don't send 1.13 tab completions to players without access to any LP commands (#1310) 2018-11-22 15:07:55 +00:00
Luck
90246afd03
Some misc refactoring 2018-11-22 14:51:20 +00:00
Luck
9809e591ad
Reorganise some packages 2018-11-10 23:16:28 +00:00
Luck
759ec5d499
Attempt to parse uuid from username string in Vault hook 2018-11-10 20:23:40 +00:00
Luck
58ab3c325c
misc tidying up 2018-11-10 20:21:08 +00:00
Luck
5dda522a62
Add option to deduplicate prefix/suffix stacks (#1285) 2018-11-06 14:29:15 +00:00
Luck
9988011308
Improve the way meta lookups are caught & reported to the verbose handler 2018-11-06 13:15:30 +00:00
Luck
5e0b8ebdf6
Include meta lookup events in verbose output 2018-10-28 12:31:47 +00:00
MrMicky
ee2de3cff1 Some minor code cleanup (#1262) 2018-10-09 18:00:53 +01:00
Luck
1cf90692cf
fix typo 2018-09-21 21:53:06 +01:00
Luck
834649b390
Improve Uuids#parse
thanks @kashike
2018-09-20 15:30:22 +01:00
Luck
04e511026d
Detach from permissible objects with a 1 tick delay after player quit to allow plugins listening on monitor to still access data (#1220) 2018-09-20 11:07:20 +01:00
Luck
51b7bb93e2
Don't trigger Vault primary thread checks whilst the server is starting up 2018-09-20 10:44:04 +01:00
Luck
3941c77826
Move from findbugs jsr305 to checker-qual 2018-09-19 20:40:25 +01:00
Luck
4987ca3ba2
Update gradle wrapper and buildscript plugins 2018-09-19 19:41:47 +01:00
Luck
dd78e0e271
Separate formatted vs plain display name methods in User/Group
Continues from 3c773e6823 & #1210
2018-09-10 16:54:16 +01:00
Luck
54a9ff9256
Fix compile 2018-09-09 11:31:17 +01:00
Luck
eca6b09b18
Refactor config keys 2018-09-05 20:49:37 +01:00
Luck
b7f8ca6658
Add 'require-sender-group-membership-to-modify' config option (#1140) 2018-09-05 15:49:29 +01:00
Luck
3a123f9fa1
Avoid running full "update tasks" unless they're absolutely needed. Process Vault API "set" requests immediately instead of in the background 2018-09-04 21:02:40 +01:00
Luck
f0c0328919
Refactor MetaAccumulator to be a little more sane 2018-09-04 20:33:22 +01:00
Luck
55220e9d10
Add support for Velocity 2018-08-26 22:24:46 +01:00
Luck
2ddae5a96c
Avoid UnsupportedEncodingException in LilyPad messenger 2018-08-12 10:40:26 +01:00
Luck
56c55d71fe
Improve the way Vault lookups for offline players are handled (#1150)
1) The behaviour of online player lookups is unchanged - this only affects offline player data lookups.
2) If a 'offline player' request is made from an async task, it is executed normally. (the data is loaded)
3) If a 'offline player' request that cannot be immediately fulfilled is made from the main server thread, an exception is thrown.

The exception thrown as a result of 3) can be disabled in the config. In this case, the query is performed anyway. The main server thread will block until the request is complete.
2018-08-11 19:02:57 +01:00
Luck
56df15caf8
Add bukkit-legacy build back to the main project 2018-08-11 18:11:30 +01:00
Luck
03720665b3
Move to gradle 2018-08-10 20:39:29 +01:00
Luck
b8466beee5
Completely rework event system
* Event instances are now generated dynamically at runtime. The performance hit of creating proxies at runtime is negligible in this case.

* A better EventBus implementation is now being used internally, API contracts are unaffected.
2018-08-09 22:39:33 +01:00