Skip to content

Nats-ji/paper-sand-dupe-unpatched

Repository files navigation

GitHub fork star GitHub release (latest SemVer including pre-releases) GitHub (Pre-)Release Date downloads

PaperMC Sand Duplication Glitch Unpatched

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.

中文

banner

Download

Latest Version

GitHub release (latest by date including pre-releases)

Previous Versions

Version Download
1.19.3 1.19.3
1.19.2 1.19.2
1.19.1 1.19.1
1.19 1.19
1.18.2 1.18.2
1.18.1 1.18.1
1.18 1.18
1.17.1 1.17.1

What is this?

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.

How does it run?

  1. 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.

  2. Then it will check the latest release version of the unpatched PaperMC against the office PaperMC release version.

  3. 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 an output.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}"
}
  1. If there's a no new version, it will write to output.json:
{ "Update": false }
  1. Then the Github workflow can read the output.json to decide whether to make a new release.

How to run it yourself?

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" }

License

This node.js app and the released jars are all licensed under GLPv3.

About

1.20 PaperMC Sand Duping. Re-enabled the sand duplication glitch in PaperMC, a minecraft server. Check releases for download. 可以刷沙子的我的世界Paper服务端

Topics

Resources

License

Stars

Watchers

Forks