mirror of
https://github.com/AtlasMediaGroup/Scissors.git
synced 2025-07-15 13:38:35 +00:00
Compare commits
29 Commits
6f4b9b1167
...
slime/1.20
Author | SHA1 | Date | |
---|---|---|---|
9d91c55259 | |||
3ce7bbf9ca | |||
3acfa3fa80 | |||
f8898d0e1c | |||
d5b68d8f5c | |||
fb3550ad44 | |||
612fc104c3 | |||
a40d598ab1 | |||
182525b22b | |||
a5af796395 | |||
30b69bc059 | |||
9fc9c36cb3 | |||
b2bc2c2152 | |||
c39661c11a | |||
dc0a3610ec | |||
185c5ee1a6 | |||
76822727f6 | |||
511733b8d5 | |||
40a91ca05e | |||
ff6a9c5ff6 | |||
8226a3b03a | |||
d6432c162f | |||
79705ff262 | |||
d013cfde88 | |||
1bbbb18b2e | |||
8bc2c95edb | |||
cbd52d38d9 | |||
8f2be500b5 | |||
3f889f5040 |
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -13,6 +13,8 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout Git Repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'true'
|
||||
- name: Validate Gradle wrapper
|
||||
uses: gradle/wrapper-validation-action@v1
|
||||
- name: Setup Gradle
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -50,3 +50,6 @@ Scissors-Server
|
||||
Scissors-API
|
||||
|
||||
!gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
aswm-api/src
|
||||
aswm-core/src
|
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
[submodule "submodules/AdvancedSlimePaper"]
|
||||
path = submodules/AdvancedSlimePaper
|
||||
url = https://github.com/InfernalSuite/AdvancedSlimePaper.git
|
||||
branch = paper_upstream
|
8
Jenkinsfile
vendored
8
Jenkinsfile
vendored
@ -1,9 +1,15 @@
|
||||
pipeline {
|
||||
options { skipDefaultCheckout() }
|
||||
agent any
|
||||
environment {
|
||||
GITHUB_BRANCH = "${BRANCH_NAME}"
|
||||
}
|
||||
stages {
|
||||
stage('checkout') {
|
||||
steps {
|
||||
checkout scmGit(branches: [[name: '*/slime/1.20.1']], extensions: [submodule(parentCredentials: true, recursiveSubmodules: true, reference: 'https://github.com/InfernalSuite/AdvancedSlimePaper')], userRemoteConfigs: [[url: 'https://github.com/AtlasMediaGroup/Scissors']])
|
||||
}
|
||||
}
|
||||
stage('applyPatches') {
|
||||
steps {
|
||||
withGradle {
|
||||
@ -40,4 +46,4 @@ pipeline {
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
16
README.md
16
README.md
@ -1,13 +1,23 @@
|
||||
# Scissors [](https://ci.scissors.gg/job/Scissors/job/1.20.1/)
|
||||
# Scissors [](https://ci.plex.us.org/job/Scissors/job/slime%252F1.20.1/)
|
||||
|
||||
Scissors is a fork of Paper that aims to fix exploits possible in Creative Mode. Many of these exploits are ones that
|
||||
Paper's own team has either refused to fix or would have.
|
||||
|
||||
All SWM patches/SWM API belongs to [AdvancedSlimePaper and InfernalSuite](https://github.com/InfernalSuite/AdvancedSlimePaper)
|
||||
|
||||
Note: This will not compile on Windows by default. To make it compile, you need to delete the `aswm-core/src`
|
||||
and `aswm-api/src` files. Then open up Command Prompt as an administrator and run the following for the api project:
|
||||
```mklink /D C:\full\path\to\project\aswm-api\src C:\full\path\to\project\submodules\AdvancedSlimePaper\api\src```. Now,
|
||||
run the same thing again for the core
|
||||
project: ```mklink /D C:\full\path\to\project\aswm-core\src C:\full\path\to\project\submodules\AdvancedSlimePaper\core\src```
|
||||
Make sure you replace the placeholder `C:\full\path\to\project` with the actual full path to the root project on your
|
||||
local machine. You do not need to do this if you are compiling on macOS or Linux.
|
||||
|
||||
## Links
|
||||
### [Scissors Download](https://ci.plex.us.org/job/Scissors)
|
||||
### [Scissors Javadoc](https://javadoc.scissors.gg/1.20.1)
|
||||
### [Scissors Announcements](https://totalfreedom.me/forum/board/139)
|
||||
### [Scissors General Discussion](https://totalfreedom.me/forum/board/140)
|
||||
### [Scissors Announcements](https://totalfreedom.tf/forums/scissors-announcements.55)
|
||||
### [Scissors General Discussion](https://totalfreedom.tf/forums/scissors-discussion.56/)
|
||||
|
||||
## Tasks
|
||||
```
|
||||
|
17
aswm-api/build.gradle.kts
Normal file
17
aswm-api/build.gradle.kts
Normal file
@ -0,0 +1,17 @@
|
||||
plugins {
|
||||
`java-library`
|
||||
`maven-publish`
|
||||
signing
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api("com.flowpowered:flow-nbt:2.0.2")
|
||||
api("org.jetbrains:annotations:23.0.0")
|
||||
|
||||
compileOnly("io.papermc.paper:paper-api:1.20-R0.1-SNAPSHOT")
|
||||
}
|
||||
|
||||
java {
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
}
|
1
aswm-api/src
Symbolic link
1
aswm-api/src
Symbolic link
@ -0,0 +1 @@
|
||||
../submodules/AdvancedSlimePaper/api/src
|
7
aswm-core/build.gradle.kts
Normal file
7
aswm-core/build.gradle.kts
Normal file
@ -0,0 +1,7 @@
|
||||
plugins {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(project(":aswm-api"))
|
||||
implementation("com.github.luben:zstd-jni:1.5.2-2")
|
||||
}
|
1
aswm-core/src
Symbolic link
1
aswm-core/src
Symbolic link
@ -0,0 +1 @@
|
||||
../submodules/AdvancedSlimePaper/core/src
|
@ -49,6 +49,7 @@ subprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven(paperMavenPublicUrl)
|
||||
maven("https://repo.rapture.pw/repository/maven-releases/")
|
||||
}
|
||||
}
|
||||
|
||||
|
33
patches/api/0001-AdvancedSlimePaper-API-Changes.patch
Normal file
33
patches/api/0001-AdvancedSlimePaper-API-Changes.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||
Date: Mon, 26 Dec 2022 12:08:15 -0500
|
||||
Subject: [PATCH] AdvancedSlimePaper API Changes
|
||||
|
||||
AdvancedSlimePaper
|
||||
Copyright (C) 2023 InfernalSuite
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 8045f92ffdfb4164bcbef99c41359590c45f9006..51e49260927f6840c3640275ff26e7398ec72b89 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -27,6 +27,7 @@ configurations.api {
|
||||
|
||||
dependencies {
|
||||
// api dependencies are listed transitively to API consumers
|
||||
+ api(project(":aswm-api")) // ASWM
|
||||
api("com.google.guava:guava:31.1-jre")
|
||||
api("com.google.code.gson:gson:2.10")
|
||||
api("net.md-5:bungeecord-chat:$bungeeCordChatVersion-deprecated+build.14") // Paper
|
@ -6,7 +6,7 @@ Subject: [PATCH] Add MasterBlockFireEvent
|
||||
|
||||
diff --git a/src/main/java/me/totalfreedom/scissors/event/block/MasterBlockFireEvent.java b/src/main/java/me/totalfreedom/scissors/event/block/MasterBlockFireEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..a24cb52a5af62012c5d5acc29e4c3558e92ae572
|
||||
index 0000000000000000000000000000000000000000..812e6ae9f1c8eb9558e5109c522d3ce3a7deb35c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/totalfreedom/scissors/event/block/MasterBlockFireEvent.java
|
||||
@@ -0,0 +1,51 @@
|
@ -6,7 +6,7 @@ Subject: [PATCH] Add spectator teleport event
|
||||
|
||||
diff --git a/src/main/java/me/totalfreedom/scissors/event/player/SpectatorTeleportEvent.java b/src/main/java/me/totalfreedom/scissors/event/player/SpectatorTeleportEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..d7efa63c316ed99c3eccfeadc1b0873b2ccb5d8a
|
||||
index 0000000000000000000000000000000000000000..e4c9256c78f8b395aea86e9ea1a112f8e7426c1f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/totalfreedom/scissors/event/player/SpectatorTeleportEvent.java
|
||||
@@ -0,0 +1,60 @@
|
2128
patches/server/0001-AdvancedSlimePaper-Server-Changes.patch
Normal file
2128
patches/server/0001-AdvancedSlimePaper-Server-Changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -5,13 +5,13 @@ Subject: [PATCH] Build changes
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index fb98936bb8a5488db75d676c5bcb4060597fbbf8..904bf48288e0865db9bbe8d2ca183b8385f73407 100644
|
||||
index ad034c140f18518abc18244ca1f2fb853ca5897e..9a40d3d6bc3862814926e52cf61f46ee440d63fa 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
val alsoShade: Configuration by configurations.creating
|
||||
@@ -14,8 +14,12 @@ val alsoShade: Configuration by configurations.creating
|
||||
|
||||
dependencies {
|
||||
implementation(project(":aswm-core"))
|
||||
- implementation(project(":paper-api"))
|
||||
- implementation(project(":paper-mojangapi"))
|
||||
+ // Scissors start
|
||||
@ -23,7 +23,7 @@ index fb98936bb8a5488db75d676c5bcb4060597fbbf8..904bf48288e0865db9bbe8d2ca183b83
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -68,11 +72,19 @@ tasks.jar {
|
||||
@@ -69,11 +73,19 @@ tasks.jar {
|
||||
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
|
||||
val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
|
||||
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
|
||||
@ -45,7 +45,7 @@ index fb98936bb8a5488db75d676c5bcb4060597fbbf8..904bf48288e0865db9bbe8d2ca183b83
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -149,7 +161,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -150,7 +162,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@ -55,7 +55,7 @@ index fb98936bb8a5488db75d676c5bcb4060597fbbf8..904bf48288e0865db9bbe8d2ca183b83
|
||||
standardInput = System.`in`
|
||||
workingDir = rootProject.layout.projectDirectory
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
index 4b002e8b75d117b726b0de274a76d3596fce015b..a46d3f40642bbf249c2d24e689f474d07175ca09 100644
|
||||
index 4b002e8b75d117b726b0de274a76d3596fce015b..87fd35ad9c7364124286fa5e9ef1d4b7efa73990 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
@@ -593,7 +593,7 @@ public class Metrics {
|
||||
@ -72,7 +72,7 @@ index 4b002e8b75d117b726b0de274a76d3596fce015b..a46d3f40642bbf249c2d24e689f474d0
|
||||
if (implVersion != null) {
|
||||
final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
||||
- paperVersion = "git-Paper-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash);
|
||||
+ paperVersion = "git-Scissors-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Scissors
|
||||
+ paperVersion = "git-ScissorsASWM-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Scissors
|
||||
} else {
|
||||
paperVersion = "unknown";
|
||||
}
|
||||
@ -95,10 +95,10 @@ index c5d5648f4ca603ef2b1df723b58f9caf4dd3c722..21ded7c14c56a40feaa7741131be5166
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 67ee3a4ca8a6cdeb275653d492a1fea8037c51fb..318f6534cfb11f7fd05b2dcd6da4e0ca9f69f731 100644
|
||||
index e62ebbb2e69df4a79b87cac542482ca913681b02..f0eb2e518cf618dfec7af602d8a77ce4bbf4389e 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1692,7 +1692,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1695,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@ -108,7 +108,7 @@ index 67ee3a4ca8a6cdeb275653d492a1fea8037c51fb..318f6534cfb11f7fd05b2dcd6da4e0ca
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index ec4b73321205b472f19fa5bd4ad95893020d1340..45f43dc72647f2f3fa91dad767b949d851f7dd46 100644
|
||||
index 74d06790de674cbd230a0b14ac9a6b614c9f84ef..26937b8dd0411b0c96e461c57eeee6ae8595211e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -265,7 +265,7 @@ import javax.annotation.Nullable; // Paper
|
@ -31,7 +31,7 @@ index 2ee4ee14ab3345486dad6b24fd9a4fcc6c746b99..c5ac6cda91a81d3075f5c763e30dc009
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/AreaEffectCloud.java b/src/main/java/net/minecraft/world/entity/AreaEffectCloud.java
|
||||
index 8e4cb2fa787feca47dd4ba2fbb44e6193bac2431..000aa76e3f4dce8129dbd1868cfc244515997c0c 100644
|
||||
index a178f00744ad2e27c0f35d69803574e5a16ec294..a971a7efc8e2a318d596f668e35a933de90b0525 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/AreaEffectCloud.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/AreaEffectCloud.java
|
||||
@@ -408,7 +408,7 @@ public class AreaEffectCloud extends Entity implements TraceableEntity {
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix ClickEvents on Signs bypassing permissions
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
index f356196aaeb498a6d2c9ad2112329cef5a3103d6..a8d8445be1cfb67de1adcaf64847d0bfaf8c503d 100644
|
||||
index 38cde466714e5663cd416b6afd5d2558e139ec09..ed48eaae75e709361a260421934b6b925ae9b427 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
@@ -8,8 +8,10 @@ import java.util.Objects;
|
@ -29,7 +29,7 @@ index 347d2914f9560a3ee8cea59444bc0dfbb7cf3456..b6a38b1458957bd444fea439fa81d297
|
||||
this.x = x;
|
||||
this.y = z;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
index 3b12030b49b1c539684d75ca3896eb498400ef99..0d55d73bd31747ad9579aebbb77f315aa3dc2bc8 100644
|
||||
index 50713f03c783c63f93710d986d94af544be0615a..feaf252eda57739fe012b865db8c03476a5b4d1a 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
@@ -354,6 +354,11 @@ public class MapItemSavedData extends SavedData {
|
@ -5,10 +5,10 @@ Subject: [PATCH] Prevent player banning using duplicate UUIDs
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 18aac3da3c88f33b1a71a5920a8daa27e9723913..b1bfb12f10d6fec9ca905498b4a6768997867311 100644
|
||||
index 20099425babf5325005d11bf25faa783e3bc2715..cf02fc7199c893db66bebba6051bc10dbff859ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1610,7 +1610,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1628,7 +1628,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (entity != null) {
|
||||
ServerLevel.LOGGER.warn("Force-added player with duplicate UUID {}", player.getUUID().toString());
|
||||
entity.unRide();
|
@ -5,7 +5,7 @@ Subject: [PATCH] Don't warn on duplicate entity UUIDs
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java b/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java
|
||||
index 41791c7331c80d496cde4e3d1846a178bef0bbe3..d04181bda85dbaa77d3b55b04b25519496bec4ff 100644
|
||||
index ff7198a03ab0da79c98513f4a1507e854484f4c2..e7060fce4ba3583cf5be5f6503fd861a24704d6d 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java
|
||||
@@ -372,7 +372,7 @@ public final class EntityLookup implements LevelEntityGetter<Entity> {
|
@ -7,4 +7,4 @@ pluginManagement {
|
||||
|
||||
rootProject.name = "Scissors"
|
||||
|
||||
include("Scissors-API", "Scissors-Server")
|
||||
include("aswm-api", "aswm-core", "Scissors-API", "Scissors-Server")
|
||||
|
1
submodules/AdvancedSlimePaper
Submodule
1
submodules/AdvancedSlimePaper
Submodule
Submodule submodules/AdvancedSlimePaper added at 59df833a4e
Reference in New Issue
Block a user