Conversation
Contributor
Author
|
pr close 20260904 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixed a NeoBot binding issue. Previously, setting it to false still resulted in a successful binding message. Now, setting two false values, like this:
"account": {
"require-binding": false,
"require-binding-message": "Please bind your QQ or Discord account before accessing the server."
"notify-bind-success": false
Also fixed a Paper 1.21.8 loading issue:
Issue: NeoBot completely failed to load on Paper 1.21.8. There were no NeoBot errors in the logs, and it disappeared from the plugin list.
Root Cause: Paper 1.21.8 added a plugin remapping step (PluginRemapper). Before loading the plugin JAR, it processes it. This step is very strict in checking for duplicate entries in the zip file; if duplicates are found, an exception is thrown, and the entire plugin loading process is aborted.
NeoBot's JAR file contained duplicate entries: To ensure compatibility with Java 8-21+, the project used the "Multi-Version JAR" (MRJAR) technique, manually placing the class files for the newer GraalJS version (Java 17+ only) into the META-INF/versions/17 directory. However, during packaging (build.gradle.kts:90-97), deduplication wasn't performed. The GraalJS dependency tree contained 12 JARs, each with its own META-INF/MANIFEST.MF file, all located in the same target path, resulting in 12 duplicate MANIFEST.MF entries. Older versions of Paper/Spigot were tolerant of this duplication and didn't report errors, but the new validation in version 1.21.8 directly refused to load them.
Solution: Added the line
exclude("META-INF/MANIFEST.MF")to the packaging configuration, preventing this overridden directory from including the individual JAR manifests. After rebuilding, the number of duplicate entries was reduced from 12 to 0, while other functions remained unaffected.