Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
305 commits
Select commit Hold shift + click to select a range
4219450
Hotfix legacy serializer to include capitalized formatting code chars…
pop4959 Feb 26, 2024
6b521e7
Fix jail-online-time with offline players (#5701)
pop4959 Feb 26, 2024
622c814
Add setting to use usernames over display names for social spy (#5613)
Bobcat00 Feb 26, 2024
993d7ed
Fix shout/local chat not sending with certain formats (#5719)
Evidentsinger14 Feb 29, 2024
a4ac720
Fix format parsing in ban messages (#5722)
Evidentsinger14 Mar 4, 2024
c19b20e
Fix banner patterns not working in kits (#5723)
cati-xf Mar 4, 2024
3817a11
Convert color codes in tempban and tempbanip (#5726)
Evidentsinger14 Mar 5, 2024
570eca2
Add text box to bug report template (#5715)
Evidentsinger14 Mar 11, 2024
2cb0af0
Strict parsing for legacy converted placeholders (#5740)
pop4959 Mar 11, 2024
8cfe680
Fix empty translations being sent to Console (#5737)
pop4959 Mar 25, 2024
76a513a
Don't run keyword replacer by default in translated broadcasts (#5739)
pop4959 Mar 25, 2024
71ca7ff
Fix heal signs not healing up to the player's max health (#5752)
ImDarkLaw Mar 31, 2024
c85e179
Make ChargeException translatable (#5736)
pop4959 Apr 8, 2024
c60ed56
Fix stack trace when buying from sign when inventory full (#5761)
rymiel Apr 13, 2024
6a2527c
Fix sender not receiving helpop message (#5769)
Evidentsinger14 Apr 28, 2024
549283a
Translate Gamemode placeholder in cantGamemode message (#5771)
ImDarkLaw Apr 28, 2024
cde7184
Fix duplicated messages with /helpop (#5776)
Evidentsinger14 Apr 30, 2024
c58aae7
Update to Minecraft 1.20.6
JRoy Apr 25, 2024
1c80603
Opt-out of remapping on Paper 1.20.5+ (#5782)
jpenilla Apr 30, 2024
84d3138
Fix tests
JRoy May 12, 2024
b9b3e44
Reflect Banner API Changes
JRoy May 13, 2024
4c5a97b
Reflect Potion API Changes
JRoy May 13, 2024
bef1e57
Reflect Enchantment API Changes
JRoy May 13, 2024
d4a3f5a
Add support for 1.20.6 Mobs
JRoy May 13, 2024
5392169
Update items.json for 1.20.6
JRoy May 8, 2024
aec5859
Fix console error during /give command
JRoy May 16, 2024
e7a4167
Add support for data components
JRoy May 20, 2024
434e7a0
Update adventure (#5819)
Pantera07 Jun 2, 2024
3a6fdd9
Fix exception on 1.20.6 with Spigot (#5820)
JRoy Jun 2, 2024
29a122e
Update toolchain
JRoy Jun 13, 2024
cecc00a
Update to Minecraft 1.21
JRoy Jun 13, 2024
022b004
Add support for 1.21 Mobs
JRoy Jun 16, 2024
6624e66
Add support for 1.21 potions
JRoy Jun 16, 2024
1ea080e
Add support for 1.21 enchantments
JRoy Jun 16, 2024
64531aa
Update items.json for 1.21
JRoy Jun 22, 2024
b392f03
Use enchantment key names for 1.13+
JRoy Jun 24, 2024
9e57dd6
Fix NPE when using avatars in discord module (Fixes #5748)
JRoy Jun 29, 2024
fcf6e64
Fix legacy compatibility (Fixes #5851)
JRoy Jul 1, 2024
8971798
Fix build on new spigot versions
JRoy Jul 13, 2024
33e086f
Fix notEnoughMoney message not being translated correctly
JRoy Jul 13, 2024
80c3150
Fix trade signs not updating signs (Fixes #5814)
JRoy Jul 21, 2024
8b08a8f
Update placeholder colors for eco give (#5738)
pop4959 Jul 23, 2024
7b02d22
Fix incompatibility with AlternativeCommandsHandler & Paper API (#5881)
jpenilla Aug 1, 2024
b763fd3
Fix removing negative items in /clearinventory (#5899)
Evidentsinger14 Aug 11, 2024
7ae01a0
Update to Minecraft 1.21.1 (#5900)
RealTriassic Aug 11, 2024
f1a5caf
Fixes wording on CannotRemoveNegativeItems (#5901)
Evidentsinger14 Aug 11, 2024
b54c8c1
Parse colors from broadcast world command (#5913)
Slimified Aug 25, 2024
9dfa8cf
Fix similarWarpExist message not being translated correctly
JRoy Sep 14, 2024
3e29e04
Fix kittycannon on old versions
JRoy Sep 14, 2024
04518db
Use a click component for discord link command
JRoy Sep 14, 2024
6157668
Bump PlaceholderAPI dependency to version 2.11.6 (#5936)
mdcfe Sep 15, 2024
9c3e0eb
Add wind charge to /fireball (#5951)
JRoy Oct 15, 2024
c80bef9
Fix recipe message not being translated correctly (#5952)
JRoy Oct 15, 2024
1bede4a
Fix confirmClear & confirmPayment messages (#5957)
JRoy Oct 20, 2024
a8452b4
Update JDA (#5958)
JRoy Oct 20, 2024
cd06e73
Fix error message during warp sign creation (#5956)
JRoy Oct 21, 2024
f7a8f86
Update shadow config for Discord module (#5960)
mdcfe Oct 21, 2024
cb15b46
Update toolchain
JRoy Oct 27, 2024
4a68758
Update to 1.12.3
JRoy Oct 28, 2024
a4a0929
1.12.3 Mob Changes
JRoy Oct 28, 2024
2b209a4
1.12.3 Item Changes
JRoy Oct 29, 2024
fe6b04e
Support boat variants on older versions
JRoy Nov 9, 2024
aa2eca1
Fix compile errors from Sound no longer being an enum
JRoy Nov 9, 2024
0b49421
Fix typo in build logic
JRoy Nov 9, 2024
2ac37d8
Fix repair sign translation error (#5967)
JRoy Nov 11, 2024
a87760d
Add wildcard support for /delhome (#5919)
AdrianOliva2 Nov 24, 2024
1778bf5
Respect per player locale for command descriptions (#5972)
iiAhmedYT Nov 24, 2024
2418a6f
Improvements to Random Teleport (#4271)
pop4959 Nov 24, 2024
38e42f9
Add argument to /skull to give skull to other player (#5822)
Yurakaii Nov 25, 2024
1af1565
Discord: Add start time placeholder for start message (#5686)
RewardedIvan Nov 25, 2024
bea43e8
Fix mini message parsing in NumberUtil#displayCurrency (#5921)
Evidentsinger14 Nov 25, 2024
3203e97
Parse /pay modifiers more strictly (#5638)
AjMaacc Nov 25, 2024
f02eeec
Add method to get all linked players in DiscordLinkService (#5896)
carlodrift Nov 25, 2024
9590d4c
Add translation key for /alts output (#5595)
Evidentsinger14 Nov 25, 2024
3f0a412
Add locale based comma support for /pay (#5962)
Kyriakum Nov 25, 2024
57c9edc
Add optional requirements for balance top listing (#5394)
ayush03dev Nov 25, 2024
c7cc1b4
Fix respawn-at-anchor setting. (#5825)
gibsonpil Nov 25, 2024
2a41ea0
Add config options for specific chat type formats
Flowsqy May 5, 2023
b560bbd
Fix actions permissions on PRs for junit reports
JRoy Nov 27, 2024
d31ff55
Remove extraneous code in command preprocess event handling
Zarkreyy Nov 30, 2024
bc8aa76
Revert removal of InvalidWorldException (#5984)
JRoy Dec 3, 2024
d58db0d
Update to 1.21.4
JRoy Dec 3, 2024
c37064f
Add 1.21.4 Mobs
JRoy Dec 3, 2024
baa8258
Add 1.21.4 Tree Types
JRoy Dec 3, 2024
424816e
Add 1.21.4 Items
JRoy Dec 4, 2024
e1091d8
Added sell multipliers (#4770)
justinmtech Dec 9, 2024
f2af952
Add new "world" argument to settpr messages (#5990)
Evidentsinger14 Dec 9, 2024
5515f9f
Rework the provider system (#5087)
JRoy Jan 1, 2025
8e53214
Fix paper maven repository URL (#6002)
mbax Jan 1, 2025
667b0f7
Skip upgrading random teleport config when tpr.yml isn't initialized …
henningstorck Jan 1, 2025
803771e
Switch to pastes.dev for /ess dump (#6011)
JRoy Jan 17, 2025
fe4e388
Update adventure versions
JRoy Jan 24, 2025
22de3d8
Revert 421945070545843e031d36f78d575e4747a11513
JRoy Jan 24, 2025
b293f23
Fix adventure error when using color in local chat
JRoy Jan 24, 2025
eb6e192
New Crowdin updates (#5640)
Flask-Bot Jan 24, 2025
e2295c1
Add permission node for giving skulls to other players (#6008)
jquery-package Jan 24, 2025
62fb6a1
New Crowdin updates (#6019)
Flask-Bot Jan 28, 2025
ea3ea20
Fix flight state between world teleports (#6012)
JRoy Jan 28, 2025
42121aa
Remove deprecated teleport APIs (#6017)
JRoy Feb 2, 2025
1a4d75c
[AntiBuild] Fix ender crystal breaking on 1.8 (#6009)
JRoy Feb 2, 2025
d232ce4
Parse MiniMessage in default command usage & descriptions (#6018)
JRoy Feb 5, 2025
fb6edc0
New Crowdin updates (#6024)
Flask-Bot Feb 6, 2025
4e64782
Fix loot tables getting removed with essentials.keepinv (#6036)
JRoy Feb 9, 2025
cb00783
Add support for Paper's chat events (#6033)
JRoy Feb 14, 2025
69ed07a
Fix the wrong potion meta provider being used on 1.8.8 (#6047)
mdcfe Feb 15, 2025
196a2a1
Fix startup issue with potion providers (#6055)
JRoy Feb 19, 2025
8313d52
Add config for use of Paper chat events (#6050)
JRoy Feb 19, 2025
3025ba5
Fix NPE when chat messages are canceled
JRoy Feb 20, 2025
5a839c4
Fix modifying messages with Paper chat events
JRoy Feb 20, 2025
e3e247d
Add discord module support for Paper's chat events (#5908)
Mowstyl Feb 22, 2025
263dab5
Fix spawn command sending message before teleportation (#6025)
itsme-to Feb 22, 2025
f5efa26
Fix per-world flight permissions
JRoy Feb 23, 2025
1ff24cb
Use an identity map for Paper chat listener (#6067)
JRoy Feb 23, 2025
bad79b7
Fix /book command on 1.20+ (#6064)
JRoy Feb 23, 2025
5458241
Fix expired mails showing as unread on join (#6063)
JRoy Feb 23, 2025
fe27182
New Crowdin updates (#6037)
Flask-Bot Feb 24, 2025
ba5257c
Fix translation error in EssentialsSign#getItemStack
JRoy Feb 28, 2025
e49021f
Fix item overflow issue with kits & trade signs
JRoy Feb 28, 2025
b5748eb
Update various dependencies (#6078)
JRoy Mar 1, 2025
1531cf4
Fix exception sending a chat with discord module (#6075)
JRoy Mar 1, 2025
5bf158c
Fix negative playtime stat breaking /baltop (#6074)
JRoy Mar 1, 2025
90d766d
Add non-reflection provider for syncCommands
JRoy Mar 3, 2025
80bdc52
Fix wrong SpawnerBlockProvider on 1.21+
JRoy Mar 3, 2025
43d1e37
Fix flight ability preservation between worlds (#6079)
JRoy Mar 9, 2025
eab2201
New Crowdin updates (#6068)
Flask-Bot Mar 13, 2025
b4a97ab
chore: add issue types to new issues (#6094)
Chew Mar 19, 2025
2719a18
Release 2.21.0
JRoy Mar 13, 2025
46ba679
Prepare for 2.21.1 dev builds
JRoy Mar 13, 2025
40540eb
Expose `IUser#getLastActivityTime` to API (#6101)
maxcom1 Mar 24, 2025
cb6187b
Add option to customize nickname regex filter (#5200)
Lunna5 Mar 24, 2025
50b696b
Adds social spy message type for in EssentialsDiscord (#5620)
mrbubbles06 Mar 24, 2025
dabe687
Add SignTransactionEvent for buy and sell signs (#6071)
sumsar1812 Mar 24, 2025
0cb387f
Fix NPE when unlinking offline players (#6111)
JRoy Mar 29, 2025
f09541c
Update to Minecraft 1.21.5 (#6109)
JRoy Mar 29, 2025
c7ff994
Fire GlobalChatEvent even when local chat is disabled (#6113)
mdcfe Mar 30, 2025
f3a1b2b
Fix hex colors not working in chat (#6114)
JRoy Mar 31, 2025
06c886c
Fix /baltop on 1.15.2 and below (#6115)
JRoy Mar 31, 2025
2bb4438
Fix further trade sign validation mismatches (#6116)
JRoy Mar 31, 2025
8455212
Fix /spawnmob on < 1.21.5 (#6121)
JRoy Apr 5, 2025
be3e641
New Crowdin updates (#6089)
Flask-Bot Apr 19, 2025
3f5b122
Use legacy text for TranslatableException#getMessage (#6134)
kennytv Apr 27, 2025
fe43017
Fix "heer" typo in messages_en.properties (#6135)
luftwafflezz Apr 29, 2025
a58db23
Update English source strings with fixes from Crowdin (#6140)
mdcfe May 18, 2025
d137031
Improve config comments & ordering (#6108)
JasonHorkles May 18, 2025
3b0c229
New Crowdin updates (#6131)
Flask-Bot May 18, 2025
3fe1495
Fix unexpected behavior with essentials.home.bed & essentials.sethome…
Hunh0w May 25, 2025
aebe851
Fix double messages when deleting a non-existent home (#6150)
JRoy May 25, 2025
3a5c7c4
Revert changes to /home and /sethome that break bed interactions (#6151)
mdcfe May 25, 2025
3d28d82
Release 2.21.1
JRoy Apr 13, 2025
e836747
Prepare for 2.21.2 dev builds (#6128)
JRoy May 25, 2025
d42347f
Fix sending message during /editsign paste if SignChangeEvent is canc…
SrBedrock May 25, 2025
997f600
Update adventure dependencies (#6163)
iiAhmedYT Jun 6, 2025
f5c06b9
Fix javadoc publish (#6164)
JRoy Jun 7, 2025
4ab3bbc
[ci skip] Update setup-gradle version (#6165)
iiAhmedYT Jun 7, 2025
b44a9b2
Initial Move to Paper 1.21.6
JRoy Jun 8, 2025
4057326
Update to Minecraft 1.21.6
JRoy Jun 8, 2025
2796399
Add 1.21.6 Mobs
JRoy Jun 8, 2025
31ea903
Move tests to MockBukkit
JRoy Jun 8, 2025
ff1b8b8
Add 1.21.6 Aliases
JRoy Jun 8, 2025
25f2f76
Update paste link inside of issue template (#6182)
JRoy Jun 28, 2025
4a06fd1
Update to Minecraft 1.21.7
JRoy Jun 30, 2025
715589c
Add 1.21.7 Aliases
JRoy Jun 30, 2025
fa4c6b6
Add merge queue trigger to PR workflow (#6203)
mdcfe Jul 4, 2025
e6b8493
Fix misleading whois command description (#6187)
JRoy Jul 4, 2025
6100ced
Fix max nick length with hex color codes (#6185)
JRoy Jul 4, 2025
e3b4e77
Fix PlaceholderAPI maven repo url (#6204)
JRoy Jul 4, 2025
c43ad26
Fix chat url parsing for tlds >3 chars (#6184)
JRoy Jul 4, 2025
573aae0
Fix /skull issues on 1.20.4+ (#6188)
JRoy Jul 4, 2025
dae9e3d
Trim chat messages with shout/question prefix (#6192)
JRoy Jul 4, 2025
8d44d1a
Fix bstats error with unsupported permission plugins (#6190)
JRoy Jul 4, 2025
6ad737d
Fix various TPR issues (#6205)
JRoy Jul 5, 2025
ed3c9b8
Command + Permission Data Extraction (#6083)
JRoy Jul 5, 2025
3563b41
Fix command data task (#6207)
JRoy Jul 5, 2025
b996a9f
Fix formatCommand to handle empty args correctly (#6213)
itsme-to Jul 9, 2025
e39b614
Fix numerous antibuild bypasses with signs (#6186)
JRoy Jul 9, 2025
cc25a79
Fix player commands option not working (#6214)
JRoy Jul 10, 2025
dfd83cf
Fix /tpr on legacy versions (#6212)
JRoy Jul 12, 2025
e04f488
Fix inventory behavior with new body/saddle slot (#6218)
JRoy Jul 12, 2025
73da278
New Crowdin updates (#6143)
Flask-Bot Jul 13, 2025
9ef4fc3
Update to Minecraft 1.21.8 (#6224)
JRoy Jul 17, 2025
0417624
Fix local chat spy formatting (#6226)
JRoy Jul 20, 2025
ff7c952
Fix per-player locale for messages with arguments (#6227)
JRoy Jul 20, 2025
d002c34
Add version data extraction (#6235)
JRoy Jul 27, 2025
f4cd1c9
Discord: Fix custom bot name requiring show-avatar (#6239)
JRoy Jul 28, 2025
c01ba4e
Bump adventure dependencies (#6243)
JRoy Jul 30, 2025
16f643a
New Crowdin updates (#6225)
Flask-Bot Aug 3, 2025
eb781a1
Release 2.21.2
JRoy Jul 7, 2025
b36d433
Prepare for 2.22.0 Dev Builds (#6209)
JRoy Aug 3, 2025
74337ff
Add wind charge explosion protect config (#6183)
JRoy Aug 3, 2025
636bb09
Add tipped arrow support to /potion (#6191)
JRoy Aug 3, 2025
d402f17
Reset oxygen with /heal (#6201)
JRoy Aug 3, 2025
334c5a4
New config.yml option: `afk-timeout-command:` (#6169)
ZepsiZola Aug 3, 2025
790644b
Ignore cancelled PlayerDeathEvents (#6179)
Jsinco Aug 3, 2025
03d8938
feat: Add /powertoollist (#6096)
jstnf Aug 3, 2025
689c35f
Add bypass permission node for the whitelist. (#6232)
Mickey42302 Aug 4, 2025
8bcf03d
Discord: Add PAPI support to avatar-url (#6189)
JRoy Aug 5, 2025
025ca48
Discord: Respect game rule for advancement message type (#6195)
JRoy Aug 5, 2025
58726fb
Add option to use UUIDs over usernames in trade.log (#6252)
AdrianOliva2 Aug 6, 2025
2ccfad1
Add first login date to /seen (#6258)
AdrianOliva2 Aug 9, 2025
e0e8d44
Prevent dragging items outside of invsee (#5902)
tanyaofei Aug 10, 2025
8ba7a44
Add support for snapshots in VersionUtil (#6265)
JRoy Aug 11, 2025
5ed43f3
Do not lowercase afk timeout commands (#6255)
JRoy Aug 14, 2025
69fd7bc
Fix missing powertoollist permission (#6250)
JRoy Aug 16, 2025
302dd3f
Maintain strong reference for online users (#6247)
JRoy Aug 16, 2025
7c89592
Add setting to preserve fly on gamemode change (#6238)
JRoy Aug 16, 2025
7bc91f1
Discord: Add setting to configure an HTTP Proxy for JDA (#6275)
tearfulDalvik Aug 18, 2025
81ac6f7
Fix potion command not supporting infinite durations (#6236)
JRoy Sep 1, 2025
e9da116
Fix issue with offline player data (#6284)
Spottedleaf Sep 4, 2025
19f7e99
Add support for LuckPerms group names (#6229)
JRoy Sep 6, 2025
efbcfb3
AntiBuild: Properly handle shear interactions (#6262)
JRoy Sep 6, 2025
427f60e
Fix matching players with similar names (#6263)
JRoy Sep 6, 2025
364c879
Add @s and @p selector support (#6110)
JRoy Sep 6, 2025
e086064
Adds support for armor trims inside kits (#6155)
0ff1 Sep 6, 2025
ca07b53
Add message when discord bot is missing permissions (#6228)
JRoy Sep 7, 2025
0aa25c8
Fix issue with "Fix issue with offline player data" (#6286)
Spottedleaf Sep 8, 2025
37e1054
Switch to configuration based events on Paper (#6248)
JRoy Sep 19, 2025
973e5f8
Add support for transmute recipes in /recipe (#6302)
JRoy Sep 27, 2025
ca7f3b5
Add option to limit baltop entries (#6300)
maxcom1 Sep 29, 2025
893bae0
Change baltop entry limit wording (#6306)
JasonHorkles Sep 29, 2025
65120e9
Update to Minecraft 1.21.9 (#6299)
JRoy Sep 30, 2025
22b4975
Fixes stale cached locations after using /settpr (#6305)
Copilot Oct 3, 2025
8982aae
Fix updating join message when not needed (#6312)
JRoy Oct 3, 2025
4dabeb5
Fix GeoIP dependencies (#6314)
JRoy Oct 3, 2025
264b0ed
Improve memory resilience with Configurate (#6266)
JRoy Oct 3, 2025
321c911
Update to Minecraft 1.21.10 (#6324)
JRoy Oct 7, 2025
adf77dc
Fix exception during first time joins (#6327)
JRoy Oct 10, 2025
150dabb
Bump to JDA 6 (#6320)
JRoy Oct 17, 2025
bb47c45
Buffer reads/writes in uuid cache loading/saving (#6338)
Warriorrrr Oct 23, 2025
9985dbd
Fix double messages when running /heal on self (#6347)
1wairesd Oct 26, 2025
9f57b3e
Add config option for logging console/RCON commands (#6337)
imeesa Nov 9, 2025
87dfe37
Update to adventure 4.25.0 (#6331)
JRoy Nov 21, 2025
af44749
Add WarmUpCancelled Event & Expose TPType (#6351)
Koora7334 Nov 27, 2025
0fa6f70
Add ability to register custom item transformers. (#4871)
Golfing7 Nov 29, 2025
faa02b5
Fix event thread assignment in TeleportWarmupCancelledEvent (#6371)
SrBedrock Dec 2, 2025
b0ef568
Update to Minecraft 1.21.11 (#6364)
JRoy Dec 9, 2025
000e6c5
Mirror dumps on gist (#6193)
JRoy Dec 20, 2025
b349517
Fix Spigot 1.21.10+ ReflServerStateProvider (#6377)
Stackulate Jan 3, 2026
ac66618
Fix error when running /helpop from console (#6385)
benniofficialdev Jan 3, 2026
68c304e
Fix /balance behavior for vanished players (#6386)
benniofficialdev Jan 3, 2026
9ad754b
Use Discord name instead of tag for /msg sender (#6383)
Thedalek07 Jan 3, 2026
5ed1d1e
Fix `UtilTest` tests failing if locale is not English (#6397)
phinner Jan 11, 2026
18233d3
Fix NPE in `PermissionsHandler#getGroups(OfflinePlayer)` (#6398)
phinner Jan 11, 2026
0bd4c24
Update dump url (#6283)
JRoy Jan 17, 2026
7775662
Show expiration on temporary IP ban kick message (#6407)
ivall Jan 17, 2026
e5c9074
Fix preventing joins when server isn't actually full (#6426)
md5nake Feb 7, 2026
6ab56d2
Implement kits placing items in specific slots (#5794)
TiagoFar78 Feb 7, 2026
787f539
Prevent NPE in getPlayerLocale for offline players (#6435)
kennytv Feb 9, 2026
25685a8
Merge branch '2.x' into feat/folia/merge-2.x-changes
Warriorrrr Feb 13, 2026
00e3509
Update scheduling providers to work with new provider system
Warriorrrr Feb 13, 2026
b300213
Move economy layers initialization to after providers
Warriorrrr Feb 13, 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
  •  
  •  
  •  
16 changes: 10 additions & 6 deletions .github/ISSUE_TEMPLATE/report-a-bug.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Report bug
description: Report a bug in EssentialsX.
labels: 'bug: unconfirmed'
type: Bug
body:
- type: markdown
attributes:
Expand Down Expand Up @@ -31,8 +32,8 @@ body:
- type: input
attributes:
label: Error log (if applicable)
description: If you are reporting a console error, upload any relevant log excerpts to either https://paste.gg or https://gist.github.com, save and the paste the link in this box. If you included those files in the same paste as your startup log, paste the same link here.
placeholder: "Example: https://paste.gg/p/anonymous/109dd6a10a734a3aa430d5a351ea5210"
description: If you are reporting a console error, upload any relevant log excerpts to either https://pastes.dev or https://gist.github.com, save and the paste the link in this box. If you included those files in the same paste as your startup log, paste the same link here.
placeholder: "Example: https://pastes.dev/UYL3ASLsee"

- type: textarea
attributes:
Expand Down Expand Up @@ -70,10 +71,13 @@ body:
validations:
required: true

- type: markdown
- type: textarea
attributes:
value: |
In the text box below, you can attach any relevant screenshots, files and links to Timings/spark profiler reports.
label: Additional Information
description: |
In this box, you can attach any relevant screenshots, files and links to Timings/spark profiler reports.
You can also include a link to a heapdump if necessary, but please make sure you don't include any private player data in the heapdump.
If you suspect this issue is related to a prior issue/PR/commit, please mention it here.

validations:
required: false

1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/request-a-feature.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Request a feature
description: Suggest a feature you want to see in EssentialsX!
labels: 'type: enhancement'
type: Feature
body:
- type: markdown
attributes:
Expand Down
22 changes: 14 additions & 8 deletions .github/workflows/build-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,32 @@ jobs:

steps:
- name: Checkout Git repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17

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

- name: Build with Gradle
run: |
chmod +x gradlew
./gradlew build --stacktrace

- name: Publish JUnit report
uses: mikepenz/action-junit-report@v5
if: success() || failure() # Run even if the previous step fails
with:
report_paths: '**/build/test-results/test*/TEST-*.xml'

- name: Archive plugin jars on GitHub
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: EssentialsX plugin jars
path: jars/
Expand All @@ -61,7 +67,7 @@ jobs:
cp -r EssentialsXMPP/build/docs/javadoc/ javadocs/EssentialsXMPP/

- name: Archive Javadocs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: javadocs
path: javadocs/
Expand All @@ -74,12 +80,12 @@ jobs:

steps:
- name: Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 22

- name: Download Javadocs
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: javadocs
path: javadocs/
Expand Down
19 changes: 15 additions & 4 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ on:
- 2.x
- mc/*
- dev/*
merge_group:
types: [checks_requested]

permissions:
checks: write

jobs:
build:
Expand All @@ -18,26 +23,32 @@ jobs:

steps:
- name: Checkout Git repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17

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

- name: Build with Gradle
run: |
chmod +x gradlew
./gradlew build --stacktrace

- name: Publish JUnit report
uses: mikepenz/action-junit-report@v4
if: success() || failure() # Run even if the previous step fails
with:
report_paths: '**/build/test-results/test*/TEST-*.xml'

- name: Archive plugin jars on GitHub
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: EssentialsX plugin jars
path: jars/
105 changes: 105 additions & 0 deletions .github/workflows/mirror-dump.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Mirror EssentialsX dumps to Gist

on:
issues:
types: [opened, edited, closed]
issue_comment:
types: [created]

permissions:
issues: write
contents: read

env:
DUMP_REGEX: 'https?://essentialsx\.net/dump\?bytebin=([A-Za-z0-9_-]+)'
GIST_LINK_FMT: 'https://essentialsx.net/dump?gist='

jobs:
handle-dump:
if: github.event.action != 'closed'
runs-on: ubuntu-latest

steps:
- name: Mirror dump to a private Gist
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GIST_TOKEN }}
script: |
const issue = context.payload.issue ?? context.payload.comment.issue;
const bodySrc = context.payload.comment ? context.payload.comment.body : issue.body || '';

const regex = new RegExp(process.env.DUMP_REGEX);
const m = bodySrc.match(regex);
if (!m) {
core.info('No EssentialsX dump link found – abort.');
return;
}

const key = m[1];
const dump = await fetch(`https://api.pastes.dev/${key}`);
if (!dump.ok) throw new Error(`pastes.dev fetch failed (${dump.status})`);
const text = await dump.text();

const { data: gist } = await github.rest.gists.create({
files: { [`${key}.txt`]: { content: text } },
description: `EssentialsX dump for issue #${issue.number}`,
public: false
});

const link = `${process.env.GIST_LINK_FMT}${gist.id}`;

await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
body: `📋 Essentials Dump Backup → ${link}`
});

cleanup-gist:
if: github.event_name == 'issues' && github.event.action == 'closed'
runs-on: ubuntu-latest

steps:
- name: Delete gist and hide bot comment
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GIST_TOKEN }}
script: |
const issue = context.payload.issue;

const comments = await github.paginate(
github.rest.issues.listComments,
{ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, per_page: 100 }
);

const re = /https?:\/\/essentialsx\.net\/dump\?gist=([A-Za-z0-9]+)/;
const hit = comments.reverse().find(c => re.test(c.body || ''));

if (!hit) {
core.info('No gist link comment found – nothing to clean up.');
return;
}

const gistId = (hit.body.match(re))[1];
const commentNodeId = hit.node_id;

try {
await github.request('DELETE /gists/{gist_id}', { gist_id: gistId });
core.info(`Deleted Gist ${gistId}`);
} catch (err) {
core.warning(`Could not delete Gist ${gistId}: ${err.message}`);
}

try {
await github.graphql(
`mutation($id:ID!){
minimizeComment(input:{subjectId:$id, classifier:OUTDATED}) {
minimizedComment { id }
}
}`,
{ id: commentNodeId }
);
core.info(`Minimised comment ${hit.id} as OUTDATED`);
} catch (err) {
core.warning(`Could not minimise comment: ${err.message}`);
}
43 changes: 43 additions & 0 deletions .github/workflows/upload-plugin-data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Command and Permissions Data
on:
push:
branches:
- 2.x

jobs:
data:
name: Generate and Upload
runs-on: ubuntu-latest

steps:
- name: Checkout Git Repo
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Generate Data
run: |
chmod +x gradlew
./gradlew commandData
./gradlew versionData

- name: Upload Data
uses: ryand56/r2-upload-action@v1
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: ${{ secrets.R2_BUCKET }}
source-dir: generated
destination-dir: ./


5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,15 @@
# Build files
.gradle/
/jars/
generated/
out/
build/
target/
*.class
build-logic/.kotlin/
build-logic/bin/
bin/
test-tmp/

# Run directory
/run/
Loading