Important
PaperMC now adds an option to enable sand duplication since v1.20.4-446. You should use the official build instead. This project will pause the update until they decide to remove the dupe again.
This is a custom build of the plugin compatible and high performant Minecraft server, PaperMC. This build removes the patches that fix the end portal gravity block duplication glitch from the PaperMC. So you can duplicate sand and other gravity blocks as in vanilla Minecraft server.
It is a node.js application that runs periodically on the Github Action runner.
It will fetch the latest version of PaperMC, and undo the sand duplication glitch patches that PaperMC has implemented.
The runner will run twice a day to check if there's a new build of PaperMC. And it will rebuild the jar once the sand duping patches has been removed and make a new release on this repository.
-
The node.js app needs a
GH_REPO
environment variables (e.g.Codertocat/Hello-World
) to get the latest release version of the unpatched PaperMC.
You can use the{{ $github.repository }}
variable in Github workflow to retrieve it. -
Then it will check the latest release version of the unpatched PaperMC against the office PaperMC release version.
-
If there's a new version, it will fetch the source code from PaperMC's repo, remove the patches and build the jar. The built jar will be put in the project's root directory and renamed to
paper-sand-dupe-unpatched-${mc_version}-${build_number}.jar
Then it will write the result to anoutput.json
file in the project's root directory.
{
"Update": true,
"Version": "${mc_version}-${build_number}",
"PreRelease": false,
"FileName": "paper-sand-dupe-unpatched-${mc_version}-${build_number}",
"Body": "The app will fetch the upstream release msg and put it here.",
"Title": "PaperMC Sand Duplication Glitch Unpatched ${mc_version}-${build_number}"
}
- If there's a no new version, it will write to
output.json
:
{ "Update": false }
- Then the Github workflow can read the
output.json
to decide whether to make a new release.
Fork this repository and enable the workflows from the Actions
tab.
You can press the Run workflow
button in the Release workflow to trigger the build manually.
Create a config.json
file in the project root directory with following content to set specific version and build number to compile.
Note
Versions before 1.17 are not supported. Because PaperMC was using a different build tool, and minecraft was still based on JDK 8.
{ "version": "1.17.1", "build": "411" }
To compile the latest build in specific version:
{ "version": "1.17.1" }
This node.js app and the released jars are all licensed under GLPv3.