Skip to content

ScissorsMC/Scissors

Repository files navigation

Scissors

Scissors is a fork of Paper focused on patching exploits and security vulnerabilities that are unpatched upstream.

Building

Building requires Git, an internet connection for initial setup, and Java 25. Gradle can provision the Java 25 toolchain when run with Java 21 or newer.

git clone https://github.com/ScissorsMC/Scissors.git
cd Scissors
./gradlew applyAllPatches
./gradlew :scissors-server:createPaperclipJar

On Windows, enable Git long-path support before applying patches:

git config --global core.longpaths true

Then use:

.\gradlew.bat applyAllPatches
.\gradlew.bat :scissors-server:createPaperclipJar

The runnable server is written to scissors-server/build/libs/scissors-paperclip-<version>.jar. The scissors-server-<version>.jar in the same directory is a thin development JAR and does not include the runtime dependencies required to start the server.

Contributors can run ./gradlew build (or .\gradlew.bat build on Windows) to compile all modules and run the test suite. This verification task does not create the runnable Paperclip JAR.

Development

Scissors uses paperweight to store changes as Git patches over a pinned Paper commit. Applied Paper and Minecraft worktrees are generated and ignored; edits to existing upstream code must be committed or folded into the appropriate nested patch repository, then rebuilt into tracked patch files.

Read AGENTS.md before contributing. It defines the patch workflow, Git boundaries, Scissors/Paper naming boundary, and required verification. The layout is based on the paperweight fork example and follows conventions used by Folia.

About

Scissors is a fork of Paper focused on patching exploits and security vulnerabilities that are unpatched upstream.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors