Commit Graph

706 Commits

Author SHA1 Message Date
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
Luck
efa666445f
Initial support for Brigadier (1.13 commands) on Bukkit servers 2018-08-08 23:42:25 +01:00
Luck
b1ab465991
Misc cleanup 2018-07-29 17:12:05 -07:00
Luck
952e41ad3d
A few API javadoc improvements 2018-07-27 23:45:16 -07:00
Luck
ae3adf23c8
Fail silently when plugins use reflection to add to dummy permissibles (#1117) 2018-07-24 21:21:05 -07:00
Luck
c3cdf387c2
Fix NPE in GroupManager migration (#1118) 2018-07-24 21:03:14 -07:00
Luck
07469599bc
Rewrite MessagingService message encoding, conform to new plugin message channel requirements
* This change isn't backwards compatible with previous builds, this version (& onwards) won't be able to "communicate" with old versions, and vice versa.

* MC 1.13 requires plugin message channel names to be namespaced, so 'lpuc' has been changed to 'luckperms:update'

* The channel names for Redis/Lily types have also changed, I've been wanting to change the encoded format to something a bit saner for a while, and this seemed like a good time. Changing the channel names a) keeps things consistent and b) means I don't have to worry about old versions interpreting the new format.
2018-07-15 22:42:37 -07:00
Luck
08454d58d0
Refactor the way contexts are cached on all platforms (#1071)
Should fix memory leak issues on BungeeCord
2018-06-27 00:17:53 +01:00
Luck
5b66436519
Ensure the backing of LPSubscriptionValueMaps is a WeakHashMap (#1058) 2018-06-19 23:35:19 +01:00
Luck
379eb00b69
Cleanup various message localisations, limit the size of the PermissionRegistry 2018-06-19 22:27:47 +01:00
Luck
b8c06904ab
Make logging messages a bit less obnoxious
* Removed the ascii text from the startup output
* Log messages (but not command output) is now sent through the standard server logger, and isn't colored
2018-06-16 16:59:59 +01:00
Luck
9c449def57
Update some dependency versions 2018-06-13 20:29:00 +01:00
Luck
e4acc133a9
remove some unnecessary interfaces 2018-06-12 18:18:38 +01:00
Luck
c0cd197bd0
Don't allow players to be added to SubscriptionValueMaps 2018-06-07 17:01:25 +01:00
Luck
f4e4f727dd
More workarounds to support MassiveCore's modification of attachment permissions via reflection 2018-05-31 00:51:33 +01:00
Luck
644c53a074
Add workaround for plugins adding/removing/modifying permission attachments via reflection (#1024)
who knows why they're doing it, it's not even beneficial for performance...
2018-05-30 13:17:41 +01:00
Luck
adf0589184
Print a more informative error when the port is missing from the address arg (#1022) 2018-05-29 12:40:39 +01:00
Luck
1e73986c60
Allow world rewrite options to apply in (some) Vault lookups (#990) 2018-05-16 19:04:09 +01:00
Luck
18f09f9862
Various performance optimizations 2018-05-15 00:08:23 +01:00
Luck
a0be1c7c48
Fix issue with Bukkit attachment permissions never being removed (#991) 2018-05-13 14:06:23 +01:00
Luck
1639879106
Reduce the number of config lookups required when calculating contexts 2018-05-12 01:51:38 +01:00
Luck
a927ca659f
Reduce the throughput on the contexts cache in ContextManager (#929) 2018-05-12 01:34:34 +01:00
Luck
64838708ab
Release version 4.2.0
blaze it
2018-05-06 17:16:36 +01:00
Luck
91b7af52ac
Use the servers uuid cache in the output to /lp search if LP doesn't have data (#974) 2018-05-06 16:20:08 +01:00
Luck
d3dded8791
Fix jedis shading (#930) 2018-05-06 15:58:40 +01:00
Luck
10c0efaa5d
Fix bad caching logic resulting in super high CPU usage 2018-05-04 23:12:46 +01:00
Luck
55d59bb1c4
Make auto-op changes take effect (almost) immediately (#943)
"almost immediately" is better than "after a relog" ;)
2018-05-03 20:21:52 +01:00
Luck
a6facf7492
Refactor the way holder caches are invalidated in order to improve consistency (#734) 2018-05-03 19:36:10 +01:00
Luck
4547b52748
Refactor extended node types, general cleanup 2018-05-02 20:18:57 +01:00
Luck
2e136666be
Remove storage buffers 2018-04-29 11:33:51 +01:00
Luck
7d089cb5f0
Refactor configurate deo serialization of permission data, add support for the TOML format 2018-04-28 21:26:59 +01:00
Luck
55382519a1
Fix sponge split-storage config section being in the wrong section of the config (#928) 2018-04-25 17:30:56 +01:00
Luck
7d90dba08b
Update some dependency versions 2018-04-21 23:26:34 +01:00
Luck
328353d053
Implement the option to combine yaml/json/hocon storage files into one 2018-04-20 21:59:32 +01:00
Luck
f8d34d7f46
Fix compile 2018-04-09 20:58:52 +01:00
Luck
cb185e4827
Minor misc changes 2018-04-08 22:58:15 +01:00
Luck
6a5b7ce3a1
derp 2018-04-04 15:29:45 +01:00
Luck
f33c540efb
Register Sponge PermDescriptions to the LP permission registry 2018-04-03 21:56:15 +01:00
Luck
7684ac5d3a
Add extra parameter to EventBus#subscribe which allows a handler to be bound to a plugin 2018-04-02 17:26:02 +01:00
Luck
c13b01da01
misc cleanup 2018-04-02 16:02:55 +01:00
Luck
3453f05aca
Copy usernames in the GroupManager migration (#883) 2018-04-02 13:34:30 +01:00
Luck
cbeaaca7af
Fix shutdown hang (#881) 2018-03-31 11:11:42 +01:00
Luck
da797f154d
Implement Messaging Service using SQL (#534) 2018-03-18 16:02:04 +00:00
Luck
d1e76f401a
Reorganise the default configuration 2018-03-17 21:03:50 +00:00
Luck
907d716929
Reorganise commands 2018-03-12 21:25:39 +00:00
Luck
f969e2e52b
Strip color when sending messages to the fallback logger 2018-03-09 16:43:29 +00:00
Luck
bf69d5314e
Implement Sponge subject lookup queries using CachedData from LP common 2018-03-07 23:50:23 +00:00
Luck
68e4d36f40
Extract common plugin behaviour into an abstract class 2018-03-03 16:26:37 +00:00
Luck
7549b3eb9e
Return a dummy value instead of throwing an exception when an offline player is queried via Vault (#806) 2018-03-01 10:08:09 +00:00
Luck
fbe84322b5
Cleanup parts of the sponge service implementation 2018-03-01 08:48:39 +00:00
Luck
98fb9946e4
Refactor Contexts class 2018-02-28 19:13:21 +00:00
Luck
aa4833ed74
Fix NPEs caused in LPPermissionMap (#794) 2018-02-24 22:59:18 +00:00
Luck
6704ac4b46
Fully relocate the jedis driver 2018-02-24 18:20:56 +00:00
Luck
4e4ec8e608
Bump caffeine & hikari version 2018-02-24 14:15:51 +00:00
Luck
4f4a387f04
Run the permissible monitoring injector twice 2018-02-24 14:08:36 +00:00
Luck
d0143f9e54
Fix issue with loading on old CraftBukkit versions 2018-02-24 14:04:22 +00:00
Luck
168e712324
Update API to 4.1 2018-02-23 22:13:41 +00:00