Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
70b98e9
♻️ Clean up Paper support
NoltoxGit Oct 20, 2026
e3c6036
✨ Add the Paper 26.3 NMS module
NoltoxGit Oct 20, 2026
0557595
♻️ Use the server enchantment registry
NoltoxGit Oct 20, 2026
b71fe49
♻️ Improve item lookup and translate item feedback
NoltoxGit Oct 20, 2026
894f000
🐛 Fix unresolved feedback placeholders
NoltoxGit Oct 20, 2026
713ad86
🧹 Remove unused imports
NoltoxGit Oct 20, 2026
dd2f4b5
📝 Update the changelog
NoltoxGit Oct 20, 2026
bce6a2f
🐛 Fix item handling and enchantment placeholders
NoltoxGit Oct 20, 2026
96bc281
📝 Update issue templates and changelog
NoltoxGit Oct 20, 2026
fcbf2ee
♻️ Preserve the legacy enchantment API
NoltoxGit Oct 20, 2026
12c74b0
📝 Update the changelog
NoltoxGit Oct 20, 2026
9d5d34c
🔧 Update Gradle tooling and centralize dependencies
NoltoxGit Oct 21, 2026
c649e4c
⬆️ Update Sarah and configure connection lifetime
NoltoxGit Oct 21, 2026
3c89d23
⬆️ Update SnakeYAML and adapt PlayerVaultX conversion
NoltoxGit Oct 21, 2026
613128e
⬆️ Update JDA and adapt Discord interactions
NoltoxGit Oct 21, 2026
b0966ca
⬆️ Update Jedis and fix Redis connection handling
NoltoxGit Oct 21, 2026
0a8ef8a
⬆️ Update MySQL integration and align module versions
NoltoxGit Oct 21, 2026
8df457a
⬆️ Update PlaceholderAPI and Adventure
NoltoxGit Oct 21, 2026
dd8a311
🐛 Fix click events with Adventure 5
NoltoxGit Oct 21, 2026
1bf775b
🎨 Use MiniMessage hex colors throughout
NoltoxGit Oct 21, 2026
58d28db
🎨 Fix remaining MiniMessage colors
NoltoxGit Oct 21, 2026
87727b4
♻️ Use the published zMenu API
NoltoxGit Oct 21, 2026
9b040ea
🐛 Fix kit quantities and MiniMessage formatting
NoltoxGit Oct 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 102 additions & 109 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,176 +1,169 @@
name: Bug report
description: Create a report to help us improve
description: Report a reproducible problem with zEssentials
labels: bug
assignees: Maxlego08
body:
- type: markdown
attributes:
value: |
## READ AND FOLLOW THE DESCRIPTIONS OF THIS ISSUE TEMPLATE!
Not doing so may result in your issue being closed without warning. Take your time and properly fill out everything as requested.
We advise you to put a maximum of image and video to better understand your problem.
Thanks for reporting a problem with zEssentials. Please fill out the fields below so we can reproduce it.
zEssentials requires Paper or a compatible fork on Minecraft 1.21.4 or newer, with a supported NMS module.
For setup help, use [Discord](https://discord.groupez.dev/). Report duplication bugs and exploits privately there, not in a public issue.
- type: checkboxes
id: searched
attributes:
label: Terms
label: Before reporting
options:
- label: "I'm using the very latest version of zEssentials and its dependencies (zMenu and PlaceholdersAPI)."
- label: "I am using the latest zEssentials release and compatible versions of zMenu and PlaceholderAPI."
required: true
- label: "I am sure this is a bug and it is not caused by a misconfiguration or by another plugin."
- label: "I have searched the [existing issues](https://github.com/Maxlego08/zEssentials/issues?q=is%3Aissue) and found no report of this problem."
required: true
- label: "I've looked for already existing issues on the [Issue Tracker](https://github.com/Maxlego08/zEssentials/issues) and haven't found any."
required: true
- label: "I already searched on the [plugin wiki](https://zessentials.groupez.dev/) to know if a solution is already known."
required: true
- label: "I already searched on the [discord](https://discord.groupez.dev/) to check if anyone already has a solution for this."
required: true
- label: "I tested this with just zEssentials and its dependencies and with a vanilla client of the same version as the Server."
required: true
- label: "I enabled the debug mode in config.yml and sql debug"
- label: "I have checked the [documentation](https://zessentials.groupez.dev/) for the affected feature."
required: true
- type: input
id: discord_tag
attributes:
label: Discord Username (optional)
description: So I can contact you quickly.
placeholder: ex. mydiscord123
validations:
required: false
label: Discord username (optional)
description: Your username if you would like us to contact you on Discord.
- type: dropdown
id: server_version
attributes:
label: Server Version
label: Minecraft version
description: Select the server version, not the client version. Only versions with an NMS module are listed.
options:
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
- 1.21
- 1.20.6
- 1.20.4
- "26.3"
- "26.2"
- "1.21.11"
- "1.21.10"
- "1.21.9"
- "1.21.8"
- "1.21.7"
- "1.21.6"
- "1.21.5"
- "1.21.4"
validations:
required: true
- type: textarea
id: server_software
attributes:
label: Server Software
description: "run `/version` command and paste it here"
placeholder: |
Run `/version` command and paste it here

Example:
This server is running Paper version git-Paper-130 (MC: 1.21) (Implementing API version 1.21-R0.1-SNAPSHOT)"
label: Server software and build
description: "Paste the full output of `/version`, including the server software and build number."
placeholder: "Full /version output"
validations:
required: true
- type: input
id: java_version
attributes:
label: Server Java version
description: "Use the version shown in the server startup log or hosting panel. Minecraft 26.x requires Java 25."
placeholder: "Java version used to run the server"
validations:
required: true
- type: textarea
id: plugin_version
attributes:
label: zEssentials Version
description: "Execute `/version zEssentials` and paste the output here."
placeholder: |
Run `/version zEssentials` in your server and paste the output here.
DO NOT PUT "LATEST". DOING SO WILL GET YOUR ISSUE CLOSED!

Example:
zEssentials version 1.0.0.6
label: zEssentials version
description: "Paste the full output of `/version zEssentials`. For a custom build, include the branch and commit. Do not write 'latest'."
placeholder: "Full /version zEssentials output"
validations:
required: true
- type: textarea
id: zmenu_version
attributes:
label: zMenu Version
description: "Execute `/version zMenu` and paste the output here."
placeholder: |
Run `/version zMenu` in your server and paste the output here.
DO NOT PUT "LATEST". DOING SO WILL GET YOUR ISSUE CLOSED!

Example:
zMenu version 1.0.3.4
label: zMenu version
description: "Paste the full output of `/version zMenu`. Do not write 'latest'."
placeholder: "Full /version zMenu output"
validations:
required: true
- type: textarea
id: placeholderapi_version
attributes:
label: PlaceholderAPI version
description: "Paste the full output of `/version PlaceholderAPI`. Do not write 'latest'."
placeholder: "Full /version PlaceholderAPI output"
validations:
required: true
- type: dropdown
id: storage_type
attributes:
label: Storage type
description: "Select the `storage-type` configured in zEssentials/config.yml."
options:
- "SQLITE"
- "MYSQL"
- "MARIADB"
- "HIKARICP"
- "JSON"
validations:
required: true
- type: dropdown
id: reproduction_environment
attributes:
label: Reproduction environment
description: If possible, try with only zEssentials, zMenu and PlaceholderAPI on Paper, using a vanilla client matching the server version.
options:
- "Reproduces with only zEssentials and its required dependencies"
- "Only reproduces with additional plugins, datapacks or client modifications"
- "Not tested with only the required dependencies"
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What happened?
description: A clear and concise description of what the bug is.
placeholder: "Example: The command /gamemode creative does not put me in creative"
description: Describe the actual behavior and the affected command or module.
validations:
required: true
- type: textarea
id: expected_behavior
attributes:
label: What did you expect to happen?
description: Describe the expected result.
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce the issue
description: Describe how to reproduce the issue step by step
label: Steps to reproduce
description: Include exact commands, relevant settings and item or enchantment identifiers. Mention whether the target player is online and whether the problem follows a reload or restart.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
1. Configure...
2. Run...
3. Observe...
validations:
required: true
- type: input
id: full_server_log
attributes:
label: Full Server Log
description: |-
Upload your latest.log file to [mclo.gs](https://mclo.gs) and share the generated URL here.
Sensitive info such as IPs will automatically be censored for your privacy.
label: latest.log (mclo.gs link)
description: |
Enable `enable-debug: true` in zEssentials/config.yml before reproducing; for database problems, also enable `database-configuration.debug`.
1. Open [mclo.gs](https://mclo.gs/).
2. Upload your server's `logs/latest.log` file, including startup and reproduction of the problem.
3. Save the log on mclo.gs and paste the generated link in the field below.
Review the log for sensitive information before sharing it and disable debug logging afterwards.
placeholder: "https://mclo.gs/..."
validations:
required: true
- type: textarea
id: errors
attributes:
label: Error (optional)
description: "Paste any errors you have here. Text pasted here will be formatted as code. This allows us to see the problem directly without having to search in the logs."
render: shell
placeholder: |
[16:59:59 WARN]: java.sql.SQLException: Failed to execute upsert: No operations allowed after statement closed.
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.libs.sarah.requests.UpsertRequest.execute(UpsertRequest.java:82)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.libs.sarah.SchemaBuilder.execute(SchemaBuilder.java:605)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.storage.database.Repository.upsert(Repository.java:38)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.storage.database.repositeries.UserEconomyRepository.upsert(UserEconomyRepository.java:21)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.storage.storages.SqlStorage.lambda$updateEconomy$4(SqlStorage.java:215)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.zutils.utils.StorageHelper.lambda$async$0(StorageHelper.java:31)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.libs.folialib.impl.SpigotImplementation.lambda$runAsync$1(SpigotImplementation.java:51)
[16:59:59 WARN]: at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:88)
[16:59:59 WARN]: at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
[16:59:59 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[16:59:59 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[16:59:59 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[16:59:59 WARN]: at java.base/java.lang.Thread.run(Thread.java:1583)
[16:59:59 WARN]: Caused by: java.sql.SQLException: No operations allowed after statement closed.
[16:59:59 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121)
[16:59:59 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
[16:59:59 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)
[16:59:59 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)
[16:59:59 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:65)
[16:59:59 WARN]: at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:73)
[16:59:59 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.checkBounds(ClientPreparedStatement.java:1404)
[16:59:59 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.getCoreParameterIndex(ClientPreparedStatement.java:1408)
[16:59:59 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.setObject(ClientPreparedStatement.java:1682)
[16:59:59 WARN]: at zEssentials-1.0.0.4.jar//fr.maxlego08.essentials.libs.sarah.requests.UpsertRequest.execute(UpsertRequest.java:76)
[16:59:59 WARN]: ... 12 more
[16:59:59 WARN]: Caused by: com.mysql.cj.exceptions.StatementIsClosedException: No operations allowed after statement closed.
[16:59:59 WARN]: at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
[16:59:59 WARN]: at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
[16:59:59 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
[16:59:59 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:52)
[16:59:59 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:76)
[16:59:59 WARN]: at com.mysql.cj.jdbc.StatementImpl.checkClosed(StatementImpl.java:352)
[16:59:59 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.checkBounds(ClientPreparedStatement.java:1390)
[16:59:59 WARN]: ... 15 more
label: Relevant errors (optional)
description: Paste the complete error and stack trace, if any. This does not replace the full server log.
render: text
- type: textarea
id: configuration_files
attributes:
label: Other files, you can drag and drop them here to upload. (optional)
description: "Drag and drop your files here. Be careful not to upload a file that contains passwords or url of discord webhook"
label: Relevant configuration and integrations (optional)
description: |
Paste the relevant configuration or attach the affected files. Include related plugins, datapacks and client modifications with their versions.
For custom items or enchantments, include their identifiers and the plugin or datapack providing them. Mention REDIS or proxy setups when relevant.
Remove database credentials, tokens, webhook URLs and other secrets before sharing files.
- type: textarea
id: screenshots
attributes:
label: Screenshots/Videos (you can drag and drop files or paste links)
description: "If applicable, add screenshots to help explain your problem (you can drag and drop files or paste links)."
label: Screenshots or videos (optional)
description: Attach images or a video if they help show the problem.
- type: markdown
attributes:
value: |
## Thanks for taking the time to fill out this bug report!
value: Thanks for taking the time to provide a complete bug report!
16 changes: 8 additions & 8 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report duplication bugs and exploits
- name: Report duplication bugs and exploits privately
url: https://discord.groupez.dev/
about: DO NOT REPORT DUPLICATION BUGS ON GITHUB!
- name: Discord server
about: Contact the team on Discord. Do not publish duplication bugs or exploits in a public issue.
- name: Discord support
url: https://discord.groupez.dev/
about: My personal Discord server
- name: zEssentials Documentation
about: Ask for setup help and discuss zEssentials with the community.
- name: zEssentials documentation
url: https://zessentials.groupez.dev/
about: Official wiki of zEssentials
- name: zEssentials Spigot page
about: Read the documentation for commands, modules, permissions and configuration.
- name: zEssentials SpigotMC page
url: https://www.spigotmc.org/resources/118014/
about: Official SpigotMC.org page of zEssentials
about: Download zEssentials and read the release information. Paper is required to run the plugin.
47 changes: 23 additions & 24 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,52 @@
name: Feature request
description: Suggest an idea for this project
description: Suggest an improvement to zEssentials
labels: enhancement
assignees: Maxlego08
body:
- type: markdown
attributes:
value: |
## READ AND FOLLOW THE DESCRIPTIONS OF THIS ISSUE TEMPLATE!
Not doing so may result in your issue being closed without warning. Take your time and properly fill out everything as requested.
We advise you to put a maximum of image and video to better understand your problem.
Thanks for suggesting an improvement to zEssentials. Describe the use case and how the feature would fit the plugin.
zEssentials targets Paper and compatible forks, starting at Minecraft 1.21.4. Mention any version-specific requirements.
For configuration help, use [Discord](https://discord.groupez.dev/).
- type: checkboxes
id: searched
attributes:
label: Terms
label: Before suggesting
options:
- label: "I'm using the very latest version of zEssentials and its dependencies (zMenu and PlaceholdersAPI)."
- label: "I have searched the [existing issues](https://github.com/Maxlego08/zEssentials/issues?q=is%3Aissue) and found no matching suggestion."
required: true
- label: "I already searched on this [Github page](https://github.com/Maxlego08/zEssentials/issues) to check if the same suggestion was already reported."
required: true
- label: "I already searched on the [plugin wiki](https://zessentials.groupez.dev/) to know if a solution is already known."
required: true
- label: "I already searched on the [discord](https://discord.groupez.dev/) to check if anyone already has a solution for this or if the feature was already suggested."
- label: "I have checked the [documentation](https://zessentials.groupez.dev/) and this feature is not already available."
required: true
- type: input
id: discord_tag
attributes:
label: Discord Username (optional)
description: So I can contact you quickly.
placeholder: ex. mydiscord123
label: Discord username (optional)
description: Your username if you would like us to contact you on Discord.
- type: textarea
id: use_case
attributes:
label: What problem would this solve?
description: Describe a concrete use case and who would benefit from the feature.
validations:
required: false
required: true
- type: textarea
id: description
attributes:
label: "Describe your suggestions"
placeholder: "A clear and concise description of what you want to happen."
label: Describe your suggestion
description: Explain the expected behavior, affected module or commands, and any relevant permissions or configuration. Include an example of how it would be used.
validations:
required: true
required: true
- type: textarea
id: alternatives
attributes:
label: "Describe alternatives you've considered (Optional)"
placeholder: "A clear and concise description of any alternative solutions or features you've considered. (others plugins/configurations)"
label: Alternatives considered (optional)
description: Describe any existing settings, workarounds or other plugins you have considered, and why they do not cover the use case.
- type: textarea
id: additional_context
attributes:
label: "Additional context (Optional)"
placeholder: "Add any other context or screenshots about the feature request here."
label: Additional context (optional)
description: Add screenshots, examples or links that help explain the suggestion. Include Minecraft versions or third-party plugin details if the feature depends on them.
- type: markdown
attributes:
value: |
## Thanks for taking the time to fill out this suggestion page!
value: Thanks for taking the time to describe your suggestion!
Loading
Loading