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
Luck
31d435dc2b
Update web related functionality to point to new locations and APIs ( #770 ) ( #784 )
2018-02-22 22:09:37 +00:00
Luck
da9977a30f
Fix compile and some minor formatting errors
2018-02-20 20:15:48 +00:00
Andrew
9c92522564
MongoDB Replica Set connections cannot resolve ( #776 & #777 )
2018-02-20 19:59:29 +00:00
Luck
31e436868d
Nukkit support ( #764 )
2018-02-18 15:10:35 +00:00
Luck
0adf85746d
Abstract out the process of traversing the inheritance tree, add configurable option to choose which algorithm to use ( #719 )
2018-02-16 17:46:17 +00:00
Luck
765f9d2545
Remove old schema migration code, cleanup a bit
2018-02-16 13:19:43 +00:00
Luck
173286d404
Rebuild default and child permission lookup maps live instead of only once when the plugin first enables
2018-02-04 20:50:35 +00:00
Luck
fd937e3209
Refactor permission processors, misc cleanup
2018-02-04 18:39:34 +00:00
Luck
a1a2e189b6
Refactor PEX primary group detection to exclude temporary parents
2018-02-01 20:31:54 +00:00
Luck
5799a26cb7
Migrate temporary permissions / parents in PEX migration
2018-02-01 20:03:20 +00:00
Luck
7f7116e1c7
Use OkHttp for web requests
2018-01-30 00:08:00 +00:00
Luck
0cc1c4e5a7
fix build, refactor Bukkit model classes
2018-01-28 14:18:53 +00:00
Luck
e28d15456c
Update some dependencies
2018-01-25 23:31:31 +00:00
Luck
54dbede130
Add /lp debug command
2018-01-24 19:13:29 +00:00
Luck
982254ff5e
Reduce the amount of unnecessary data in info command outputs a bit
2018-01-23 19:55:21 +00:00
Luck
e1c60fa70f
Only query online players when upgrading usernames --> uuids in Vault hooks
2018-01-23 17:07:26 +00:00
Luck
4858e59b70
Don't relocate H2 or SQLite depends in favour of loading into isolated classloaders ( fixes #704 )
2018-01-22 21:32:31 +00:00
Luck
1f70ad978f
Cleanup usages of loadUser/loadGroup/loadTrack - eliminate possibility for unloading race condition ( #706 )
2018-01-22 17:34:15 +00:00
Luck
f18d230ff6
Force a clear of transient nodes when a User quits, don't just rely on their instance being unloaded
2018-01-21 20:25:00 +00:00
Luck
72d4e5cf7a
Remove the 'use-server-uuids' option and internal UuidCache system
...
The feature has stuck around since the early days - and solves a problem which really should never occur.
2018-01-21 20:18:13 +00:00
Luck
4c3e28ba85
Only show enduring nodes in command output, encapsulate the Node multimaps in PermissionHolder into separate class
2018-01-21 19:53:20 +00:00
Luck
821dc4ef56
Expose a means to implement the plugin's MessagingService via the API
2018-01-19 23:35:41 +00:00
Luck
03a93b1186
Apply dependency remapping using an isolated classloader
...
* Fixes the issue which prevented LP from loading on Java 9
* Should also fix #697
2018-01-19 19:27:08 +00:00