Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
04bb035
Add warning nore about enable-ops to config files (#3170)
RedstoneFuture Oct 3, 2021
b2c76ac
Improve translations handling (#3166)
lucko Oct 10, 2021
9c5a43b
Allow meta/prefix/suffix nodes to be negated to cancel inheritance (#…
lucko Oct 18, 2021
f84f425
Better issue templates (#3184)
Laarryy Oct 22, 2021
00b62d7
Edit issue templates
lucko Oct 22, 2021
f896ed7
Edit issue templates (again)
lucko Oct 22, 2021
848fc35
Added redis authentication with username (#3201)
EduardWayland Nov 12, 2021
c9d4c7d
ContextSet performance improvements (#3209)
lucko Nov 17, 2021
272d289
More context performance improvements (#3209)
lucko Nov 18, 2021
9204848
Fix username lookup returning "null" instead of null (#3220)
lucko Nov 27, 2021
594f50b
Add config option to disable context calculators
lucko Nov 27, 2021
10f698b
Add warning for common editor mistakes
lucko Nov 27, 2021
d6c810a
Fix player insert duplicate key issue with PSQL (#3223)
tadhgboyle Nov 27, 2021
6e07d6a
Revert "Fix player insert duplicate key issue with PSQL (#3223)"
lucko Nov 28, 2021
e227d96
Fix sql insert player query (#3225)
lucko Nov 28, 2021
64bd8b5
Add pagination to listgroups command (#3226)
tadhgboyle Nov 30, 2021
fa17404
Fabric 1.18
lucko Nov 30, 2021
f35a9b6
Update dependencies for 1.18
lucko Dec 2, 2021
9c08741
Fix cast to long in MongoStorage
lucko Dec 4, 2021
8cc126f
Add config option to disable bulkupdate functionality
lucko Dec 9, 2021
664cad2
Clarify uuid type in user info command (#3233)
lucko Dec 10, 2021
ae93c97
Add default file name for export command (#3248)
AstralisVox Dec 31, 2021
2d662cb
Retain cause node information for cached permission/meta data (#3250)
lucko Dec 31, 2021
419d711
Add full support for transient permissions through Vault API (#3258)
CuddleTheif Dec 31, 2021
d319d8d
Fix TristateResult NPE
lucko Dec 31, 2021
acdc259
Fix MetaValueSelector NPE
lucko Dec 31, 2021
6781c1f
Provide API access to cached data result info (#3243)
lucko Jan 1, 2022
4de7448
Include whether a node is normal/transient in InheritanceOriginMetadata
lucko Jan 1, 2022
a53c9fa
Reuse the same InheritanceOrigin object where possible
lucko Jan 1, 2022
f61d9ff
Fix NPE from permission holder initialisation order (#3263)
lucko Jan 2, 2022
d3029a8
Web editor socket connection (#3303)
lucko Feb 7, 2022
ee79f53
SpongeAPI 8 (#2728)
lucko Feb 7, 2022
65751cd
Velocity world context use ServerConnectedEvent (#3245)
lucko Feb 7, 2022
fe80ba6
Shutdown ForkJoinPool worker on disable (#3247)
lucko Feb 7, 2022
1b3b9b5
Update commodore to fix running LP commands from a Forge client (#3299)
lucko Feb 7, 2022
bc15e34
Optimize bulk user loading for editor command (#3273)
lucko Feb 8, 2022
0fe85ed
Ignore http 503 error from socket server
lucko Feb 9, 2022
b13a74c
Pre-generate web editor keypair to speed up initial session init
lucko Feb 9, 2022
d45d9a2
Optimize parent resolution in info commands (#3309)
Sxtanna Feb 9, 2022
59f3866
Warn if the API was classloaded by another plugin
lucko Feb 9, 2022
99c3d68
API 5.4
lucko Feb 9, 2022
3eca620
Fix API buildscript
lucko Feb 9, 2022
86d2523
Fix SpongePlayerCalculator errors
lucko Feb 11, 2022
5c8b0a6
Maintain order in editor users/groups collection
lucko Feb 16, 2022
b235234
Sponge use jar-in-jar loader
lucko Feb 17, 2022
4bdcca6
Update mongodb driver
lucko Feb 20, 2022
8ed6315
Set mongodb uuid representation (#3324)
lucko Feb 27, 2022
775f1ad
Support for command completions on Bukkit 1.18.2
lucko Feb 28, 2022
f840c76
Don't pretty-print exporter json (#3329)
lucko Feb 28, 2022
138f2c1
Provide snakeyaml for Fabric (#3325)
lucko Feb 28, 2022
eeec818
Allow server name to be specified with an env var (#3341)
schneidermr Mar 16, 2022
405c5c3
Fix typo with env var reading (#3345)
schneidermr Mar 18, 2022
fb56189
Improve AbstractJavaScheduler (#3326)
lucko Mar 19, 2022
eece15d
Close web editor sockets on plugin disable (#3326)
lucko Mar 20, 2022
5647b2e
Shutdown okhttp on plugin disable (#3347)
lucko Mar 23, 2022
2e0a4d7
Fix redis close (#3353)
lucko Mar 27, 2022
126631f
Load configuration from env or system props (#3294)
lucko Apr 3, 2022
3487391
Show sql table prefix if set in '/lp info' (#3360)
Apr 8, 2022
207e4aa
Show table prefix in a different colour
lucko Apr 8, 2022
b3cdf67
Add error logging for failed plugin message parse (#3364)
lucko Apr 24, 2022
e0ee2c3
Resolve command entity selectors on Fabric (#3363)
emilyy-dev Apr 24, 2022
c35958b
Fix plugin message string encoding inconsistency (#3364)
lucko Apr 24, 2022
e6cc817
Update nexus mirror url
lucko May 15, 2022
65a4c67
Fix bug in Sponge PermissionServiceProxy
lucko May 19, 2022
6421525
LuckPerms for Forge (#3262)
LXGaming May 20, 2022
62a8891
Fix buildscript
lucko May 20, 2022
a368509
Use Forge default resolver when result is undefined (#3390)
IzzelAliz Jun 6, 2022
7824566
Fabric 1.19 (#3394)
Aurelien30000 Jun 11, 2022
79a0861
Increase memory allocation for Gradle
lucko Jun 12, 2022
9b2bbb3
Bump adventure version
lucko Jun 12, 2022
016f35a
Update Bukkit dependencies for full 1.19 support
lucko Jun 12, 2022
bf93077
MetaCache refactoring
lucko Jul 17, 2022
fbc0787
Implement Fabric meta/options API
lucko Jul 17, 2022
8b0d6fd
Fix compile
lucko Jul 18, 2022
d36341c
Implement standalone/cli app
lucko Jul 20, 2022
48e5f42
Change standalone image name
lucko Jul 20, 2022
ad08b15
Forge 1.19 (#3397)
LXGaming Jul 24, 2022
55d291f
Update dependencies for 1.19.1 support (#3440)
lucko Aug 3, 2022
106455a
Fabric 1.19.1 (#3437)
PotatoPresident Aug 3, 2022
8ebdbdb
Fix Forge user data sometimes missing after switching worlds (#3447)
IzzelAliz Aug 3, 2022
fe0cb2d
Fix Bukkit tab complete (#3449)
lucko Aug 3, 2022
b195363
Add healthcheck for standalone app
lucko Aug 5, 2022
6e0e0e8
Forge 1.19.2 (#3477)
CDAGaming Sep 5, 2022
b6b3788
Change socket is verified check
lucko Sep 5, 2022
afc6904
Fabric 1.19.2
lucko Sep 5, 2022
a2e4a81
Update Paper maven repo (#3393)
BlockyTheDev Sep 5, 2022
1790c0a
Fix concurrent errors in URLClassLoaderAccess (#3403)
OOP-778 Sep 5, 2022
44470c8
Fix yaml usage on Forge/Fabric (#3381)
lucko Sep 30, 2022
8bbb699
Don't pretty-print '/lp export' json (#3489)
maxcom1 Sep 30, 2022
495d951
Declare module name for API (#3482)
lucko Sep 30, 2022
e35f467
Upgrade h2 database engine to v2 (#3458)
lucko Oct 16, 2022
dc22847
Fabric offline permission check event (#3504)
DrexHD Oct 16, 2022
5ff9a12
Preload dependencies in Docker image
lucko Oct 21, 2022
0193c06
Add Nats messenger (#3525)
sadcenter Nov 26, 2022
5555cda
Update nukkit maven repository
lucko Nov 27, 2022
8e1553c
Use unix domain socket for Docker commands
lucko Dec 10, 2022
ed9dd03
Add basic rate-limit for commands (#3546)
lucko Dec 28, 2022
4d726f4
Update Forge and Fabric to 1.19.3 (#3550)
JT122406 Jan 1, 2023
3ecdeac
Add more unit tests (#3555)
lucko Jan 5, 2023
a5ba53d
Restore offline mode support for Fabric servers (#3576)
nikijaz Jan 29, 2023
1bfbd27
Update fabric/forge versions
lucko Jan 29, 2023
ce6031a
Fix obtaining UserCapability on Forge for respawned players
lucko Feb 12, 2023
1f8b66c
Fix suffix.duplicates config setting being ignored (#3592, #3590)
emilyy-dev Feb 19, 2023
4037570
Add 'paste' to verbose command tab completions (#3598)
darbyjack Mar 1, 2023
536c918
Fix Nukkit maven repo
lucko Mar 7, 2023
62f2fc9
Fix Forge player data corrupted on respawn (#3557, #3584, #3596, #3601)
bloodmc Mar 13, 2023
5631a8b
Compile forge/fabric against MC 1.19.4
lucko Mar 15, 2023
1fb62d2
Cleanup classloaders on shutdown (#3605)
emilyy-dev Mar 19, 2023
85a49f0
Handle invalid empty command inputs (#3606)
emilyy-dev Mar 29, 2023
e61ac8b
Add tests for messages/components/translations
lucko Mar 29, 2023
6523e70
Add more tests
lucko Apr 1, 2023
4068c71
Add integration tests for storage and messaging
lucko Apr 1, 2023
9039251
Implement messenger using Postgres listen/notify (#3641)
lucko Apr 30, 2023
0ae751b
Reformat import statements
lucko Apr 30, 2023
ef85fa8
Fix docker tests
lucko May 1, 2023
cfe0d80
Add date on hover to actionlog (#3597)
Diddyy May 1, 2023
9640271
Reattempt RabbitMQ connection on first attempt
lucko May 1, 2023
6d4ed22
Update mariadb driver (#3583)
Kamillaova May 1, 2023
bd08507
Add automated tests for commands
lucko May 1, 2023
84bd2ee
Add more tests
lucko May 1, 2023
6d2a5a6
Fix issues with postgres storage backend (#3647)
lucko Jun 8, 2023
8048427
Tag docker images with LP version
lucko Jun 8, 2023
da08be0
Fix github action to fetch repo with tags
lucko Jun 8, 2023
d859085
Update Fabric/Forge to Minecraft 1.20
lucko May 30, 2023
2e5a1d7
Switch back to official Postgres JDBC driver
lucko Jun 11, 2023
081a4f8
Fix Forge reobf shadowjar (#3675)
lucko Jun 14, 2023
acd8d6e
Include standalone data directory in gitignore (#3671)
powercasgamer Jun 14, 2023
3542a6c
Improve console detection on Fabric/Forge (#3673)
DrexHD Jun 14, 2023
5dd8087
Update Forge/Fabric to 1.20.1
lucko Jun 14, 2023
9f1e74f
Fix user deletion not being correctly processed on SQL backends (#3664)
lucko Jun 18, 2023
7a59536
Add support for redis cluster (#3670)
Dominik48N Jun 23, 2023
feef08a
Update GitHub URLs to new location (#3686)
mja00 Jun 23, 2023
86cc90f
Refactor gradle plugin version handling (#3665)
powercasgamer Jun 23, 2023
35dfc2c
Render minimessage in prefix/suffix/meta values (#3672)
powercasgamer Jun 23, 2023
7297fb8
whoops (#3691)
powercasgamer Jun 24, 2023
f788088
Delete temporary H2 v1 to v2 migration script if exists (#3693)
lucko Jun 25, 2023
77a5a7b
Print test output when ran through Gradle
lucko Jun 25, 2023
9f4082c
Add more unit/integration tests
lucko Jun 25, 2023
8fbd791
Add missing future join call to storage test
lucko Jun 25, 2023
6d8b6bd
Add jacoco report gradle plugin
lucko Aug 5, 2023
b8d1f52
Use ansi component serializer
lucko Aug 5, 2023
71416ba
Use driver class instead of datasource for Postgres (#3705)
lucko Aug 5, 2023
f12d3cd
Fix race error in bulk update integration test
lucko Aug 5, 2023
331a328
Upgrade Fabric to MC 1.20.2
lucko Oct 2, 2023
822c796
Update adventure-platform for MC 1.20.2 support
lucko Oct 2, 2023
3707d2f
Add healthcheck functionality to API
lucko Oct 22, 2023
84fce98
Change healthcheck details return type
lucko Oct 22, 2023
f999f9f
Fix duplicate UUID delete with Mongo storage (#3777)
huanmeng-qwq Nov 6, 2023
f78e2d6
Update Minecraft wiki links in config file comments (#3758)
misode Nov 6, 2023
00ed76c
Update Forge to 1.20.2 (#3787)
bloodmc Dec 6, 2023
f14798b
Upgrade gradle version
lucko Dec 6, 2023
43f4d49
Upgrade Fabric to MC 1.20.3
lucko Dec 6, 2023
5f87de3
Upgrade Fabric/Forge to MC 1.20.4
lucko Dec 11, 2023
754283c
Fix Fabric command manager mixin (#3791)
lucko Dec 12, 2023
5f95b38
Update adventure-platform for MC 1.20.4 support
lucko Jan 6, 2024
0703b98
Small performance optimization in BukkitPlatformListener (#3806)
AoElite Jan 6, 2024
e6599a2
Fix MongoDB uri showing in logs if set using system property (#3808)
powercasgamer Jan 6, 2024
96008f6
Add modifyTrack method to TrackManager (#3823)
rymiel Jan 23, 2024
7d89c97
Don't read nodes twice in SqlStorage (#3836)
FixedDev Feb 15, 2024
79273a8
Add PostNetworkSyncEvent
lucko Feb 18, 2024
8c6586f
Add custom payload message to API (#3840)
lucko Mar 6, 2024
1dffd46
Fix mongodb secrets being logged (#3850, #3851)
powercasgamer Mar 15, 2024
a43f4a1
Update Fabric dependencies
lucko Apr 17, 2024
7cb60f5
Update Fabric to MC 1.20.5 (#3824)
DrexHD Apr 23, 2024
f86585c
Update Dockerfile to use Java 21
lucko Apr 25, 2024
2361ea4
Update Fabric to MC 1.20.6
lucko Apr 29, 2024
d74a4dc
Set mappings namespace to skip remapping on Paper 1.20.5+ (#3881)
jpenilla Apr 30, 2024
484b04c
Add support for Sponge API 9+ (#3885)
bloodmc May 6, 2024
5c1ea56
Update Forge to MC 1.20.6 (#3883)
bloodmc May 8, 2024
b5400f8
Add support for Sponge API 11 (#3896)
avaruus1 May 26, 2024
c3802c2
Fix Forge plugin msg messenger (#3894)
lucko May 26, 2024
9805f8b
Bump adventure-platform to 4.3.3
lucko Jun 2, 2024
f984ebb
Update Fabric to MC 1.21 (#3918)
Wolfdv1 Jun 16, 2024
d748817
Update Forge to MC 1.21
lucko Jun 16, 2024
9e7a3d2
Improve efficiency of action log queries (#3917)
lucko Jun 16, 2024
55440ca
Fix memory leak in Fabric MixinUser (#3931)
DrexHD Jul 7, 2024
9cc1294
Init VerboseHandler earlier (#3932)
lucko Jul 7, 2024
b21753f
Use builtin Fabric world change event
lucko Jul 7, 2024
642f1d3
Port to NeoForge (#3950)
jpenilla Aug 12, 2024
136a485
Update to Minecraft 1.21.1
lucko Aug 12, 2024
9bf30fc
Fix login configuration phase on NeoForge (#3961)
3TUSK Aug 20, 2024
9d80de5
Fix MongoStorage nodeFromDoc integer cast (#3846)
lucko Aug 24, 2024
c773126
Simplify ExpiringSet implementation (#3969)
AlexProgrammerDE Oct 21, 2024
9420efd
Switch to ECDSA keys for web editor socket
lucko Oct 23, 2024
8973abd
Support older signature alg if running on Java 8
lucko Oct 23, 2024
8d65693
Update to Minecraft 1.21.3
lucko Oct 26, 2024
a92e04f
Recreate individual sql tables if they are missing (#3995)
lucko Nov 9, 2024
2e67011
Refactor some unit tests
lucko Dec 4, 2024
29c93fa
Add note about shading LuckPerms API into plugin jars
lucko Dec 4, 2024
b18717e
Remove NeoForge capability attachment
lucko Dec 4, 2024
f2040ab
Update to Minecraft 1.21.4
lucko Dec 7, 2024
0fef481
Add more unit tests
lucko Dec 22, 2024
5b82837
Update Sponge module to API 12
lucko Jan 5, 2025
1bf0deb
Add unit tests for messaging service messages
lucko Jan 20, 2025
f351369
Update CI action versions
lucko Feb 13, 2025
5e24a70
Mark plugin msg channel as optional on Forge (#3954)
lucko Feb 22, 2025
9bc8a61
Add file secret config adapter (#3913)
lucko Feb 22, 2025
6b7283a
Improve context manager caching (#4050)
lucko Mar 20, 2025
7744913
Update to Minecraft 1.21.5
lucko Mar 27, 2025
f64bf04
Update mod loader dependencies
lucko May 8, 2025
94e7e11
Add configurable read-only mode for commands (#4031)
lucko May 10, 2025
626d084
Add missing IllegalArgumentExceptions to Javadocs (#4015)
Remigio07 May 10, 2025
95ea491
Support plugins that 'provide' Vault (#4075)
Biquaternions May 10, 2025
1a24a6a
Add REST storage backend (#3939)
lucko May 10, 2025
96abc0d
Update setup-gradle GitHub action
lucko May 10, 2025
b77d575
Upgrade adventure dependencies for 1.21.5 support
lucko May 22, 2025
27e7551
Fix adventure package relocations
lucko May 23, 2025
0486bc8
Release API v5.5
lucko May 25, 2025
9538cb9
Upgrade dependencies and require Java 11
lucko Jun 1, 2025
8ab9910
Downgrade jedis and h2
lucko Jun 1, 2025
bac0edd
Fix missing closing brackets in .conf files (#4109)
wildone Jun 14, 2025
51fe574
Move config load earlier in startup process (#4083)
lucko Jun 14, 2025
0af1038
Update to Minecraft 1.21.6
lucko Jun 19, 2025
8d9c5bf
Add workaround for Forge eventbus limitation
lucko Jun 19, 2025
3aca721
Rollback bytebuddy dependency version upgrade
lucko Jun 19, 2025
c20776d
Remove Forge capability attachment
lucko Jun 19, 2025
ed863b2
Update to Minecraft 1.21.7
lucko Jun 30, 2025
73d710a
Update to Minecraft 1.21.8
lucko Jul 21, 2025
65c42b9
Micro-optimize temporary node audit (#4155)
lucko Aug 23, 2025
d666a2a
Fix command rate limit for command blocks (#4094)
lucko Sep 21, 2025
a087f14
Fix classExists checks to handle NoClassDefFoundError (#4136)
MindsMaster Sep 21, 2025
0b91732
Prevent handleDisconnect after stopped server on Fabric (#4160)
patyhank Sep 21, 2025
1058cb1
Update to Minecraft 1.21.9
lucko Oct 1, 2025
198e2d6
Update Forge module to Minecraft 1.21.9
lucko Oct 5, 2025
40a39c9
Update to Minecraft 1.21.10
lucko Oct 11, 2025
2a1dfb5
Increase User Housekeeper timeout (#4081)
lucko Nov 2, 2025
10378e8
Support IPv6 addresses (#3753)
lucko Nov 9, 2025
61ce546
Fix compile/test error with HostAndPort
lucko Nov 9, 2025
2adb058
Update to Minecraft 1.21.11
lucko Dec 10, 2025
2f77191
Add shared module for Fabric, NeoForge and Forge
lucko Dec 22, 2025
a638277
Fix shared module context keys (#4206)
DrexHD Jan 6, 2026
840ac52
Add UUID mismatch warning suppression setting (#4194)
mcmdev Jan 10, 2026
a60d3f1
Hytale (#4213)
lucko Jan 24, 2026
e7e7997
Improve Hytale PermissionProvider compatibility
lucko Jan 24, 2026
38a8f63
Add Hytale with-deps Gradle buildscript
lucko Jan 30, 2026
1932d0c
Fix yaml dependency issue in Hytale jar (#4229)
lucko Jan 30, 2026
f944fc0
Relocate guava and gson in Hytale jar
lucko Feb 3, 2026
8c22dd7
Refactor PermissionProcessors
lucko Feb 5, 2026
71035d9
Attempt to fix slf4j classloading issue on Hytale
lucko Feb 5, 2026
053148a
Add inheritance origin metadata for Hytale virtual groups
lucko Feb 5, 2026
e148e8e
Fix duplicate readNode call in SqlStorage
lucko Feb 15, 2026
a75643c
Remove Hytale chat formatter and update deps
lucko Feb 17, 2026
6292d2d
Improve debug logging for Hytale login handling
lucko Feb 21, 2026
b25c335
Add rate limit for verbose chat output
lucko Feb 21, 2026
fc26521
Update bytebin/bytesocks custom config settings
lucko Mar 13, 2026
691a87b
Add support for NATS token authentication (#4238)
powercasgamer Mar 17, 2026
5db9ecb
Update Gradle to v9.4
lucko Mar 26, 2026
cfd1aa2
Update Hytale to target 2026.03.26-89796e57b
lucko Mar 26, 2026
c0005fa
Update to Minecraft 26.1
lucko Mar 26, 2026
8b3e990
Fix Fabric shadowJar config
lucko Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# These are explicitly windows files and should use crlf
*.bat text eol=crlf
40 changes: 0 additions & 40 deletions .github/ISSUE_TEMPLATE/bug-report.md

This file was deleted.

63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: 🐛 ​ Bug report
description: Report an issue or problem with the way LuckPerms is functioning.
labels: ["type: issue"]
body:
- type: markdown
attributes:
value: "Before going any further, please check to see if your problem is fixed by updating to a newer version. The latest development builds can be obtained from https://luckperms.net/download"
- type: textarea
id: description
attributes:
label: Description
description: Please provide a short description of the issue in the space below.
placeholder: Description goes here!
validations:
required: true
- type: textarea
id: reproduction-steps
attributes:
label: Reproduction Steps
description: Please provide a clear list of steps we should follow in order to reproduce your issue in the space below.
placeholder: List reproduction steps here, please!
validations:
required: true
- type: textarea
id: expected-behaviour
attributes:
label: Expected Behaviour
description: Please provide a description of what you expected to happen.
placeholder: Describe what you expected to happen here.
validations:
required: true
- type: input
id: server-info
attributes:
label: Server Details
description: Please provide a description of the server details, including type and specific version number.
placeholder: 'git-Paper-124 (MC: 1.17.1)'
validations:
required: true
- type: input
id: luckperms-version
attributes:
label: LuckPerms Version
description: Please provide the specific, precise version number of LuckPerms you are using to reproduce this bug.
placeholder: v5.3.70
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs and Configs
description: If you think it would be helpful, please also include a pastebin of any relevant config files or log output. You should use https://gist.github.com/ to upload, then include the link below.
placeholder: https://gist.github.com/HelpfulBugReporter/ThisIsAVeryUsefulLogOutput
validations:
required: false
- type: textarea
id: extra-info
attributes:
label: Extra Details
description: Please include any other relevant details in the space below.
placeholder: I was able to reproduce this only at the end of a rainbow.
validations:
required: false
16 changes: 0 additions & 16 deletions .github/ISSUE_TEMPLATE/suggestion.md

This file was deleted.

31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/suggestion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: 💡 ​ Suggestion
description: Suggest an idea for an improvement or change to LuckPerms.
labels: ["type: suggestion"]
body:
- type: markdown
attributes:
value: "Before going any further, please check to see if your suggestion has already been added by checking the [wiki](https://luckperms.net/wiki/Home). The latest development builds can be obtained from https://luckperms.net/download"
- type: textarea
id: description
attributes:
label: Description
description: Please provide a short description of your suggestion in the space below.
placeholder: Hello, perhaps you should...
validations:
required: true
- type: textarea
id: proposed-behaviour
attributes:
label: Proposed Behaviour
description: Please provide a short explanation of how the feature should work / be changed, and how this will affect the project.
placeholder: It would...
validations:
required: true
- type: textarea
id: extra-info
attributes:
label: Extra Details
description: Please include any other relevant details in the space below.
placeholder: I think this should only function at the end of a rainbow.
validations:
required: false
128 changes: 128 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: Build Gradle and Publish Docker image

on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-gradle:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '25'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Run build and tests with Gradle wrapper
run: ./gradlew test build -PdockerTests

- name: Publish test report
uses: mikepenz/action-junit-report@v5
if: success() || failure()
with:
report_paths: '**/build/test-results/test/TEST-*.xml'
annotate_notice: true
detailed_summary: true

- name: Upload all artifacts
uses: actions/upload-artifact@v4
with:
name: jars
path: |
bukkit/loader/build/libs/LuckPerms-Bukkit-*.jar
bukkit-legacy/loader/build/libs/LuckPerms-Bukkit-Legacy-*.jar
bungee/loader/build/libs/LuckPerms-Bungee-*.jar
sponge/loader/build/libs/LuckPerms-Sponge-*.jar
nukkit/loader/build/libs/LuckPerms-Nukkit-*.jar
velocity/build/libs/LuckPerms-Velocity-*.jar
fabric/build/libs/LuckPerms-Fabric-*.jar
forge/loader/build/libs/LuckPerms-Forge-*.jar
standalone/loader/build/libs/LuckPerms-Standalone-*.jar

- name: Upload standalone artifact
uses: actions/upload-artifact@v4
with:
name: standalone-binary
path: standalone/loader/build/libs/LuckPerms-Standalone-*.jar


build-docker:
needs: build-gradle
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Retrieve saved standalone jar artifact
uses: actions/download-artifact@v4
with:
name: standalone-binary
path: standalone/docker/

- name: Remove version number from jar artifact name
run: mv standalone/docker/LuckPerms-Standalone-*.jar standalone/docker/luckperms-standalone.jar

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Determine the LuckPerms version
run: |
echo "luckperms_version=$(git describe --tags | awk -F "-" '{print $1 "." $2}')" >> "$GITHUB_ENV"

- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=${{ github.ref == 'refs/heads/master' }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=raw,enable=${{ github.ref == 'refs/heads/master' }},value=${{ env.luckperms_version }}

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: standalone/docker/
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
### LuckPerms Standalone ###
standalone/loader/data/

### Gradle & IntelliJ ###
.gradle/
/.idea/
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Before reporting a bug or issue, please make sure that the issue is actually bei

If you're unsure, feel free to ask using the above resources BEFORE making a report.

Bugs or issues should be reported using the [GitHub Issues tab](https://github.com/lucko/LuckPerms/issues).
Bugs or issues should be reported using the [GitHub Issues tab](https://github.com/LuckPerms/LuckPerms/issues).

### :pencil: Want to contribute code?
#### Pull Requests
Expand All @@ -23,4 +23,4 @@ The project is split up into a few separate modules.

* **API** - The public, semantically versioned API used by other plugins wishing to integrate with and retrieve data from LuckPerms. This module (for the most part) does not contain any implementation itself, and is provided by the plugin.
* **Common** - The common module contains most of the code which implements the respective LuckPerms plugins. This abstract module reduces duplicated code throughout the project.
* **Bukkit, BungeeCord, Sponge, Nukkit, Velocity & Fabric** - Each use the common module to implement plugins on the respective server platforms.
* **Bukkit, BungeeCord, Fabric, Forge, Nukkit, Sponge & Velocity** - Each use the common module to implement plugins on the respective server platforms.
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,24 @@ For more information, see the wiki article on [Why LuckPerms?](https://luckperms
LuckPerms uses Gradle to handle dependencies & building.

#### Requirements
* Java 8 JDK or newer
* Java 21 JDK or newer
* Git

#### Compiling from source
```sh
git clone https://github.com/lucko/LuckPerms.git
git clone https://github.com/LuckPerms/LuckPerms.git
cd LuckPerms/
./gradlew build
```

You can find the output jars in the `loader/build/libs` or `build/libs` directories.

## Tests
There are some automated tests which run during each build.

* Unit tests are defined in [`common/src/test`](https://github.com/LuckPerms/LuckPerms/tree/master/common/src/test)
* Integration tests are defined in [`standalone/src/test`](https://github.com/LuckPerms/LuckPerms/tree/master/standalone/src/test).

## Contributing
#### Pull Requests
If you make any changes or improvements to the plugin which you think would be beneficial to others, please consider making a pull request to merge your changes back into the upstream project. (especially if your changes are bug fixes!)
Expand All @@ -47,7 +53,7 @@ The project is split up into a few separate modules.

* **API** - The public, semantically versioned API used by other plugins wishing to integrate with and retrieve data from LuckPerms. This module (for the most part) does not contain any implementation itself, and is provided by the plugin.
* **Common** - The common module contains most of the code which implements the respective LuckPerms plugins. This abstract module reduces duplicated code throughout the project.
* **Bukkit, BungeeCord, Sponge, Fabric, Nukkit & Velocity** - Each use the common module to implement plugins on the respective server platforms.
* **Bukkit, BungeeCord, Fabric, Forge, Nukkit, Sponge & Velocity** - Each use the common module to implement plugins on the respective server platforms.

## License
LuckPerms is licensed under the permissive MIT license. Please see [`LICENSE.txt`](https://github.com/lucko/LuckPerms/blob/master/LICENSE.txt) for more info.
LuckPerms is licensed under the permissive MIT license. Please see [`LICENSE.txt`](https://github.com/LuckPerms/LuckPerms/blob/master/LICENSE.txt) for more info.
Loading